curl https://api.60db.ai/agents/calls/CALL_ID/transcript \
-H "Authorization: Bearer your-api-key"
const { turns } = await client.agents.calls.transcript(callId);
turns = client.agents.calls.transcript(call_id)["turns"]
Agents
Get Transcript
Turn-by-turn transcript of a call
GET
/
agents
/
calls
/
{callId}
/
transcript
curl https://api.60db.ai/agents/calls/CALL_ID/transcript \
-H "Authorization: Bearer your-api-key"
const { turns } = await client.agents.calls.transcript(callId);
turns = client.agents.calls.transcript(call_id)["turns"]
Get the transcript of a call, turn by turn. The transcript is stored when the recording is ready. If it is not stored yet, 60db fetches it once from the call runtime.
Request
Headers
string
required
Bearer token with your API key (scope
agents)Path
string
required
The call
id (UUID)Response
200 OK{
"success": true,
"data": {
"call_id": "6b1f0c52-4d7e-4b8a-9d3e-2a1c8e7f0a11",
"version": 1,
"turns": [
{ "speaker": "agent", "text": "Hello, Juniper Kitchen. How can I help?", "at_ms": 0 },
{ "speaker": "caller", "text": "Do you have a table for four at seven-thirty?", "at_ms": 3150 },
{ "speaker": "agent", "text": "Let me check that for you.", "at_ms": 6020 }
]
}
}
| Field | Meaning |
|---|---|
turns[].speaker | caller, agent or note |
turns[].text | What was said |
turns[].at_ms | Milliseconds from the start of the call |
version | Transcript format version. Present when the runtime sends it |
Errors
| Status | Code | Meaning |
|---|---|---|
| 404 | CALL_NOT_FOUND | No call with this ID in your workspace |
| 404 | TRANSCRIPT_NOT_FOUND | The call has no transcript, or its recording and transcript were deleted |
Example
curl https://api.60db.ai/agents/calls/CALL_ID/transcript \
-H "Authorization: Bearer your-api-key"
const { turns } = await client.agents.calls.transcript(callId);
turns = client.agents.calls.transcript(call_id)["turns"]