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.
Listing stops at 500 and pages are cut from those, 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 empty page can also mean your subscriptions could not be read at that moment, so retry before concluding you have none.
Errors: 400, 401, 403, 422, 429, 503.
Rate limit: 2000 requests per minute per organization, counted together with every endpoint that has no stricter limit of its own. 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_declined, call_expired, call_missed, 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 — webhook subscriptions are temporarily unavailable; retry.
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 — a service this endpoint depends on 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.

