Kalpana Docs
Resources

Read the delivery log

Page through an endpoint's recent deliveries, newest first.

GET /api/webhooks/{id}/deliveries

Requires webhooks:read.

NameTypeRequiredDescription
workspacestringYesWorkspace slug or id.
statusstringNopending, retrying, succeeded, failed or skipped.
beforestringNoAn ISO 8601 date and time with an offset, such as the last item's createdAt, for the next page.
curl "https://app.kalpana.one/api/webhooks/0192f8a4-6c1e-7c3a-9b0e-4d2f1a7e5c11/deliveries?workspace=acme&status=failed" \
  --header "x-api-key: $KALPANA_API_KEY"

Response

{
  "items": [
    {
      "id": "0192f8a4-7d2e-7a10-8c3b-5e1f2a9d4b22",
      "eventId": "0192f8a4-6c1e-7c3a-9b0e-4d2f1a7e5c11",
      "eventType": "batch.completed",
      "status": "failed",
      "attempts": 3,
      "responseStatus": 500,
      "error": "The endpoint answered 500",
      "durationMs": 812,
      "isRedelivery": false,
      "createdAt": "2026-10-20T09:41:07.512Z",
      "lastAttemptAt": "2026-10-20T09:43:52.004Z",
      "completedAt": "2026-10-20T09:43:52.004Z"
    }
  ],
  "hasMore": false
}

Items are newest first, 50 per page. When hasMore is true, send the last item's createdAt as before for the next page. skipped means the event was not sent, for example because the endpoint was turned off; error says why. Read one delivery in full with Get a delivery.

An id that is not one of the workspace's endpoints returns an empty items list.

Succeeded deliveries are kept for 7 days and the rest for 30 days. After that a delivery can no longer be read or resent.

Errors

StatusCause
400id is not a UUID, status is not one of the values above, or before is not a date and time with an offset.
403Your role or key lacks webhooks:read.
Was this page helpful?

Updated 4 Nov 2026

On this page