priv/docs/recordings.md

# Recordings

## Start recording a meeting

**POST** `/accounts/{account_id}/realtime/kit/{app_id}/recordings`

Starts recording a meeting. The meeting can be started by an App admin directly, or a participant with permissions to start a recording, based on the type of authorization used.

### Responses

#### 200 

> Data is at `body["result"]`

```json

```



## Fetch all recordings for an App

**GET** `/accounts/{account_id}/realtime/kit/{app_id}/recordings`

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

### Responses

#### 200 

> Data is at `body["result"]`

```json

```

#### 201 Created

> Data is at `body["result"]`

```json

```



## Fetch active recording

**GET** `/accounts/{account_id}/realtime/kit/{app_id}/recordings/active-recording/{meeting_id}`

Returns the active recording details for the given meeting ID.

### Responses

#### 200 

> Data is at `body["result"]`

```json

```

#### 404 

```json

```



## Start recording audio and video tracks

**POST** `/accounts/{account_id}/realtime/kit/{app_id}/recordings/track`

Starts a track recording in a meeting. Track recordings consist of "layers". Layers are used to map audio/video tracks in a meeting to output destinations. More information about track recordings is available in the [Track Recordings Guide Page](https://docs.realtime.cloudflare.com/guides/capabilities/recording/recording-overview).

### Responses

#### 200 OK

> Data is at `body["result"]`

```json

```



## Pause/Resume/Stop recording

**PUT** `/accounts/{account_id}/realtime/kit/{app_id}/recordings/{recording_id}`

Pause/Resume/Stop a given recording ID.

### Responses

#### 200 

> Data is at `body["result"]`

```json

```



## Fetch details of a recording

**GET** `/accounts/{account_id}/realtime/kit/{app_id}/recordings/{recording_id}`

Returns details of a recording for the given recording ID.

### Responses

#### 200 

> Data is at `body["result"]`

```json

```