ClarifyAPI
Meeting Recordings

Stream a live transcript

Opens a server-sent events stream of the meeting transcript while it is being captured, limited to 60 opens per minute per workspace. The stream sends a start frame, one utterance frame per spoken turn carrying a resume id, a heartbeat comment every 20 seconds, an end frame with a reason when capture stops, then a final __stream_complete event. Resume after a disconnect by passing the last id as the after query param with its producerId, or omit producerId to follow the live notetaker bot, else the newest live session, else the earliest session.

GET
/workspaces/{workspace}/meetings/{meetingId}/live-transcript/stream
Authorization<token>

API key authentication. Send your key in the Authorization header as: api-key <your-api-key>.

In: header

Path Parameters

workspace*string

The workspace slug — the {slug} segment of your Clarify workspace URL.

meetingId*string

The unique ID of the meeting.

Query Parameters

after?string

Resume the stream after this entry id, replaying only later entries. The id is the id: line of an utterance frame, in the form <milliseconds>-<sequence>.

Match^\d{1,13}-\d{1,10}$
producerId?string

Producer id to stream. Defaults to the preferred producer when omitted.

Length1 <= length <= 128

Response Body

text/event-stream

curl -X GET "https://example.com/workspaces/string/meetings/string/live-transcript/stream"
event: startdata: {"type":"start","producerId":"a3f1c2d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d","source":"recall_bot"}id: 1769965212400-0event: utterancedata: {"type":"utterance","id":"1769965212400-0","utterance":{"meetingId":"6c8e0a2b-4d5f-4a7b-9c1d-3e5f7a9b1c2d","producerId":"a3f1c2d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d","source":"recall_bot","utteranceKey":"[\"6c8e0a2b-4d5f-4a7b-9c1d-3e5f7a9b1c2d:b7d2e4f6-1a3c-4d5e-9f0a-2b4c6d8e0f13\",\"Jane Doe\",12.4]","speakerLabel":"Jane Doe","text":"Let us start with the Acme renewal numbers.","startOffsetSeconds":12.4,"endOffsetSeconds":15.1,"language":"en","receivedAt":1769965212400,"isFinal":true}}: heartbeatevent: enddata: {"type":"end","reason":"recording_ended","meetingEnded":true}event: __stream_completedata: {}