---
title: "Get recording"
method: GET
path: "/api/relay/rest/recordings/{id}"
tags: ["Recordings"]
---

# Get recording

`GET /api/relay/rest/recordings/{id}`

Retrieves one voice call recording by ID. Use it after listing recordings or when a call event saved the recording identifier. Use Compatibility [Retrieve recording](/docs/compatibility-api/rest/recordings/retrieve-recording) for SID-based recording routes, or [Get room recording](/docs/apis/rest/video/room-recordings/get-room-recording) for video-room media.

#### Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_.

[Learn more about API scopes](/docs/platform/your-signalwire-api-space).

## Path parameters

- `id` string, uuid, required — Universal Unique Identifier.

## Response `200`

Recording model. A recording is associated with exactly one source type (PSTN, SIP, WebRTC, or Relay conference).

- union
  - PstnRecording — Recording from a PSTN call leg.
    - `id` string, uuid, required — Universal Unique Identifier.
    - `project_id` string, uuid, required — Universal Unique Identifier.
    - `created_at` string, date-time, required — Date and time when the recording was created.
    - `updated_at` string, date-time, required — Date and time when the recording was last updated.
    - `duration_in_seconds` integer, required — Duration of the recording in seconds.
    - `error_code` string — Error code if the recording failed.
    - `price` number, double, required — Price of the recording.
    - `price_unit` string, required — Currency unit for the price.
    - `status` string, required — Status of the recording.
    - `url` string, required — URL of the recording file.
    - `stereo` boolean, required — Indicates whether the recording is stereo.
    - `byte_size` integer — Size of the recording file in bytes.
    - `track` string, required — Audio track of the recording.
    - `relay_conference_id` string, uuid — Universal Unique Identifier.
    - `relay_pstn_leg_id` string, uuid, required — Universal Unique Identifier.
  - SipRecording — Recording from a SIP call leg.
    - `id` string, uuid, required — Universal Unique Identifier.
    - `project_id` string, uuid, required — Universal Unique Identifier.
    - `created_at` string, date-time, required — Date and time when the recording was created.
    - `updated_at` string, date-time, required — Date and time when the recording was last updated.
    - `duration_in_seconds` integer, required — Duration of the recording in seconds.
    - `error_code` string — Error code if the recording failed.
    - `price` number, double, required — Price of the recording.
    - `price_unit` string, required — Currency unit for the price.
    - `status` string, required — Status of the recording.
    - `url` string, required — URL of the recording file.
    - `stereo` boolean, required — Indicates whether the recording is stereo.
    - `byte_size` integer — Size of the recording file in bytes.
    - `track` string, required — Audio track of the recording.
    - `relay_conference_id` string, uuid — Universal Unique Identifier.
    - `relay_sip_leg_id` string, uuid, required — Universal Unique Identifier.
  - WebRtcRecording — Recording from a WebRTC call leg.
    - `id` string, uuid, required — Universal Unique Identifier.
    - `project_id` string, uuid, required — Universal Unique Identifier.
    - `created_at` string, date-time, required — Date and time when the recording was created.
    - `updated_at` string, date-time, required — Date and time when the recording was last updated.
    - `duration_in_seconds` integer, required — Duration of the recording in seconds.
    - `error_code` string — Error code if the recording failed.
    - `price` number, double, required — Price of the recording.
    - `price_unit` string, required — Currency unit for the price.
    - `status` string, required — Status of the recording.
    - `url` string, required — URL of the recording file.
    - `stereo` boolean, required — Indicates whether the recording is stereo.
    - `byte_size` integer — Size of the recording file in bytes.
    - `track` string, required — Audio track of the recording.
    - `relay_conference_id` string, uuid — Universal Unique Identifier.
    - `relay_webrtc_leg_id` string, uuid, required — Universal Unique Identifier.
  - ConferenceRecording — Recording from a Relay conference.
    - `id` string, uuid, required — Universal Unique Identifier.
    - `project_id` string, uuid, required — Universal Unique Identifier.
    - `created_at` string, date-time, required — Date and time when the recording was created.
    - `updated_at` string, date-time, required — Date and time when the recording was last updated.
    - `duration_in_seconds` integer, required — Duration of the recording in seconds.
    - `error_code` string — Error code if the recording failed.
    - `price` number, double, required — Price of the recording.
    - `price_unit` string, required — Currency unit for the price.
    - `status` string, required — Status of the recording.
    - `url` string, required — URL of the recording file.
    - `stereo` boolean, required — Indicates whether the recording is stereo.
    - `byte_size` integer — Size of the recording file in bytes.
    - `track` string, required — Audio track of the recording.
    - `relay_conference_id` string, uuid, required — Universal Unique Identifier.

## Other responses

- `401` — Access is unauthorized.
- `404` — The server cannot find the requested resource.
- `422` — The request failed validation. See errors for details.
- `500` — An internal server error occurred.

## Changes

> 137 revisions in range; 3 could not be searched.

- **2026-06-17** `492e0754dc70` — 1 info
  - added `#/components/schemas/ConferenceRecording` to the response body `anyOf` list for the response status `200`
- **2026-06-17** `20b0f48e796a` — 3 info
  - added the optional property `anyOf[#/components/schemas/PstnRecording]/relay_conference_id` to the response with the `200` status
  - added the optional property `anyOf[#/components/schemas/SipRecording]/relay_conference_id` to the response with the `200` status
  - added the optional property `anyOf[#/components/schemas/WebRtcRecording]/relay_conference_id` to the response with the `200` status

[Change history](https://skmtc.dev/signalwire/apis/signalwire-rest-api/changes/api/relay/rest/recordings/:id/get.md)

---

[API](https://skmtc.dev/signalwire/apis/signalwire-rest-api.md) · [All operations](https://skmtc.dev/signalwire/apis/signalwire-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/signalwire/signalwire-rest-api/revisions/792d5b8e2970/schema)
