Skip to content
Start here

Pause/Resume/Stop recording

client.realtimeKit.recordings.pauseResumeStopRecording(stringrecordingID, RecordingPauseResumeStopRecordingParams { account_id, app_id, action } params, RequestOptionsoptions?): RecordingPauseResumeStopRecordingResponse { success, data }
PUT/accounts/{account_id}/realtime/kit/{app_id}/recordings/{recording_id}

Pause/Resume/Stop a given recording 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
recordingID: string
formatuuid
params: RecordingPauseResumeStopRecordingParams { account_id, app_id, action }
account_id: string

Path param: The account identifier tag.

maxLength32
app_id: string

Path param: The app identifier tag.

action: "stop" | "pause" | "resume"

Body param

One of the following:
"stop"
"pause"
"resume"
ReturnsExpand Collapse
RecordingPauseResumeStopRecordingResponse { success, data }
success: boolean

Success status of the operation

data?: Data { id, audio_download_url, download_url, 12 more }

Data returned by the operation

id: string

ID of the recording

formatuuid
audio_download_url: string | null

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

formaturi
download_url: string | null

URL where the recording can be downloaded.

formaturi
download_url_expiry: string | null

Timestamp when the download URL expires.

formatdate-time
file_size: number | null

File size of the recording, in bytes.

invoked_time: string

Timestamp when this recording was invoked.

formatdate-time
output_file_name: string

File name of the recording.

session_id: string | null

ID of the meeting session this recording is for.

formatuuid
started_time: string | null

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

formatdate-time
status: "INVOKED" | "RECORDING" | "UPLOADING" | 3 more

Current status of the recording.

One of the following:
"INVOKED"
"RECORDING"
"UPLOADING"
"UPLOADED"
"ERRORED"
"PAUSED"
stopped_time: string | null

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

formatdate-time
recording_duration?: number

Total recording time in seconds.

start_reason?: StartReason { caller, reason }
caller?: Caller { name, type, user_Id }
name?: string

Name of the user who started the recording.

type?: "ORGANIZATION" | "USER"

The type can be an App or a user. If the type is user, then only the user_Id and name are returned.

One of the following:
"ORGANIZATION"
"USER"
user_Id?: string

The user ID of the person who started the recording.

formatuuid
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.

One of the following:
"API_CALL"
"RECORD_ON_START"
stop_reason?: StopReason { caller, reason }
caller?: Caller { name, type, user_Id }
name?: string

Name of the user who stopped the recording.

type?: "ORGANIZATION" | "USER"

The type can be an App or a user. If the type is user, then only the user_Id and name are returned.

One of the following:
"ORGANIZATION"
"USER"
user_Id?: string

The user ID of the person who stopped the recording.

formatuuid
reason?: "API_CALL" | "INTERNAL_ERROR" | "ALL_PEERS_LEFT"

Specifies the reason why the recording stopped.

One of the following:
"API_CALL"
"INTERNAL_ERROR"
"ALL_PEERS_LEFT"
storage_config?: UnionMember0 { access_key, auth_method, bucket, 9 more } | UnionMember1 { access_key, region, auth_method, 9 more } | UnionMember2 { private_key, access_key, auth_method, 9 more } | UnionMember3 { password, access_key, auth_method, 9 more } | null
One of the following:
UnionMember0 { access_key, auth_method, bucket, 9 more }
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.

auth_method?: "KEY" | "PASSWORD"

Authentication method used for “sftp” type storage medium

One of the following:
"KEY"
"PASSWORD"
bucket?: string

Name of the storage medium’s bucket.

host?: string

SSH destination server host 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.

path?: string

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

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”

region?: string

Region of the storage medium.

secret?: string

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

type?: "gcs"
username?: string

SSH destination server username for SFTP type storage medium

UnionMember1 { access_key, region, auth_method, 9 more }
access_key: unknown
minLength1
region: unknown
minLength1
auth_method?: "KEY" | "PASSWORD"

Authentication method used for “sftp” type storage medium

One of the following:
"KEY"
"PASSWORD"
bucket?: string

Name of the storage medium’s bucket.

host?: string

SSH destination server host 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.

path?: string

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

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”

secret?: string

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

type?: "aws" | "azure" | "digitalocean"
One of the following:
"aws"
"azure"
"digitalocean"
username?: string

SSH destination server username for SFTP type storage medium

UnionMember2 { private_key, access_key, auth_method, 9 more }
private_key: string

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

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.

auth_method?: "KEY"
bucket?: string

Name of the storage medium’s bucket.

host?: string

SSH destination server host 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.

path?: string

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

port?: number

SSH destination server port for SFTP type storage medium

region?: string

Region of the storage medium.

secret?: string

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

type?: "aws" | "azure" | "digitalocean" | 2 more

Type of storage media.

One of the following:
"aws"
"azure"
"digitalocean"
"gcs"
"sftp"
username?: string

SSH destination server username for SFTP type storage medium

UnionMember3 { password, access_key, auth_method, 9 more }
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.

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.

auth_method?: "PASSWORD"
bucket?: string

Name of the storage medium’s bucket.

host?: string

SSH destination server host for SFTP type storage medium

path?: string

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

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”

region?: string

Region of the storage medium.

secret?: string

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

type?: "aws" | "azure" | "digitalocean" | 2 more

Type of storage media.

One of the following:
"aws"
"azure"
"digitalocean"
"gcs"
"sftp"
username?: string

SSH destination server username for SFTP type storage medium

Pause/Resume/Stop recording

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const response = await client.realtimeKit.recordings.pauseResumeStopRecording(
  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  {
    account_id: '023e105f4ecef8ad9ca31a8372d0c353',
    app_id: '14a396e7-ca44-4937-bf1f-050a69118543',
    action: 'stop',
  },
);

console.log(response.success);
{
  "success": true,
  "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",
    "recording_duration": 0,
    "start_reason": {
      "caller": {
        "name": "RealtimeKit_test",
        "type": "ORGANIZATION",
        "user_Id": "d61f6956-e68f-4375-bf10-c38a704d1bec"
      },
      "reason": "API_CALL"
    },
    "stop_reason": {
      "caller": {
        "name": "RealtimeKit_test",
        "type": "ORGANIZATION",
        "user_Id": "d61f6956-e68f-4375-bf10-c38a704d1bec"
      },
      "reason": "API_CALL"
    },
    "storage_config": {
      "auth_method": "KEY",
      "bucket": "bucket",
      "host": "host",
      "path": "path",
      "port": 0,
      "region": "us-east-1",
      "type": "gcs",
      "username": "username"
    }
  }
}
Returns Examples
{
  "success": true,
  "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",
    "recording_duration": 0,
    "start_reason": {
      "caller": {
        "name": "RealtimeKit_test",
        "type": "ORGANIZATION",
        "user_Id": "d61f6956-e68f-4375-bf10-c38a704d1bec"
      },
      "reason": "API_CALL"
    },
    "stop_reason": {
      "caller": {
        "name": "RealtimeKit_test",
        "type": "ORGANIZATION",
        "user_Id": "d61f6956-e68f-4375-bf10-c38a704d1bec"
      },
      "reason": "API_CALL"
    },
    "storage_config": {
      "auth_method": "KEY",
      "bucket": "bucket",
      "host": "host",
      "path": "path",
      "port": 0,
      "region": "us-east-1",
      "type": "gcs",
      "username": "username"
    }
  }
}