GET /v1/webhook-endpoints/:endpointId/deliveries
Recent deliveries for an endpoint, newest first. Use for debugging and monitoring.
GET
/v1/webhook-endpoints/{endpointId}/deliveriesPhase 1stable
- Auth
- X-Api-Key
Returns up to limit recent delivery attempts for this endpoint with attempt count, current status, last HTTP response, and error message. Payloads are omitted from the list response — call replay to receive the payload at your endpoint again.
Use this to:
- See why an endpoint auto-paused (inspect
lastErrorMessage/lastResponseStatusacross recent rows). - Verify a delivery your handler doesn't have a record of.
- Observe the retry ladder in action (a single
eventIdwith multiple rows is a replay chain; a single row withattempts > 1is the automatic retry).
Path
endpointIdstring (UUID)required
Query
eventTypestringoptionalFilter to one event type.statusstringoptionalOne of `pending`, `delivering`, `delivered`, `failed`, `abandoned`.cursorstringoptionalOpaque cursor from previous response.limitintegeroptionalDefault 25, max 100.
Example
curl "https://api.layers.com/v1/webhook-endpoints/d4c71b62-.../deliveries?status=failed&limit=10" \
-H "X-Api-Key: $LAYERS_API_KEY"200OK
{
"items": [
{
"id": "9b8a41e2-0cc6-4c7a-9f89-1a7d19a1c233",
"endpointId": "d4c71b62-7f08-4dc9-9d2c-8f7e2b9c4411",
"eventId": "evt_01KPM7QZEC6NJF4XJTCZRR6S3N",
"eventType": "job.completed",
"status": "failed",
"attempts": 8,
"nextRetryAt": "2026-04-21T18:28:00.000Z",
"deliveredAt": null,
"abandonedAt": "2026-04-21T18:28:00.000Z",
"lastResponseStatus": 502,
"lastResponseAt": "2026-04-21T18:28:00.000Z",
"lastErrorMessage": null,
"createdAt": "2026-04-20T18:28:00.000Z"
}
],
"nextCursor": null
}Errors
| Status | Code | When |
|---|---|---|
| 404 | NOT_FOUND | Endpoint not owned by the calling org. |