List webhook subscriptions
List the organisation's webhook subscriptions, most recently updated first.
List the organisation's webhook subscriptions, most recently updated first.
Both agent-scoped subscriptions and the organisation-wide default are
returned; scope on each row says which it is.
Three things worth knowing:
agent_iddistinguishes absent from empty. Omitting it lists everything.?agent_id=abclists that agent's own subscriptions.?agent_id=lists the organisation-wide default only, because an empty value addresses the org-wide slot everywhere in this API.event_typefilters on the RESOLVED list, so a subscription created without an explicitevent_typesmatches?event_type=all_processing_completed.- At most 500 subscriptions are visible.
The store caps its listing there and pages are cut from that window, so
totalis capped at 500 as well. No organisation is expected to approach it; if yours does, scope your subscriptions per agent rather than per URL.
An organisation with no subscriptions and a subscription store that is momentarily unreadable both answer with an empty page — the store reports them identically.
Errors: 400, 401, 403, 422, 429, 503.
Rate limit: 1000 requests per minute per organization (bucket default). Exceeding it returns 429 with Retry-After; the X-RateLimit-* response headers report your remaining allowance on every call.
v2/webhooksAuthorization
AuthorizationRequiredBearer <token>
Your Graine API key. Create one in the dashboard under Developers, or via POST /v2/api-keys. Send it as Authorization: Bearer <key>.
In: header
Query Parameters
agent_idAgent Id
Omit for every subscription in the organisation. Pass an agent id for that agent's own subscriptions. Pass an EMPTY value (?agent_id=) for the organisation-wide default only.
enabledEnabled
Filter by enabled state.
event_typeEvent Type
Only subscriptions that receive this event. Valid event types: all_processing_completed, call_completed, call_corrected, call_ringing, call_started, client_analysis_completed, platform_analysis_completed, recording_completed. Omitting event_types, or sending an empty list, resolves to all_processing_completed — there is no value that means "every event".
organization_idOrganization Id
Must match the organisation the API key belongs to.
pagePage
1-indexed page number (max 10000 — narrow the window instead)
1Minimum: 1Maximum: 10000page_sizePage Size
Items per page (max 100)
20Minimum: 1Maximum: 100Response Body
200
A page of subscriptions, org-wide default first.
dataRequiredData
This page of subscriptions.
paginationRequiredPagination
Where this page sits in the result set.
400
1000 — malformed input the schema could not reject: an unknown event type, a method other than POST/PUT, a reserved header name, or a callback_url pointing at a private, loopback or metadata address.
errorRequiredError
Stable integer code from the /v2 error table. Branch on this.
messageRequiredMessage
One human-readable sentence. Wording may change; the code will not.
401
1100 — missing, unknown or inactive API key. 1101 — a browser session token was presented instead of a gat_ key.
errorRequiredError
Stable integer code from the /v2 error table. Branch on this.
messageRequiredMessage
One human-readable sentence. Wording may change; the code will not.
403
1102 — the key is valid but lacks the scope this endpoint requires, or names another organisation. GET /v2/scopes reports which scopes the key holds.
errorRequiredError
Stable integer code from the /v2 error table. Branch on this.
messageRequiredMessage
One human-readable sentence. Wording may change; the code will not.
422
1001 — the body or query failed validation; the message names the first offending field.
errorRequiredinteger
Stable integer code from the error table. Branch on this, not on the message.
messageRequiredstring
One human-readable sentence. Wording may change; the code will not.
429
1300 — per-organisation rate limit exceeded. Carries Retry-After.
errorRequiredError
Stable integer code from the /v2 error table. Branch on this.
messageRequiredMessage
One human-readable sentence. Wording may change; the code will not.
503
1501 — the webhook subscription store is unreachable.
errorRequiredError
Stable integer code from the /v2 error table. Branch on this.
messageRequiredMessage
One human-readable sentence. Wording may change; the code will not.
504
1502 — an upstream did not respond in time.
errorRequiredError
Stable integer code from the /v2 error table. Branch on this.
messageRequiredMessage
One human-readable sentence. Wording may change; the code will not.
A page of subscriptions, org-wide default first.

