---
title: "Retrieve a Recording"
method: GET
path: "/Accounts/{AccountSid}/Recordings/{Sid}"
tags: ["Recordings"]
---

# Retrieve a Recording

`GET /Accounts/{AccountSid}/Recordings/{Sid}`

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).

## Path parameters

- `AccountSid` string, uuid, required — Universal Unique Identifier.
- `Sid` string, uuid, required — Universal Unique Identifier.

## Response `200`

The request has succeeded.

- RecordingResponse — Response containing a single recording.
  - `sid` string, uuid, required — Universal Unique Identifier.
  - `account_sid` string, uuid, required — Universal Unique Identifier.
  - `api_version` string, required — The version of the SignalWire API.
  - `call_sid` string, uuid, required — Universal Unique Identifier.
  - `conference_sid` string, uuid, required — Universal Unique Identifier.
  - `channel` '1' | '2', required — The number of channels in a recording (singular key). Returns '1' for mono or '2' for stereo.
  - `channels` '1' | '2', required — The number of channels in a recording. Returns '1' for mono or '2' for stereo.
  - `date_created` string, required — The date, in RFC 2822 format, this recording was created.
  - `date_updated` string, required — The date, in RFC 2822 format, this recording was updated.
  - `start_time` string, nullable, required — The time, in RFC 2822 format, this recording started.
  - `end_time` string, nullable, required — The time, in RFC 2822 format, this recording ended.
  - `duration` integer, required — The length, in seconds, of the recording.
  - `price` string, nullable, required — The cost for the recording.
  - `price_unit` string, required — The currency of the price of the recording.
  - `source` 'DialVerb' | 'Conference' | 'OutBoundApi' | 'Trunking' | 'RecordVerb' | 'StartCallRecordingApi' | 'StartConferenceRecording', required — Recording source.
  - `status` 'queued' | 'in-progress' | 'paused' | 'resumed' | 'completed' | 'absent' | 'stopped', required — Recording status.
  - `error_code` string, nullable, required — Further details about a failed recording.
  - `uri` string, required — The URI of the recording.
  - `subresource_uris` RecordingSubresourceUris, required — Recording subresource URIs.
    - `transcriptions` string, required — The URI for transcriptions.
  - `encryption_details` string, nullable, required — Encryption details. Always null.
  - `trim` string, required — Whether leading and trailing silence is trimmed from a recording.

## Other responses

- `400` — The request was invalid or cannot be processed. Check the error details for more information.
- `401` — Authentication failed. Please verify your credentials and try again.
- `404` — The requested resource was not found. Please verify the resource identifier.

---

[API](https://skmtc.net/signalwire/apis/compatibility-api.md) · [All operations](https://skmtc.net/signalwire/apis/compatibility-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/signalwire/compatibility-api/revisions/e6faba43acd7/schema)
