---
title: "Fetch all recordings for an organization"
method: GET
path: "/recordings"
tags: ["Recordings"]
---

# Fetch all recordings for an organization

`GET /recordings`

Returns all recordings for an organization. If the `meeting_id` parameter is passed, returns all recordings for the given meeting ID.

## Query parameters

- `meeting_id` string, uuid
- `page_no` number
- `per_page` number
- `expired` boolean
- `search` string
- `sort_by` 'invokedTime'
- `sort_order` 'ASC' | 'DESC'
- `start_time` string, date-time
- `end_time` string, date-time
- `status` string[]

## Response `200`

Success response

- object
  - `success` boolean, required
  - `data` object[], required
    - `id` string, uuid, required — ID of the recording
    - `download_url` string, uri, nullable, required — URL where the recording can be downloaded.
    - `download_url_expiry` string, date-time, nullable, required — Timestamp when the download URL expires.
    - `audio_download_url` string, uri, nullable, required — If the audio_config is passed, the URL for downloading the audio recording is returned.
    - `file_size` number, nullable, required — File size of the recording, in bytes.
    - `session_id` string, uuid, nullable, required — ID of the meeting session this recording is for.
    - `output_file_name` string, required — File name of the recording.
    - `status` 'INVOKED' | 'RECORDING' | 'UPLOADING' | 'UPLOADED' | 'ERRORED' | 'PAUSED', required — Current status of the recording.
    - `invoked_time` string, date-time, required — Timestamp when this recording was invoked.
    - `started_time` string, date-time, nullable, required — Timestamp when this recording actually started after being invoked. Usually a few seconds after `invoked_time`.
    - `stopped_time` string, date-time, nullable, required — Timestamp when this recording was stopped. Optional; is present only when the recording has actually been stopped.
    - `recording_duration` integer — Total recording time in seconds.
    - `storage_config` StorageConfig, nullable
      - `type` 'aws' | 'azure' | 'digitalocean' | 'gcs' | 'sftp', required — Type of storage media.
      - `access_key` string — Access key of the storage medium. Access key is not required for the `gcs` storage media type. Note that this field is not readable by clients, only writeable.
      - `secret` string — Secret key of the storage medium. Similar to `access_key`, it is only writeable by clients, not readable.
      - `bucket` string — Name of the storage medium's bucket.
      - `region` string — Region of the storage medium.
      - `path` string — Path relative to the bucket root at which the recording will be placed.
      - `auth_method` 'KEY' | 'PASSWORD' — Authentication method used for "sftp" type storage medium
      - `username` string — SSH destination server username for SFTP type storage medium
      - `password` string — SSH destination server password for SFTP type storage medium when auth_method is "PASSWORD". If auth_method is "KEY", this specifies the password for the ssh private key.
      - `host` string — SSH destination server host for SFTP type storage medium
      - `port` number — SSH destination server port for SFTP type storage medium
      - `private_key` string — Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY"
    - `meeting` Meeting
      - `id` string, uuid, required — ID of the meeting.
      - `title` string — Title of the meeting.
      - `preferred_region` 'ap-south-1' | 'ap-southeast-1' | 'us-east-1' | 'eu-central-1' | 'null', nullable — The region in which this meeting should be created.
      - `created_at` string, date-time, required — Timestamp the object was created at. The time is returned in ISO format.
      - `record_on_start` boolean — Specifies if the meeting should start getting recorded as soon as someone joins the meeting.
      - `updated_at` string, date-time, required — Timestamp the object was updated at. The time is returned in ISO format.
      - `live_stream_on_start` boolean — Specifies if the meeting should start getting livestreamed on start.
      - `persist_chat` boolean — Specifies if Chat within a meeting should persist for a week.
      - `summarize_on_end` boolean — Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API.
      - `status` 'ACTIVE' | 'INACTIVE' — Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting.
  - `paging` object, required
    - `total_count` number, required
    - `start_offset` number, required
    - `end_offset` number, required

## Other responses

- `201` — Created

---

[API](https://skmtc.net/dyte-io/apis/dyte-rest-apis.md) · [All operations](https://skmtc.net/dyte-io/apis/dyte-rest-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dyte-io/dyte-rest-apis/versions/f62d3edd92ae/schema)
