Skip to navigation

Get a presigned recording download URL

View as Markdown

Returns a presigned S3 URL for the call’s recording. Hand the URL straight to the customer or pull bytes server-side. The presigned URL is time-limited to 15 minutes; do not cache or embed it, request a fresh one each time you need the recording.

Use channel=mono (default) for the composite recording (agent + caller mixed). Use channel=dual for a stereo recording (agent on one channel, caller on the other), which is available only when the call was captured with per-side audio. ?channel=dual returns 404 when the dual URL is missing; retry with ?channel=mono in that case.

Errors:

  • 400 Invalid call ID format if callId does not match the expected pattern.
  • 400 Invalid channel. Expected 'mono' or 'dual' if channel is anything else.
  • 401 Unauthorized if no API key or dashboard cookie is present.
  • 404 Call log not found if the call is missing or belongs to another organization. (The literal Call not found string is only returned when the call itself is missing entirely; the util maps both to the same 404.)
  • 404 Dual-channel recording not found if channel=dual was requested and only a mono capture exists.

Authentication

AuthorizationBearer

API key from the console ApiKey collection, sent as Bearer token. Also accepts session cookies for browser-based auth.

Path parameters

callIdstringRequiredformat: "^CALL-\d{13}-[a-fA-F0-9]{6}$"

The callId string for the conversation (e.g. CALL-1778226705739-7e4c17). This is the callId field returned by GET /conversation.

Query parameters

channelenumOptionalDefaults to mono

Which channel to fetch. mono (default) returns the composite recording; dual returns the stereo recording when available.

Allowed values:

Response

Presigned URL ready to fetch.
statusbooleanOptional
dataobjectOptional

Errors

400
Bad Request Error
401
Unauthorized Error
404
Not Found Error
500
Internal Server Error