Retrieve a Recording

View as Markdown
Retrieve a single recording media or its metadata. This endpoint supports two different access methods with different authentication requirements: ## Public Access (No Authentication Required) Recording audio files can be accessed directly without authentication. This is useful for external applications to embed recording URLs without exposing SignalWire API credentials. SignalWire recording URLs are long and random, making them difficult to guess or exploit unless you reveal the URL. **Retrieve WAV file** When a recording URI has no extension or a `.wav` extension, the request will return a binary WAV version of the recording file. `GET https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Recordings/{Sid}` `GET https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Recordings/{Sid}.wav` **Retrieve MP3 file** Setting an extension of ".mp3" on the URI returns a binary MP3 version of the recording. For example: `GET https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Recordings/{Sid}.mp3` ## Authenticated Access (Voice Scope Required) **Retrieve Metadata** A recording's metadata, such as duration, cost, time, can be returned by setting the Recording URI's extension to `.json`. This requires authentication with a Voice-scoped API token. `GET https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Recordings/{Sid}.json` #### Permissions The API token used to authenticate must have the following scopes enabled to make a successful request: _Voice_. This permission is only required for authenticated requests to retrieve recording metadata (.json extension). [Learn more about API scopes](/docs/platform/your-signalwire-api-space).

Authentication

AuthorizationBasic
SignalWire Basic Authentication using Project ID and API Token. The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password. Example: ``` Authorization: Basic base64(project_id:token) ```

Path parameters

AccountSidstringRequiredformat: "uuid"
The unique identifier for the account that is associated with this recording.
SidstringRequiredformat: "uuid"
The unique identifier for the recording.

Response

The request has succeeded.
sidstringformat: "uuid"
The unique identifier for the recording.
account_sidstringformat: "uuid"
The unique identifier for the account that is associated with this recording.
api_versionstring
The version of the SignalWire API.
call_sidstring or nullformat: "uuid"
The unique identifier for the call that is associated with this recording. Null if this is a conference recording.
conference_sidstring or nullformat: "uuid"
The unique identifier for the conference that is associated with this recording. Null if this is a call recording.
channelenum

The number of channels in a recording (singular key). Returns ‘1’ for mono or ‘2’ for stereo.

Allowed values:
channelsenum
The number of channels in a recording. Returns '1' for mono or '2' for stereo.
Allowed values:
date_createdstring
The date, in RFC 2822 format, this recording was created.
date_updatedstring
The date, in RFC 2822 format, this recording was updated.
start_timestring or null
The time, in RFC 2822 format, this recording started.
end_timestring or null
The time, in RFC 2822 format, this recording ended.
durationinteger>=0
The length, in seconds, of the recording.
pricestring or null
The cost for the recording.
price_unitstring
The currency of the price of the recording.
sourceenum
How the recording was made.
statusenum
The status of the recording.
error_codestring or null
Further details about a failed recording.
uristring
The URI of the recording.
subresource_urisobject
Subresource URIs.
encryption_detailsstring or null
Encryption details. Always null.
trimstring
Whether leading and trailing silence is trimmed from a recording.

Errors