call.supervision.failed
Fires when a supervision request never connects: the supervisor is unreachable, the call is gone, or the leg could not be placed.
call.supervision.failed fires when the supervisor leg never connected. Nothing is billed. A supervisor who is rung but does not answer is not a failure: that ends with call.supervision.ended and reason: "no_answer".
This event is subscribable as a workspace webhook: add call.supervision.failed to the events of a subscription created with Create a webhook. Supervision events are subscribed by name; there is no call.supervision.* wildcard. Delivery is at least once, so deduplicate on the X-Sautikit-Event-Id header.
The body is flat. The event kind travels in the X-Sautikit-Event-Kind header.
{
"workspace_id": "01900000-0000-7000-8000-000000000002",
"call_id": "9d2b1f53-8c0e-4f1d-9a6b-5d3a8c47e9f0",
"session_id": "HD_24d73b4518bc",
"supervision_id": "0f6d3c1e-5a8b-4c2d-9e7f-1a2b3c4d5e6f",
"mode": "listen",
"supervisor": {
"type": "client",
"identity": "mary",
"label": "Mary Wanjiku"
},
"occurred_at": "2026-09-30T09:15:04Z",
"code": "target_unreachable",
"message": "client mary is not registered"
}Every supervision event carries workspace_id, call_id (the supervised call's UUID), session_id (its HD_ session id), supervision_id, mode, supervisor (type, then identity for client and sip or number for phone, and label when you set one) and occurred_at.
| Field | Type | Description |
|---|---|---|
code | string | Why it failed. See below. |
message | string | A human-readable explanation, for your logs. |
code is one of:
target_unreachable: the supervisor's browser or SIP device is not registered, or could not be reached.session_gone: the call ended before the supervisor leg could join it.originate_failed: the supervisor leg could not be placed.| Header | Description |
|---|---|
X-Sautikit-Event-Id | UUID of the event. Use it to deduplicate. |
X-Sautikit-Event-Kind | call.supervision.failed |
X-Sautikit-Delivery-Id | UUID of this delivery. |
X-Sautikit-Attempt | Attempt number, starting at 1. |
X-Sautikit-Timestamp | Unix time the delivery was signed. |
X-Sautikit-Signature | t=<timestamp>,v1=<hex HMAC-SHA256>. See Verify webhook signatures. |