call.supervision.mode_changed
Fires when a supervisor on a live call switches between listen, whisper and barge through the API.
call.supervision.mode_changed fires when the supervisor switches between listen, whisper and barge. Modes change only through the API (or setMode() in @sautikit/webrtc, which goes through your server); the supervisor's keypad cannot change them. A request for the mode the supervisor is already in does not fire it.
This event is subscribable as a workspace webhook: add call.supervision.mode_changed 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": "whisper",
"supervisor": {
"type": "client",
"identity": "mary",
"label": "Mary Wanjiku"
},
"occurred_at": "2026-09-30T09:15:04Z",
"from": "listen",
"to": "whisper",
"source": "api"
}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 |
|---|---|---|
mode | string | The new mode, same as to. |
from | string | The previous mode: listen, whisper or barge. |
to | string | The new mode: listen, whisper or barge. |
source | string | Always api. |
| Header | Description |
|---|---|
X-Sautikit-Event-Id | UUID of the event. Use it to deduplicate. |
X-Sautikit-Event-Kind | call.supervision.mode_changed |
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. |