Webhook endpoints
Retrieve a delivery
A delivery with every attempt (attempt_log).
GET
/v1/webhook_deliveries/{id}scope webhooks:readPath parameters
idstringrequiredDelivery ID (
wdl_…).
Headers
ZyloPay-VersionstringPin the request to an API version (2026-09-28). Defaults to the version the API key was created with.
Returns
HTTP 200 with the webhook delivery object.
Errors
| Status | Meaning |
|---|---|
400 | Invalid request (invalid_request_error / idempotency_error). |
401 | Missing, invalid, expired or revoked API key (authentication_error). |
403 | The key lacks the scope, the IP is not allowed, or the account is disabled (permission_error). |
429 | Rate limit reached for this key (rate_limit_error); see Retry-After. |
500 | Internal error (api_error). Retry with the same Idempotency-Key. |
Branch on error.code. Every code is listed in error codes.
Example request
curl https://zylopay-api.fly.dev/api/v1/webhook_deliveries/wdl_8Tq3Zm1Xk6Pv9Rw2Lb4Ns7Hd \
-H "Authorization: Bearer $ZYLOPAY_SECRET_KEY"Example response
{
"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}"
}
]
}