Skip to main content
Everything you can do under Settings → Integrations → Webhooks is available here, for API keys and for OAuth apps. Payloads, headers and retries are described in the webhooks guide.

Scopes

A request that subscribes to an event whose read scope the credential lacks gets 403 insufficient_scope with required_scopes naming what is missing.

Endpoints

Create a webhook

Send an Idempotency-Key header to make retries of the create call safe; a replay returns the webhook without the secret. Limits: 5 webhooks per workspace for an app in development, 100 once the app is approved; 500 per workspace in total. Creation is rate limited per app and per workspace.

Change a webhook

Setting is_active to true on a webhook that was switched off after a failure streak clears consecutive_failures and last_error. Changing form_id re-checks the current events against the new filter.

The delivery log

Query parameters: page, per_page (max 100), event (one catalog event), status (success or failed). Payload data is not kept in the log; event_id and object_id let you look the record up.

The webhook object

The secret is only returned by POST. Store it; it is what you verify signatures with.