API Reference
Calls

Live Server-Sent Events stream of a call's lifecycle

GET
/v1/calls/{id}/stream

Opens a text/event-stream (SSE) connection that pushes call lifecycle transitions (ringing, answered, completed, failed, …) as they happen. Intended for the in-app dialer's live call view.

Past lifecycle events are also embedded inline on the Call resource (Call.events) — this endpoint is only for the live tail; there is no separate read endpoint for historical events.

The connection stays open until the call reaches a terminal state or the client disconnects.

The two id forms behave slightly differently by design. A session id (HD_…) attaches immediately — the browser dialer knows it before the call row exists, and subscribing early is the point, so no existence check is made; the channel is always scoped to the calling workspace, so an unknown session id simply yields a stream that never emits. A call UUID is looked up, and 404s when this workspace owns no such call. A call whose PBX session has not landed yet holds the request open for a few seconds rather than failing, since origination returns the UUID before the box calls back.

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

The call's Sautikit UUID, or the PBX session id the same call carries on the wire (HD_…, returned as session_id on POST /v1/calls and on every webhook). Either form addresses the same call.

Response Body

text/event-stream

application/json

application/json

curl -X GET "https://example.com/v1/calls/string/stream"
"string"
{  "error": {    "code": "validation.bad_request",    "message": "string",    "request_id": "string",    "details": [      "string"    ]  }}
{  "error": {    "code": "validation.bad_request",    "message": "string",    "request_id": "string",    "details": [      "string"    ]  }}