Stream live events
What’s happening on a browser or realtime call, as it happens, over Server-Sent Events.
This response doesn’t finish on its own. It stays open and sends each event as it occurs: agent.state (listening, processing, speaking), transcript.turn for every completed turn, flow.node.entered and flow.variables.extracted for a node-based agent, and finally call.ended, after which the stream closes.
Every event has an id. To resume after a drop, send it back as after (or as the Last-Event-ID header) and the stream carries on after that event. Events are kept for an hour after the call ends, so opening a finished call replays it and closes. A reader already past call.ended gets 204.
Your API key works here, from your backend. A browser should open the events_url that creating the call returned, which carries its own token, so your key never reaches the page. A phone call answers 400 unsupported_channel.
Authorizations
Your workspace secret key, sk_live_ followed by 32 hex characters. Create one in the console under Developers.
Headers
Path Parameters
The call's id (call_…), from the 202 that created it.
Query Parameters
Start after this event id.
Response
The stream, through to call.ended