Events and webhooks
Webhooks tools for assistants (MCP)
The 3 tools an assistant can call for Webhooks over MCP: what each one does, the scopes it needs, its arguments and an example call.
Endpoints that receive the account's events, signed with a secret you can rotate. Create and change endpoints, send a test event, list deliveries and retry a failed one, recover an endpoint that was switched off after failures, and read delivery health across the account. Use it when your own service should act on what happens in the account. An assistant calls these tools over MCP; the same operations over HTTP are in the Webhooks API. Tools for assistants lists every product, and MCP shows how to connect an assistant.
events_list_endpoints
List endpoints. Calls iohr.events.v1.EventsService/ListEndpoints.
Scopes: mcp:read, webhooks:read · reads only
| Argument | Type | What it is |
|---|---|---|
account_id | string | The account; empty is the caller's own. |
page_size | integer | At most 200 (larger is coerced down); 0 means 50. |
page_token | string | From the previous answer's next_page_token; "" for the first page. A token from another account's list is INVALID_ARGUMENT. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "events_list_endpoints",
"arguments": {
"page_size": 20
}
}
}events_get_endpoint
Get endpoint. One endpoint.
Scopes: mcp:read, webhooks:read · reads only
| Argument | Type | What it is |
|---|---|---|
endpoint_id | string |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "events_get_endpoint",
"arguments": {
"endpoint_id": "01JD8Z3QK4W5X6Y7Z8A9B0C1D2"
}
}
}events_get_delivery_stats
Get delivery stats. Send a delivery again now, whatever its state; the event id stays the same. How the account's webhook deliveries went over the last 24 hours, 7 or 30 days, for every endpoint or one: finished deliveries per hour (24 h) or UTC day, succeeded and failed, the endpoint's answer time (p50, p95), the failures grouped by error and HTTP status, and counts per event type.
Scopes: mcp:read, webhooks:read · reads only
| Argument | Type | What it is |
|---|---|---|
account_id | string | The account; empty is the caller's own. |
endpoint_id | string | One endpoint of the account; empty for all of them. |
range | string | "24h", "7d" (the default) or "30d". |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "events_get_delivery_stats",
"arguments": {
"endpoint_id": "01JD8Z3QK4W5X6Y7Z8A9B0C1D2"
}
}
}