Resources
Get a delivery
Read one delivery with the event it carried and the start of your endpoint's reply.
GET /api/webhooks/deliveries/{deliveryId}Requires webhooks:read.
| Name | Type | Required | Description |
|---|---|---|---|
workspace | string | Yes | Workspace slug or id. |
curl "https://app.kalpana.one/api/webhooks/deliveries/0192f8a4-7d2e-7a10-8c3b-5e1f2a9d4b22?workspace=acme" \
--header "x-api-key: $KALPANA_API_KEY"Response
{
"id": "0192f8a4-7d2e-7a10-8c3b-5e1f2a9d4b22",
"endpointId": "0192f8a4-6c1e-7c3a-9b0e-4d2f1a7e5c11",
"status": "succeeded",
"attempts": 1,
"responseStatus": 200,
"responseBodyExcerpt": "ok",
"error": null,
"durationMs": 342,
"isRedelivery": false,
"createdAt": "2026-10-20T09:41:07.512Z",
"lastAttemptAt": "2026-10-20T09:41:07.901Z",
"completedAt": "2026-10-20T09:41:07.901Z",
"event": {
"id": "0192f8a4-5b0d-7f21-9a4c-3c2e1b8d7a33",
"type": "batch.completed",
"createdAt": "2026-10-20T09:41:07.500Z",
"data": {
"batch": { "id": "0192f8a4-6c1e-7c3a-9b0e-4d2f1a7e5c11", "name": "Diwali sale" },
"counts": { "total": 480, "succeeded": 477, "failed": 3, "cancelled": 0 }
}
}
}| Field | Description |
|---|---|
id, endpointId | The delivery and the endpoint it went to. |
status | pending, retrying, succeeded, failed or skipped. |
attempts | How many times it was sent. |
responseStatus, responseBodyExcerpt | Your endpoint's status code and the first 1 KB of its reply. null when there was no reply. |
error | Why the delivery failed or was skipped. |
durationMs | How long the last attempt took. |
isRedelivery | true for a delivery made by Resend a delivery. |
createdAt, lastAttemptAt, completedAt | Timestamps. |
event | The event it carried: id, type, createdAt and data, the event's fields as described in Receiving webhooks. |
Errors
| Status | Cause |
|---|---|
400 | deliveryId is not a UUID. |
403 | Your role or key lacks webhooks:read. |
404 | The delivery is not in this workspace, or it is older than the log keeps. |
Was this page helpful?
Updated 4 Nov 2026