- Home
- API reference
- Webhooks
- Get a webhook delivery
Get a webhook delivery
Returns the event payload and each delivery attempt, including its time, HTTP status and response.
/v1/webhook-deliveries/{id}webhooks:read permission.Path parameters
Section titled “Path parameters”idstringrequiredThe id of the delivery (wdl_…).
Example: wdl_01k7q3m8x2v5t9n4b6c1d0e7fa
Prefixed with wdl_.
Response (200)
Section titled “Response (200)”dataobjectrequiredThe returned object, or an array of objects for a list.
deliveryobjectrequiredDelivery status for this event at one endpoint.
idstringrequiredThe id of the delivery (wdl_…).
Example: wdl_01k7q3m8x2v5t9n4b6c1d0e7fa
Prefixed with wdl_.
event_idstringrequiredThe event that was sent (wev_…).
Example: wev_01k7q3m8x2v5t9n4b6c1d0e7fa
Prefixed with wev_.
event_typestringrequiredEvent name in the payload, such as payment.succeeded; use it to decide which event handler should run.
Example: payment.succeeded
Possible values: payment.created, payment.succeeded, payment.failed, payment.expired, payment.settled, payment.anomaly, payment.unsettled, payment.reversed, payment.reversal_cancelled, payment.attempt.created, payment.attempt.failed, payment_link.created, payment_link.cancelled, payment_link.expired, payment_link.completed, payment_link.limit_reached, invoice.issued, invoice.paid, invoice.voided, project.created, project.updated, project.activated, project.deactivated, project.payment_methods_changed, project.live_requested, project.live_approved, project.live_revision_requested, api_key.created, api_key.rotated, api_key.revoked, webhook_endpoint.created, webhook_endpoint.updated, webhook_endpoint.deleted, webhook_endpoint.secret_rotated, webhook_endpoint.disabled, webhook.test
payment_idstring | nullrequiredRelated payment; null when the event is not about a payment.
Example: pay_01k7q3m8x2v5t9n4b6c1d0e7fa
Prefixed with pay_.
simulatedbooleanrequiredtrue for a test event or a sandbox scenario.
endpoint_idstringrequiredThe endpoint it was sent to (whk_…).
Example: whk_01k7q3m8x2v5t9n4b6c1d0e7fa
Prefixed with whk_.
statusstringrequiredpending is queued, retrying will be sent again, succeeded means the endpoint returned a 2xx response, and failed means no more retries are scheduled.
Example: succeeded
Possible values: pending, retrying, succeeded, failed
attempt_countintegerrequiredNumber of delivery attempts made so far, including the latest attempt.
Example: 1
next_attempt_atstring | nullrequiredScheduled time of the next delivery retry; null when no retry is scheduled.
Example: 2026-10-26T03:04:05.000Z
Format: date-time
last_status_codeinteger | nullrequiredThe HTTP status your server answered on the last try; null when it did not answer.
Example: 200
last_error_codestring | nullrequiredA short code for why the last try failed; null when it did not.
Example: string
delivered_atstring | nullrequiredWhen the endpoint first accepted the event; null until a delivery succeeds.
Example: 2026-10-26T03:04:05.000Z
Format: date-time
created_atstringrequiredWhen this object was created (RFC 3339, UTC). Use it to sort objects by creation time.
Example: 2026-10-26T03:04:05.000Z
Format: date-time
payloadobjectrequiredWhat was sent: the event, as one JSON object.
Values: object
attemptsarray of objectrequiredEach HTTP delivery attempt to this endpoint, ordered from oldest to newest.
attempt_nointegerrequired1 for the first try.
Example: 1
attempted_atstringrequiredWhen the try was made (RFC 3339, UTC).
Example: 2026-10-26T03:04:05.000Z
Format: date-time
status_codeinteger | nullrequiredThe HTTP status your server answered; null when it did not.
Example: 200
duration_msintegerrequiredHow long the call took, in milliseconds.
Example: 143
response_snippetstring | nullrequiredThe start of what your server answered; null when there was no answer.
Example: string
error_codestring | nullrequiredA short code for why the try failed; null when it worked.
Example: string
metaobjectrequiredRequest details such as its id and pagination cursor.
request_idstringrequiredThe id of this request. Quote it when you ask support about it.
Example: req_Hy3k9QzT2LmN8vXa
A failed request answers with the common error shape; see Errors.
curl "https://api.baiyar.com/v1/webhook-deliveries/{id}" \ -H "Authorization: Bearer $BAIYAR_KEY"{ "data": { "delivery": { "id": "wdl_01k7q3m8x2v5t9n4b6c1d0e7fa", "event_id": "wev_01k7q3m8x2v5t9n4b6c1d0e7fa", "event_type": "payment.succeeded", "payment_id": "pay_01k7q3m8x2v5t9n4b6c1d0e7fa", "simulated": false, "endpoint_id": "whk_01k7q3m8x2v5t9n4b6c1d0e7fa", "status": "succeeded", "attempt_count": 1, "next_attempt_at": "2026-10-26T03:04:05.000Z", "last_status_code": 200, "last_error_code": "string", "delivered_at": "2026-10-26T03:04:05.000Z", "created_at": "2026-10-26T03:04:05.000Z" }, "payload": {}, "attempts": [ { "attempt_no": 1, "attempted_at": "2026-10-26T03:04:05.000Z", "status_code": 200, "duration_ms": 143, "response_snippet": "string", "error_code": "string" } ] }, "meta": { "request_id": "req_Hy3k9QzT2LmN8vXa" }}