Skip to content
Start here

Fetch all recordings for an App

realtime_kit.recordings.get_recordings(strapp_id, RecordingGetRecordingsParams**kwargs) -> RecordingGetRecordingsResponse
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.

Security

API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
Accepted Permissions (at least one required)
Realtime AdminRealtime
ParametersExpand Collapse
account_id: str

The account identifier tag.

maxLength32
app_id: str

The app identifier tag.

maxLength32
end_time: Optional[Union[str, datetime]]

The end time range for which you want to retrieve the meetings. The time must be specified in ISO format.

formatdate-time
expired: Optional[bool]

If passed, only shows expired/non-expired recordings on RealtimeKit's bucket

meeting_id: Optional[str]

ID of a meeting. Optional. Will limit results to only this meeting if passed.

formatuuid
page_no: Optional[float]

The page number from which you want your page search results to be displayed.

minimum0
per_page: Optional[float]

Number of results per page

minimum0
sort_by: Optional[Literal["invokedTime"]]
sort_order: Optional[Literal["ASC", "DESC"]]
One of the following:
"ASC"
"DESC"
start_time: Optional[Union[str, datetime]]

The start time range for which you want to retrieve the meetings. The time must be specified in ISO format.

formatdate-time
status: Optional[List[Literal["INVOKED", "RECORDING", "UPLOADING", "UPLOADED"]]]

Filter by one or more recording status

One of the following:
"INVOKED"
"RECORDING"
"UPLOADING"
"UPLOADED"
ReturnsExpand Collapse
class RecordingGetRecordingsResponse:
data: List[Data]
id: str

ID of the recording

formatuuid
audio_download_url: Optional[str]

If the audio_config is passed, the URL for downloading the audio recording is returned.

formaturi
download_url: Optional[str]

URL where the recording can be downloaded.

formaturi
download_url_expiry: Optional[datetime]

Timestamp when the download URL expires.

formatdate-time
file_size: Optional[float]

File size of the recording, in bytes.

invoked_time: datetime

Timestamp when this recording was invoked.

formatdate-time
output_file_name: str

File name of the recording.

session_id: Optional[str]

ID of the meeting session this recording is for.

formatuuid
started_time: Optional[datetime]

Timestamp when this recording actually started after being invoked. Usually a few seconds after invoked_time.

formatdate-time
status: Literal["INVOKED", "RECORDING", "UPLOADING", 3 more]

Current status of the recording.

One of the following:
"INVOKED"
"RECORDING"
"UPLOADING"
"UPLOADED"
"ERRORED"
"PAUSED"
stopped_time: Optional[datetime]

Timestamp when this recording was stopped. Optional; is present only when the recording has actually been stopped.

formatdate-time
meeting: Optional[DataMeeting]
id: str

ID of the meeting.

formatuuid
created_at: datetime

Timestamp the object was created at. The time is returned in ISO format.

formatdate-time
updated_at: datetime

Timestamp the object was updated at. The time is returned in ISO format.

formatdate-time
live_stream_on_start: Optional[bool]

Specifies if the meeting should start getting livestreamed on start.

persist_chat: Optional[bool]

Specifies if Chat within a meeting should persist for a week.

record_on_start: Optional[bool]

Specifies if the meeting should start getting recorded as soon as someone joins the meeting.

session_keep_alive_time_in_secs: Optional[float]

Time in seconds, for which a session remains active, after the last participant has left the meeting.

maximum600
minimum60
status: Optional[Literal["ACTIVE", "INACTIVE"]]

Whether the meeting is ACTIVE or INACTIVE. Users will not be able to join an INACTIVE meeting.

One of the following:
"ACTIVE"
"INACTIVE"
summarize_on_end: Optional[bool]

Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API.

title: Optional[str]

Title of the meeting.

recording_duration: Optional[int]

Total recording time in seconds.

storage_config: Optional[DataStorageConfig]
type: Literal["aws", "azure", "digitalocean", 2 more]

Type of storage media.

One of the following:
"aws"
"azure"
"digitalocean"
"gcs"
"sftp"
access_key: Optional[str]

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.

auth_method: Optional[Literal["KEY", "PASSWORD"]]

Authentication method used for "sftp" type storage medium

One of the following:
"KEY"
"PASSWORD"
bucket: Optional[str]

Name of the storage medium's bucket.

host: Optional[str]

SSH destination server host for SFTP type storage medium

password: Optional[str]

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.

path: Optional[str]

Path relative to the bucket root at which the recording will be placed.

port: Optional[float]

SSH destination server port for SFTP type storage medium

private_key: Optional[str]

Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY"

region: Optional[str]

Region of the storage medium.

secret: Optional[str]

Secret key of the storage medium. Similar to access_key, it is only writeable by clients, not readable.

username: Optional[str]

SSH destination server username for SFTP type storage medium

paging: Paging
end_offset: float
start_offset: float
total_count: float
minimum0
success: bool

Fetch all recordings for an App

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
response = client.realtime_kit.recordings.get_recordings(
    app_id="app_id",
    account_id="023e105f4ecef8ad9ca31a8372d0c353",
)
print(response.data)
{
  "data": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "audio_download_url": "https://example.com",
      "download_url": "https://example.com",
      "download_url_expiry": "2019-12-27T18:11:19.117Z",
      "file_size": 0,
      "invoked_time": "2019-12-27T18:11:19.117Z",
      "output_file_name": "output_file_name",
      "session_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "started_time": "2019-12-27T18:11:19.117Z",
      "status": "INVOKED",
      "stopped_time": "2019-12-27T18:11:19.117Z",
      "meeting": {
        "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "created_at": "2019-12-27T18:11:19.117Z",
        "updated_at": "2019-12-27T18:11:19.117Z",
        "live_stream_on_start": true,
        "persist_chat": true,
        "record_on_start": true,
        "session_keep_alive_time_in_secs": 60,
        "status": "ACTIVE",
        "summarize_on_end": true,
        "title": "title"
      },
      "recording_duration": 0,
      "storage_config": {
        "type": "aws",
        "auth_method": "KEY",
        "bucket": "bucket",
        "host": "host",
        "password": "password",
        "path": "path",
        "port": 0,
        "private_key": "private_key",
        "region": "us-east-1",
        "secret": "secret",
        "username": "username"
      }
    }
  ],
  "paging": {
    "end_offset": 30,
    "start_offset": 1,
    "total_count": 30
  },
  "success": true
}
Returns Examples
{
  "data": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "audio_download_url": "https://example.com",
      "download_url": "https://example.com",
      "download_url_expiry": "2019-12-27T18:11:19.117Z",
      "file_size": 0,
      "invoked_time": "2019-12-27T18:11:19.117Z",
      "output_file_name": "output_file_name",
      "session_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "started_time": "2019-12-27T18:11:19.117Z",
      "status": "INVOKED",
      "stopped_time": "2019-12-27T18:11:19.117Z",
      "meeting": {
        "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "created_at": "2019-12-27T18:11:19.117Z",
        "updated_at": "2019-12-27T18:11:19.117Z",
        "live_stream_on_start": true,
        "persist_chat": true,
        "record_on_start": true,
        "session_keep_alive_time_in_secs": 60,
        "status": "ACTIVE",
        "summarize_on_end": true,
        "title": "title"
      },
      "recording_duration": 0,
      "storage_config": {
        "type": "aws",
        "auth_method": "KEY",
        "bucket": "bucket",
        "host": "host",
        "password": "password",
        "path": "path",
        "port": 0,
        "private_key": "private_key",
        "region": "us-east-1",
        "secret": "secret",
        "username": "username"
      }
    }
  ],
  "paging": {
    "end_offset": 30,
    "start_offset": 1,
    "total_count": 30
  },
  "success": true
}