Get a call transcript

Returns every transcript of a call, whole: one per recording, in call order, each turn by turn with its speaker table.

Use it:

  1. Read the record's transcript summary; 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: [...] }, [] when the call has no recording. A transcript that is not done comes with its state, no speakers and no turns. In text, --- recording 2 of 3 --- precedes each recording after the first.

Notes:

  • The text form is sent only when the call has transcripts and every one is done; otherwise the answer is JSON, so check Content-Type.
  • The ETag (weak) is present once at least one transcript exists and every one that exists is done; in JSON it equals the record's transcript.etag.
  • 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).

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
*/*