recordings
Creates, updates, deletes, gets or lists a recordings resource.
Overview
| Name | recordings |
| Type | Resource |
| Id | cloudflare.realtime_kit.recordings |
Fields
The following fields are returned by SELECT queries:
- list
Success response
| Name | Datatype | Description |
|---|---|---|
id | string (uuid) | ID of the recording |
session_id | string (uuid) | ID of the meeting session this recording is for. |
output_file_name | string | File name of the recording. |
audio_download_url | string (uri) | If the audio_config is passed, the URL for downloading the audio recording is returned. |
download_url | string (uri) | URL where the recording can be downloaded. |
download_url_expiry | string (date-time) | Timestamp when the download URL expires. |
file_size | number | File size of the recording, in bytes. |
invoked_time | string (date-time) | Timestamp when this recording was invoked. |
meeting | object | |
recording_duration | integer | Total recording time in seconds. |
started_time | string (date-time) | Timestamp when this recording actually started after being invoked. Usually a few seconds after invoked_time. |
status | string | Current status of the recording. (INVOKED, RECORDING, UPLOADING, UPLOADED, ERRORED, PAUSED) |
stopped_time | string (date-time) | Timestamp when this recording was stopped. Optional; is present only when the recording has actually been stopped. |
storage_config | object | (title: StorageConfig) |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
list | select | account_id, app_id | meeting_id, page_no, per_page, expired, search, sort_by, sort_order, start_time, end_time, status | Returns all recordings for an App. If the meeting_id parameter is passed, returns all recordings for the given meeting ID. |
pause_resume_stop_recording | replace | account_id, app_id, recording_id, action | Pause/Resume/Stop a given recording ID. | |
create_track | exec | account_id, app_id, meeting_id, layers | 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. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
account_id | string | The Cloudflare account ID. |
app_id | string | The Access application ID. |
recording_id | string | ID of the recording |
end_time | string (date-time) | The end time range for which you want to retrieve the meetings. The time must be specified in ISO format. |
expired | boolean | If passed, only shows expired/non-expired recordings on RealtimeKit's bucket |
meeting_id | string (uuid) | ID of a meeting. Optional. Will limit results to only this meeting if passed. |
page_no | number | The page number from which you want your page search results to be displayed. |
per_page | number | Number of results per page |
search | string | The search query string. You can search using the meeting ID or title. |
sort_by | string | |
sort_order | string | |
start_time | string (date-time) | The start time range for which you want to retrieve the meetings. The time must be specified in ISO format. |
status | array | Filter by one or more recording status |
SELECT examples
- list
Returns all recordings for an App. If the meeting_id parameter is passed, returns all recordings for the given meeting ID.
SELECT
id,
session_id,
output_file_name,
audio_download_url,
download_url,
download_url_expiry,
file_size,
invoked_time,
meeting,
recording_duration,
started_time,
status,
stopped_time,
storage_config
FROM cloudflare.realtime_kit.recordings
WHERE account_id = '{{ account_id }}' -- required
AND app_id = '{{ app_id }}' -- required
AND meeting_id = '{{ meeting_id }}'
AND page_no = '{{ page_no }}'
AND per_page = '{{ per_page }}'
AND expired = '{{ expired }}'
AND search = '{{ search }}'
AND sort_by = '{{ sort_by }}'
AND sort_order = '{{ sort_order }}'
AND start_time = '{{ start_time }}'
AND end_time = '{{ end_time }}'
AND status = '{{ status }}'
;
REPLACE examples
- pause_resume_stop_recording
Pause/Resume/Stop a given recording ID.
REPLACE cloudflare.realtime_kit.recordings
SET
action = '{{ action }}'
WHERE
account_id = '{{ account_id }}' --required
AND app_id = '{{ app_id }}' --required
AND recording_id = '{{ recording_id }}' --required
AND action = '{{ action }}' --required
RETURNING
data,
success;
Lifecycle Methods
- create_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.
EXEC cloudflare.realtime_kit.recordings.create_track
@account_id='{{ account_id }}' --required,
@app_id='{{ app_id }}' --required
@@json=
'{
"layers": "{{ layers }}",
"max_seconds": {{ max_seconds }},
"meeting_id": "{{ meeting_id }}"
}'
;