---
title: "List recordings"
method: GET
path: "/api/relay/rest/recordings"
tags: ["Recordings"]
---

# List recordings

`GET /api/relay/rest/recordings`

Returns the project's voice call recordings for later review or cleanup. Use it to browse recordings across calls; use [Get recording](/docs/apis/rest/recordings/get-call-recording) when you already have the recording ID. Compatibility [Recordings](/docs/compatibility-api/rest/recordings/list-recordings) include per-call creation and management, while [Room Recordings](/docs/apis/rest/video/room-recordings/list-room-recordings) contain 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).

## Response `200`

The request has succeeded.

- RecordingListResponse — Response containing a list of recordings.
  - `links` PaginationLinks, required — Pagination links for list responses.
    - `self` string, required — Link to the current page.
    - `first` string, required — Link to the first page.
    - `next` string — Link to the next page. Only present when there are more results.
    - `prev` string — Link to the previous page. Only present when not on the first page.
  - `data` Recording[], required — List of recordings.
    - union — Recording model. A recording is associated with exactly one source type (PSTN, SIP, WebRTC, or Relay conference).
      - 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 `data/items/` response property `anyOf` list for the response status `200`
- **2026-06-17** `20b0f48e796a` — 3 info
  - added the optional property `data/items/anyOf[#/components/schemas/PstnRecording]/relay_conference_id` to the response with the `200` status
  - added the optional property `data/items/anyOf[#/components/schemas/SipRecording]/relay_conference_id` to the response with the `200` status
  - added the optional property `data/items/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/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)
