Sign in
Start free7-day free trial
API RESOURCE

Webhooks

Subscribe to events, verify signed deliveries and diagnose failed attempts without exposing participant answers in webhook payloads.

Read the implementation guide
GET

List webhook endpoints

/v1/webhooks

Every webhook endpoint in the organization, oldest first, each with the outcome of its most recent delivery. Signing secrets are never returned here. only endpoint creation and secret rotation ever show one.

POST

Create a webhook endpoint

/v1/webhooks

Creates a webhook endpoint and returns its signing secret. the only time the secret is ever shown in full. At most 10 active endpoints are allowed per organization.

GET

List available webhook events

/v1/webhooks/events

The full catalog of events an endpoint can subscribe to, with a one-line description of each. the same list the dashboard's "Add endpoint" dialog reads. Never includes "ping", which a test send delivers but no endpoint can subscribe to.

PATCH

Update a webhook endpoint

/v1/webhooks/{id}

Updates an endpoint's URL, subscribed events, or active flag. Omitted fields are left alone, and events is replaced wholesale rather than merged. Setting active: false pauses delivery without losing the endpoint's secret or its history.

DELETE

Delete a webhook endpoint

/v1/webhooks/{id}

Deletes an endpoint and its whole delivery history. Anything still queued for it stops. To pause an endpoint while keeping its history, PATCH it with active: false instead.

POST

Rotate a webhook signing secret

/v1/webhooks/{id}/rotate-secret

Replaces the endpoint's signing secret and returns the new one. the only time it is ever shown in full. The old secret stops verifying immediately.

GET

List webhook delivery attempts

/v1/webhooks/{id}/deliveries

This endpoint's delivery history, newest first: one row per delivery with its status, how many attempts it has taken, the last response code seen, and when the next attempt is due. nextAttemptAt is null once a delivery is completed or failed. a terminal delivery has no next attempt. Page with cursor.

POST

Replay a webhook delivery

/v1/webhooks/deliveries/{deliveryId}/replay

Replays a past delivery as a brand-new one against the same endpoint, event, and payload data. its own id and a fresh attempt history.

POST

Send a webhook test ping

/v1/webhooks/{id}/test

Sends a synthetic "ping" delivery to this endpoint, regardless of its subscribed events, so a caller can confirm the endpoint is reachable and its signature verifies. Limited to 10 calls per minute per key.

Before you connect

Use the scopes shown on each endpoint. Read the response schema and common errors, and keep mutations separate from diagnostic read requests.

AuthenticationError handlingOpenAPI contract