---
title: "Fetch details of a recording"
method: GET
path: "/recordings/{recording_id}"
tags: ["Recordings"]
---

# Fetch details of a recording

`GET /recordings/{recording_id}`

## Request

- Base URL: `https://api.dyte.io/v2`
- URL: `https://api.dyte.io/v2/recordings/{recording_id}`
- Auth: one of:
  - HTTP basic
  - HTTP bearer

Returns details of a recording for the given recording ID.

## Path parameters

- `recording_id` string, required

## Response `200`

Success response

- object
  - `success` boolean, required: Success status of the operation
  - `data` object: Data returned by the operation
    - `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"
    - `start_reason` StartReason
      - `reason` 'API_CALL' | 'RECORD_ON_START': Specifies if the recording was started using the "Start a Recording"API or using the parameter RECORD_ON_START in the "Create a meeting" API. If the recording is initiated using the "RECORD_ON_START" parameter, the user details will not be populated.
      - `caller` object
        - `type` 'ORGANIZATION' | 'USER': The type can be an organization or a user. If the type is `user`, then only the `user_Id` and `name` are returned.
        - `user_Id` string, uuid: The user ID of the person who started the recording.
        - `name` string: Name of the user who started the recording.
    - `stop_reason` StopReason
      - `reason` 'API_CALL' | 'INTERNAL_ERROR' | 'ALL_PEERS_LEFT': Specifies the reason why the recording stopped.
      - `caller` object
        - `type` 'ORGANIZATION' | 'USER': The type can be an organization or a user. If the type is `user`, then only the `user_Id` and `name` are returned.
        - `user_Id` string, uuid: The user ID of the person who stopped the recording.
        - `name` string: Name of the user who stopped the recording.

## Changes

- **2025-04-04** (v2) `cb67ff854c71`: 2 breaking
  - added the new path request parameter `recording_id`
  - the `allOf[subschema #2]/data/allOf[subschema #2]/storage_config/auth_method` response's property type changed from no type to `string` for status `200`
- **2025-04-03** (v2) `68b9e665bfcc`: 1 breaking, 1 warning
  - the `allOf[subschema #2]/data/allOf[subschema #2]/storage_config/auth_method` response's property type changed from `string` to no type for status `200`
  - deleted the `path` request parameter `recording_id`
- **2024-11-20** (v2) `d8c5d90e84ac`: 2 breaking
  - added the new path request parameter `recording_id`
  - the `allOf[subschema #2]/data/allOf[subschema #2]/storage_config/auth_method` response's property type changed from no type to `string` for status `200`
- **2023-10-20** (v2) `cf0c52843ea6`: 1 warning
  - added the new `PAUSED` enum value to the `allOf[subschema #2]/data/allOf[subschema #1: Recording]/status` response property for the response status `200`
- …earlier changes not shown

[Operation history](https://skmtc.dev/dyte-io/apis/dyte-rest-apis/changes/recordings/:recording_id/get.md)

---

[API](https://skmtc.dev/dyte-io/apis/dyte-rest-apis.md) - [All operations](https://skmtc.dev/dyte-io/apis/dyte-rest-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/dyte-io/apis/dyte-rest-apis/revisions/f62d3edd92ae?raw)
