Webhook Endpoints
Manage your webhook endpoint registrations. Create endpoints, configure which events they receive, rotate signing secrets, and inspect delivery history.
💡
Base path
Webhook endpoints are scoped to an app:
/apps/:appId/webhooks. The SDK handles this automatically using the appId from your client configuration.Create a webhook endpoint
POST
/apps/:appId/webhooksRequest body
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes | HTTPS URL to receive events |
events | string[] | Yes | Events to subscribe to (min 1) |
⚠️
Save the secret
The webhook signing secret is only returned once, when the endpoint is first created. Store it securely. You'll need it to verify webhook signatures.
List webhook endpoints
GET
/apps/:appId/webhooksUpdate a webhook endpoint
PUT
/apps/:appId/webhooks/:webhookId| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | No | Updated endpoint URL |
events | string[] | No | Updated event list |
active | boolean | No | Enable/disable endpoint |
Delete a webhook endpoint
DELETE
/apps/:appId/webhooks/:webhookIdPermanently deletes a webhook endpoint. Returns 204 No Content.
Rotate signing secret
POST
/apps/:appId/webhooks/:webhookId/rotate-secretGenerates a new signing secret for the endpoint. The old secret is immediately invalidated.
Send a test ping
POST
/apps/:appId/webhooks/:webhookId/test-pingSends a test event to the endpoint to verify connectivity.
List deliveries
GET
/apps/:appId/webhooks/:webhookId/deliveriesRetrieves the delivery history for a webhook endpoint (cursor-based pagination).
Query parameters
| Parameter | Type | Description |
|---|---|---|
status | string | Filter by delivery status |
cursor | string | Cursor for pagination |
limit | number | Number of results to return |
Response object
All responses are wrapped in { "success": true, "data": ... }. Delete returns 204 No Content.
WebhookEndpoint fields
idstringUnique webhook endpoint UUIDurlstringHTTPS URL that receives eventseventsstring[]Subscribed event typesactivebooleanWhether the endpoint is enabledcreatedAtstringISO 8601 creation timestamp (create and list only)updatedAtstringISO 8601 last-update timestamp (list and update only)secretstringWebhook signing secret (only returned on create)⚠️
Field availability varies by endpoint
Create returns
id, url, events, active, createdAt, and secret. List returns the same except secret and adds updatedAt. Update returns id, url, events, active, updatedAt (no createdAt or secret). Rotate secret returns only { "secret": "whsec_..." }.Test ping response
Delivery history
Deliveries use cursor-based pagination: