# Managing Recordings

This page covers how to list, access, and delete recordings for your calls. These operations apply to all recording types (composite, individual, and raw).

## List recordings

This endpoint returns the list of recordings for a call. When using Stream S3 as storage (default) all links are signed and expire after 2 weeks.

<tabs groupId="examples">

<tabs-item value="js" label="JavaScript">

```js
call.listRecordings();
```

</tabs-item>

<tabs-item value="py" label="Python">

```py
call.list_recordings()
```

</tabs-item>

<tabs-item value="go" label="Golang">

```go
call.ListRecordings(ctx, &getstream.ListRecordingsRequest{})
```

</tabs-item>

<tabs-item value="curl" label="cURL">

```bash
curl "https://video.stream-io-api.com/api/v2/video/call/${CALL_TYPE}/${CALL_ID}/recordings?api_key=${API_KEY}" \
    -H "Authorization: ${TOKEN}" \
    -H "stream-auth-type: jwt"
```

</tabs-item>

</tabs>

## Delete recording

This endpoint allows you to delete a call recording. Recordings will only be deleted if they are stored on Stream's side (default).

An error will be returned if the recording doesn't exist.

<tabs groupId="examples">

<tabs-item value="js" label="JavaScript">

```js
call.deleteRecording({ session: "<session id>", filename: "<filename>" });
```

</tabs-item>

<tabs-item value="py" label="Python">

```py
call.delete_recording(sessionID, filename)
```

</tabs-item>

<tabs-item value="go" label="Golang">

```go
call.DeleteRecording(ctx, "session_id", "filename", &getstream.DeleteRecordingRequest{})
```

</tabs-item>

<tabs-item value="curl" label="cURL">

```bash
curl -X DELETE "https://video.stream-io-api.com/video/call/${CALL_TYPE}/${CALL_ID}/${SESSION_ID}/recordings/${FILENAME}?api_key=${API_KEY}" \
     -H "Authorization: ${JWT_TOKEN}" \
     -H "stream-auth-type: jwt"
```

</tabs-item>

</tabs>

## User permissions

The following permissions are checked when users interact with the recording management API:

- `ListRecordings` required to retrieve the list of recordings
- `DeleteRecording` required to delete an existing recording (including its files if stored using Stream S3 storage)


---

This page was last updated at 2026-06-23T15:36:56.383Z.

For the most recent version of this documentation, visit [https://getstream.io/video/docs/android/recording/manage/](https://getstream.io/video/docs/android/recording/manage/).