List a call's recordings

Returns pre-signed links to the recordings of one of your calls, each valid until its url_expires_at. A recording appears once the call was recorded, by a connect answer with record set, a startRecording instruction or the recordings command, and the call.recording_ready webhook has been sent; until then, and for a call that was never recorded, the list is empty. A call recorded more than once lists every recording, oldest first, each under the recording_id its call.recording_ready webhook carried.

GET
/v3/voice/calls/{id}/recordings

Path Parameters

id*string

The call id from the route, as carried by call webhooks and the calls list, for example call_9f2ab000-0000-4000-8000-000000000001

Header Parameters

x-profile-id?string

Profile UUID to scope the request to a child profile. Only organization API keys can use this header. The profile must belong to the calling organization.

Formatuuid

Response Body

The call's recordings, each with a link

application/json
  1. response

Standard API response envelope for all v3 endpoints

success?boolean

Indicates whether the request was successful

data?|null

The response data (null if error)

error?|null

Error details (null if successful)

meta?

Metadata about the request and response

Example Request
curl -X GET 'https://api.sent.dm/v3/voice/calls/call_9f2ab000-0000-4000-8000-000000000001/recordings'
Example Response
{  "success": true,  "data": {    "recordings": [      {        "recording_id": "7c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f",        "download_url": "https://recordings.example.com/9f2ab000-0000-4000-8000-000000000001/7c1d2e3f4a5b4c6d8e9f0a1b2c3d4e5f.mp3?X-Amz-Expires=3600&X-Amz-Signature=...",        "url_expires_at": "2026-07-22T13:00:00+00:00"      }    ]  },  "error": null,  "meta": {    "request_id": "req_7X9zKp2jDw",    "timestamp": "2026-11-12T15:32:26.460747+00:00",    "version": "v3"  }}