ZyloPaydocs
Webhook endpoints

The webhook delivery object

One event sent to one endpoint, with its attempts.

One event sent to one endpoint, with its attempts. Deliveries are kept with the endpoint’s log.

Endpoints

Attributes

idstring

Unique identifier (wdl_…).

objectstring
livemodeboolean
endpointstring
eventstring
event_typestring | null
statusstring

One of: pending, succeeded, failed

pending: waiting for the next attempt. failed: gave up after 3 days (or a single manual attempt failed).

attemptsinteger
manualboolean

A resend or test event (one attempt, not retried).

next_attempt_atstring (date-time) | null

Next automatic attempt (pending only).

last_attempt_atstring (date-time) | null

Last attempt.

last_status_codeinteger | null
last_errorstring | null
createdstring (date-time)

Creation time (the event's fan-out).

completed_atstring (date-time) | null

When it succeeded or was given up.

attempt_logarray of objects

Every attempt (retrieve only).

Attributes of attempt_log
attemptinteger
started_atstring (date-time)

When the request was sent.

duration_msinteger
status_codeinteger | null
errorstring | null
response_bodystring | null

First 1 KB of your endpoint's response.

Example

{
  "id": "wdl_8Tq3Zm1Xk6Pv9Rw2Lb4Ns7Hd",
  "object": "webhook_delivery",
  "livemode": false,
  "endpoint": "we_2Lk9Qm4Xz7Pv1Rt8Wb3Ns6Hd",
  "event": "evt_7Hq2Zp9LwK4mXr8Vb3Ns1Td5",
  "event_type": "payment.succeeded",
  "status": "succeeded",
  "attempts": 1,
  "manual": false,
  "next_attempt_at": null,
  "last_attempt_at": "2026-09-28T14:02:41.000Z",
  "last_status_code": 200,
  "last_error": null,
  "created": "2026-09-28T14:02:40.000Z",
  "completed_at": "2026-09-28T14:02:41.000Z",
  "attempt_log": [
    {
      "attempt": 1,
      "started_at": "2026-09-28T14:02:41.000Z",
      "duration_ms": 182,
      "status_code": 200,
      "error": null,
      "response_body": "{\"received\":true}"
    }
  ]
}

On this page