(event, destination) pair —
if three endpoints are subscribed to call.completed and the call also
has an inline webhook_url, one event creates four deliveries.
Fields
| Field | Type | Description |
|---|---|---|
id | uuid | Delivery id. Sent in the CallingBox-Event-Id header; use as an idempotency key. |
org_id | uuid | |
endpoint_id | uuid | null | The endpoint this delivery targets. null means this is an inline delivery from a call’s webhook_url. |
call_id | uuid | null | The call that triggered the event. null is reserved for future non-call events. |
event_type | string | One of the event types. |
url | string | The destination URL, snapshotted at enqueue time. |
status | pending | delivered | exhausted | Current lifecycle state. |
attempt_count | integer | Number of automatic attempts so far. |
manual_retry_count | integer | Times you’ve called /redeliver. |
next_attempt_at | timestamp | When the worker will pick this up next. |
last_error | string | null | Short error description from the most recent failure. |
last_response_status | integer | null | HTTP status code from the most recent attempt. |
delivered_at | timestamp | null | First successful delivery. |
created_at | timestamp | |
updated_at | timestamp |
Status transitions
exhausted deliveries can be sent back to pending with
POST /v1/webhook_deliveries/{id}/redeliver — the event id is preserved
so downstream idempotency checks still dedupe.