SSE for Live Transcripts
Real-time streaming of user speech (STT) and agent speech (TTS) events for an active call via Server-Sent Events.
Endpoint
GET /api/v1/events?callId={callId}
Query Parameters
Errors
Event Types (Transcript-related)
All events are sent as data: <JSON>\n\n. The three transcript-relevant event types are:
1. user_interim_transcription
Fired as the user is speaking. Contains partial, in-progress transcription text. These events are emitted frequently and may change as more audio is processed.
2. user_transcription
Fired when the user finishes a speech segment. Contains the final transcription for that turn.
3. tts_completed
Fired when the agent finishes speaking a TTS segment. Contains the text that was spoken and optionally the TTS latency.
Lifecycle Events
sse_init
Sent immediately when the SSE connection is established.
sse_close
Sent when the call ends, right before the server closes the connection.
Usage Examples
cURL
JavaScript (Browser)
Node.js
Python
Notes
- The connection is real-time — events stream directly from the call runtime as they are produced.
- Interim transcriptions are partial and will be superseded by the final
user_transcriptionevent. Use them for live preview UI only. - The SSE connection auto-closes when the call ends (
sse_closeevent). The server will also terminate the connection. - Only active calls can be subscribed to. Completed calls return a 400 error.
- Other event types (e.g.
call_start,call_end,turn_latency, metrics) are also sent on this stream but are not covered in this doc.

