Get a recording's transcript

Returns one recording's transcript, whole: what was said, turn by turn, with its speaker table. For a call with several recordings, GET …/transcript returns them all.

Use it:

  1. Read the recording's transcript summary on the record; fetch when its state is done.
  2. Send format=text for plain text (see format); the default is JSON.
  3. Cache by ETag: send it back as If-None-Match, and a transcript you already hold answers 304.

Response: { data }. A transcript that is not done comes with its state, no speakers and no turns.

Notes:

  • The text form is sent only when the transcript is done; otherwise the answer is JSON, so check Content-Type.
  • The ETag (weak) is present once the transcript is done; in JSON it equals the recording's transcript.etag on the record.
  • Needs access to the call's content (403 content_forbidden otherwise).
  • HEAD answers the same status and headers with no body.

Logged: each GET that hands over a done transcript is recorded in the call's access log as transcript_read, unless the reader was a participant on the call (an API key never is). A 304 and a HEAD are never recorded.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
uuid
required

The call record's id (a record's id).

uuid
required

The recording's id: the id of one of the record's recordings.

Query Params
string
enum
Defaults to json

json (the default): { data }. text: plain text, one [m:ss] Speaker: text line per turn ([h:mm:ss] from an hour on, [?] when a turn's time is not known), times from the start of the recording. A speaker is written as its extension (Extension 101), an AI agent by name, the outside party by name or number (else Caller or Called party), else Agent or Speaker 1. Sent only when at least one transcript exists and every transcript that exists is done; otherwise the answer is JSON. Given once.

Allowed:
uuid

The one account to read, by its id (account.id). Only a caller that may choose the account (EMAK support) sends it, and must; everyone else reads the account they belong to. Absent for a caller that must name it: 400 parameter_missing. Empty or not an account id: 400 parameter_invalid. Given twice: 400 parameter_invalid for any caller. Sent by a caller that reads its own account: 403 forbidden. An account that does not exist or is disabled: 404 reference_not_found. Each names account_id in param. The account is named this way only: a request that sends the legacy account header X-Tenant-Domain-Uuid is refused (400 parameter_unknown).

Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/plain
*/*