API reference · Calls
Get a call's recording
A link to the recording of a call you placed, valid for 5 minutes.
A recording is a person's voice: the calls:recordings scope is off by default. Grant it on the key under Settings, API keys.
Every fetch is written to the audit log (api.call_recording_fetched) with the key that fetched it.
Request
curl -X GET "https://icebot.icebergaisolutions.com/api/v1/calls/c3a1f0e2-7b64-4d9a-8e21-5f0c9d8b7a66/recording" \
-H "Authorization: Bearer $ICEBOT_API_KEY"Parameters
| Name | In | Type | Description |
|---|---|---|---|
id (required) | path | uuid | The id returned by POST /api/v1/calls. |
Responses
200
A signed link to the MP3. Download it within expires_in seconds.
{
"data": {
"id": "c3a1f0e2-7b64-4d9a-8e21-5f0c9d8b7a66",
"url": "https://…/recordings/voice/…/call.mp3?token=…",
"expires_in": 300
}
}Errors
Every endpoint can also return 401 (missing, unknown or revoked key), 403 (origin not allowed, or the key lacks calls:recordings) and 429 (rate limited). See Errors.
| Status | error | When |
|---|---|---|
404 | no_recording | The call was not recorded, recording failed, or it is past its 30-day retention. |
404 | not found | The call is not this key's agent's. |
409 | recording_pending | The call is still going or its recording is still being stored. Try again shortly. |
Source of truth: /api/v1/calls/{id}/recording in apps/dashboard/app/api/v1/calls/[id]/recording/route.ts.