> ## Documentation Index
> Fetch the complete documentation index at: https://docs.60db.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Transcript

> Turn-by-turn transcript of a call

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

**Authorization** `string` *required*

Bearer token with your API key (scope `agents`)

### Path

**callId** `string` *required*

The call `id` (UUID)

## Response

**200 OK**

```json theme={null}
{
  "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

```bash cURL theme={null}
curl https://api.60db.ai/agents/calls/CALL_ID/transcript \
  -H "Authorization: Bearer your-api-key"
```

```javascript JavaScript theme={null}
const { turns } = await client.agents.calls.transcript(callId);
```

```python Python theme={null}
turns = client.agents.calls.transcript(call_id)["turns"]
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.