For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Log inSign up
Support
cXMLREST API
cXMLREST API
  • Core
    • Overview
    • Authorization
    • Error codes
    • Paging
    • REST client SDKs
  • Compatibility REST API
      • POSTCreate a Recording
      • POSTUpdate a Recording
      • GETList all Recordings
      • GETRetrieve a Recording
      • DELDelete a Recording.
LogoLogoSignalWire Docs
Log inSign up
Support
Compatibility REST APIRecordings

Retrieve a Recording

|View as Markdown|Open in Claude|
GET
https://your_space.signalwire.com/api/laml/2010-04-01/Accounts/:AccountSid/Recordings/:Sid
GET
/api/laml/2010-04-01/Accounts/:AccountSid/Recordings/:Sid
$curl https://your_space.signalwire.com/api/laml/2010-04-01/Accounts/AccountSid/Recordings/Sid \
> -u "<project_id>:<api_token>"
1{
2 "sid": "19e436af-5688-4307-b03b-bdb2b42b8142",
3 "account_sid": "720796a0-8ee9-4350-83bd-2d07a3121f1e",
4 "api_version": "2010-04-01",
5 "call_sid": "43bb71ee-553f-4074-bb20-8e2747647cce",
6 "conference_sid": null,
7 "channel": "1",
8 "channels": "1",
9 "date_created": "Tue, 25 Sep 2018 23:00:00 +0000",
10 "date_updated": "Wed, 26 Sep 2018 23:00:04 +0000",
11 "start_time": "Tue, 25 Sep 2018 23:00:00 +0000",
12 "end_time": "Wed, 26 Sep 2018 23:00:04 +0000",
13 "duration": 4,
14 "price": "-0.0025",
15 "price_unit": "USD",
16 "source": "DialVerb",
17 "status": "queued",
18 "error_code": null,
19 "uri": "/api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142.json",
20 "subresource_uris": {
21 "transcriptions": "/api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142/Transcriptions.json"
22 },
23 "encryption_details": null,
24 "trim": "do-not-trim"
25}
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).
Was this page helpful?
Previous

Delete a Recording.

Next
Built with

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.

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

400
Bad Request Error
401
Unauthorized Error
404
Not Found Error

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)