List all webhook deliveries
/webhooks/deliveriesReturns webhook deliveries across all webhook endpoints accessible with the current credentials, paginated by cursor. The collection can be filtered by webhook endpoint, status, event type, and creation time. Deliveries are retained for at least 60 days after they are created, together with their attempts. A delivery that has not reached a final status (pending or in_progress) is never removed.
Credential: the API credential secret, sent as a bearer token. Credential secrets are identified by a fixed prefix.
In: header
Query Parameters
Maximum number of items to return, from 1 to 200.
1 <= value <= 200Cursor for the next page, taken from page.next_cursor of the previous response.
Sort order. A leading - sorts in descending order.
Value in
- "created_at"
- "-created_at"
Only deliveries to the webhook endpoint with this public ID.
Only deliveries with this status.
Value in
- "pending"
- "in_progress"
- "delivered"
- "failed"
- "dead"
- "canceled"
Only deliveries of events of this type.
Only items created after this date and time (ISO 8601).
date-timeOnly items created before this date and time (ISO 8601).
date-timeHeader Parameters
Optional client-generated identifier of the request, up to 64 characters from [A-Za-z0-9._-]. Echoed back in the response and recorded in the request log; it never replaces the server-generated X-Request-Id.
length <= 64Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/webhooks/deliveries"{ "data": [ { "attempts_count": 0, "created_at": "2019-08-24T14:15:22Z", "deadline_at": "2019-08-24T14:15:22Z", "delivered_at": "2019-08-24T14:15:22Z", "event_id": "string", "id": "string", "last_attempt": { "duration_ms": 0, "finished_at": "2019-08-24T14:15:22Z", "http_status": 0, "id": "string", "next_attempt_at": "2019-08-24T14:15:22Z", "number": 0, "object": "webhook_delivery_attempt", "origin": "automatic", "response_excerpt": "string", "started_at": "2019-08-24T14:15:22Z", "transport_error": "string" }, "next_attempt_at": "2019-08-24T14:15:22Z", "object": "webhook_delivery", "payload_detail": "ids", "status": "pending", "url": "string", "webhook_id": "string" } ], "page": { "limit": 1, "next_cursor": "string", "prev_cursor": "string" }}Create a webhook endpoint POST
Creates a webhook endpoint that receives events for the subscribed event types. The destination URL must use HTTPS and point to a public host on port 443, 80, or 8443. Private IP addresses and other non-public destinations are rejected before the endpoint is created, in sandbox accounts too. The response includes the signing secret. It is returned only once and cannot be retrieved again. Setting `payload_detail` to `full` requires the personal data permissions described in that field. Without them, the request fails with `403` and the error code `personal_data_permission_required`, and the endpoint is not created.
Retrieve a webhook endpoint GET
Retrieves a webhook endpoint, including its current `revision` and a `health` summary for the last 24 hours. The signing secret is never included. The response includes an `ETag` representing the current revision. Send this value in the `If-Match` header when updating the endpoint to avoid overwriting a newer version.