POST requests. A webhook subscription is the record that says which URL receives which events and which secret signs them. You use these endpoints to create subscriptions, change their events or URL, pause them and delete them. For the delivery payloads and a verification example, see the Webhooks guide.
The webhook subscription object
The response includes
secret, so keep subscription responses out of logs and client-side code.
Endpoints
Events
When you omit
events or send an empty array, the subscription receives message.received, message.delivered and message.failed. An event reaches a subscription only when the subscription is active and its events list contains that exact name.
Create a subscription
cURL
201 Created
url is required; a missing or empty url returns 400 with url is required. New subscriptions are active immediately.
Update, pause and delete
- Partial updates.
PUT /webhooks/{id}changes only the fields you send. A field you send replaces the current value, andeventsreplaces the whole list. - Pause. Send
{"active": false}to stop deliveries and keep the subscription. Send{"active": true}to resume. - Rotate the secret. Send a new
secretand update your verifier at the same time; deliveries are signed with the new value from that point. - Read back.
PUTandDELETEreturn200with{"status":"ok"}. CallGET /webhooks/{id}to see the updated subscription. - Empty list.
GET /webhooksreturns a bare JSON array, andnullwhen you have no subscriptions. Treatnullas an empty list.
Delivery headers
Every delivery is aPOST with a JSON body of the form {"event", "timestamp", "data"} and these headers.
Return a
2xx status quickly. Any other response is treated as a failure, and the event is redelivered until your endpoint accepts it.
Related
Webhooks guide
Payloads, signature verification and handler examples in Node and Python.
WebSocket
Live events for dashboards and consoles.
Broadcasts
Track bulk sends with
broadcast.updated.Conversations
Thread inbound replies from
message.received.