Skip to content

Get a call recording

GET
/api/v2/nova/calls/{id}/recording
curl --request GET \
--url https://api.sipstack.com/api/v2/nova/calls/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/recording \
--header 'x-api-key: <x-api-key>'

Returns a short-lived presigned URL (1 hour) to download the recording of a Nova call, plus its duration and recorded-at timestamp. Requires calls:read. Strictly org-scoped — the id is a Nova call id (UUID). 404 when the call isn’t your organization’s, or when no recording was captured for it.

id
required
string format: uuid

The Nova call id (UUID) from GET /api/v2/nova/calls.

A presigned recording URL with metadata.

Media type application/json
object
success
boolean
data

A presigned URL to download a call recording, with its metadata.

object
url

Short-lived presigned download URL for the recording audio.

string format: uri
expiresIn

Seconds until the URL expires.

integer
durationSeconds

Recording length in seconds, when known.

integer
nullable
recordedAt
string format: date-time
nullable
Example
{
"data": {
"expiresIn": 3600
}
}

Missing or invalid API key.

Media type application/json

Inline error shape used by the messaging API and management endpoints.

object
success
boolean
error
string
Example
{
"success": false,
"error": "Recipient phone number (to) is required"
}

The key is missing the calls:read scope, or the Nova API tier is not on your plan.

Media type application/json

Inline error shape used by the messaging API and management endpoints.

object
success
boolean
error
string
Example
{
"success": false,
"error": "Recipient phone number (to) is required"
}

Call not found in your organization, or no recording exists for it.

Media type application/json

Inline error shape used by the messaging API and management endpoints.

object
success
boolean
error
string
Example
{
"success": false,
"error": "Recipient phone number (to) is required"
}