API Reference
Dialer

Stream campaign events

GET
/v1/dialer/campaigns/{id}/events

Opens a text/event-stream (SSE) connection that pushes the campaign's events as they happen. Every frame has an event: line and carries its kind inside the JSON as well: data: is {"kind": "...", "event": "...", "data": {...}} where data is the payload. Kinds: dialer.call.started, dialer.call.answered, dialer.call.waiting (also contact_name, phone, step), dialer.call.connected, dialer.call.handed_to_ai, dialer.call.abandoned, dialer.call.completed, dialer.callback.scheduled, dialer.campaign.paused, dialer.campaign.completed, dialer.campaign.ratio_changed, dialer.budget.warning (the webhook payloads), dialer.session.state (id, extension_id, user_name, state, since), dialer.session.removed (id), dialer.stats (in_flight, answer_rate, ratio, abandon_rate_pct; at most every 5 seconds) and dialer.access_removed (the last frame: the supervisor lost the role). Frames that come from an event carry id: (the event id; drop repeats). The stream ends after 30 minutes and is re-authorised while open, so reconnect and reload .../live. Delivery is best effort: events during a disconnect are not replayed. Needs dialer.supervise.

Authorization

bearerAuth
AuthorizationBearer <token>

Long-lived ES256 JWT minted from the dashboard (https://app.sautikit.com/developers/api-keys). Signed by the platform keyring. Carries workspace_id and scopes claims; revoked via the platform deny-list.

In: header

Path Parameters

id*string
Formatuuid

Response Body

text/event-stream

application/json

application/json

application/json

curl -X GET "https://example.com/v1/dialer/campaigns/497f6eca-6276-4993-bfeb-53cbbbba6f08/events"
"string"
{  "error": {    "code": "validation.bad_request",    "message": "string",    "request_id": "string",    "details": [      "string"    ],    "resolution": "string",    "reason": "invalid_characters",    "suggested_e164": "+254727524723"  }}
{  "error": {    "code": "validation.bad_request",    "message": "string",    "request_id": "string",    "details": [      "string"    ],    "resolution": "string",    "reason": "invalid_characters",    "suggested_e164": "+254727524723"  }}
{  "error": {    "code": "validation.bad_request",    "message": "string",    "request_id": "string",    "details": [      "string"    ],    "resolution": "string",    "reason": "invalid_characters",    "suggested_e164": "+254727524723"  }}