Delivery log
/v1/webhooks/{id}/deliveriesSecret key — sk_… or sk_test_… · Base URL https://api.volanea.com
Deliveries for one endpoint, newest first, cursor-paginated.
Path parameters
idstringrequiredEndpoint id.
Query parameters
cursorstringPagination cursor — an OPAQUE token. Take the `nextCursor` from the previous page and send it back unchanged. Do not parse it, do not coerce it to a number, and do not construct one: the format is `<unixMs>.<objectId>` today and may change. A cursor that cannot be parsed is rejected with 422 `validation_error` rather than silently restarting at page one.
limitintegerPage size (1–100, default 30).
statusstringpendingsuccessfailed
Response
A page of deliveries.
dataobject[]requiredwebhookDeliveryIdstringrequiredendpointIdstringrequiredprojectIdstringeventNamestringrequiredpayloadobjectrequiredstatusenumrequiredpendingsuccessfailedattemptsintegerrequiredresponseStatusinteger | nullresponseBodystring | nullTruncated to 1 KB.
nextRetryAtstring | nulldeliveredAtstring | nullcreatedAtdate-timerequired
nextCursorstring | nullrequiredOpaque token. Pass back as `cursor` verbatim to fetch the next page; `null` when there are no more rows.
Errors
Every failure returns the standard envelope — branch on `code`, never on the wording of `error`.
401Missing or invalid API key.404Not found.422Request validation failed (code `validation_error`, 422).
Request
curl https://api.volanea.com/v1/webhooks/id_123/deliveries?cursor=value&limit=30 \
-H "Authorization: Bearer sk_..."Response
200 · application/json
{
"success": true,
"data": {
"data": [
{
"webhookDeliveryId": "<webhookDeliveryId>",
"endpointId": "<endpointId>",
"projectId": "<projectId>",
"eventName": "<eventName>",
"payload": {},
"status": "pending",
"attempts": 1,
"responseStatus": 1,
"responseBody": "<responseBody>",
"nextRetryAt": "2026-01-01T09:00:00.000Z",
"deliveredAt": "2026-01-01T09:00:00.000Z",
"createdAt": "2026-01-01T09:00:00.000Z"
}
],
"nextCursor": "<nextCursor>"
}
}92 endpoints · OpenAPI document