Skip to content
Start here

Realtime Kit

Realtime KitApps

Fetch all apps
GET/accounts/{account_id}/realtime/kit/apps
Create App
POST/accounts/{account_id}/realtime/kit/apps
ModelsExpand Collapse
AppGetResponse object { data, paging, success }
data: optional array of object { id, created_at, name }
id: optional string
formatuuid
created_at: optional string
formatdate-time
name: optional string
paging: optional object { end_offset, start_offset, total_count }
end_offset: optional number
start_offset: optional number
total_count: optional number
success: optional boolean
AppPostResponse object { data, success }
data: optional object { app }
app: optional object { id, created_at, name }
id: optional string
formatuuid
created_at: optional string
formatdate-time
name: optional string
success: optional boolean

Realtime KitMeetings

Fetch all meetings for an App
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings
Create a meeting
POST/accounts/{account_id}/realtime/kit/{app_id}/meetings
Fetch a meeting for an App
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}
Update a meeting
PATCH/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}
Replace a meeting
PUT/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}
Fetch all participants of a meeting
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants
Add a participant
POST/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants
Fetch a participant's detail
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}
Edit a participant's detail
PATCH/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}
Delete a participant
DELETE/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}
Refresh participant's authentication token
POST/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}/token
ModelsExpand Collapse
MeetingGetResponse object { data, paging, success }
data: array of object { id, created_at, updated_at, 9 more }
id: string

ID of the meeting.

formatuuid
created_at: string

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

formatdate-time
updated_at: string

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

formatdate-time
live_stream_on_start: optional boolean

Specifies if the meeting should start getting livestreamed on start.

persist_chat: optional boolean

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

record_on_start: optional boolean

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

recording_config: optional object { audio_config, file_name_prefix, live_streaming_config, 4 more }

Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal.

audio_config: optional object { channel, codec, export_file }

Object containing configuration regarding the audio that is being recorded.

channel: optional "mono" or "stereo"

Audio signal pathway within an audio file that carries a specific sound source.

One of the following:
"mono"
"stereo"
codec: optional "MP3" or "AAC"

Codec using which the recording will be encoded. If VP8/VP9 is selected for videoConfig, changing audioConfig is not allowed. In this case, the codec in the audioConfig is automatically set to vorbis.

One of the following:
"MP3"
"AAC"
export_file: optional boolean

Controls whether to export audio file seperately

file_name_prefix: optional string

Adds a prefix to the beginning of the file name of the recording.

live_streaming_config: optional object { rtmp_url }
rtmp_url: optional string

RTMP URL to stream to

formaturi
max_seconds: optional number

Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours.

maximum86400
minimum60
realtimekit_bucket_config: optional object { enabled }
enabled: boolean

Controls whether recordings are uploaded to RealtimeKit’s bucket. If set to false, download_url, audio_download_url, download_url_expiry won’t be generated for a recording.

storage_config: optional object { access_key, auth_method, bucket, 9 more } or object { access_key, region, auth_method, 9 more } or object { private_key, access_key, auth_method, 9 more } or object { password, access_key, auth_method, 9 more }
One of the following:
object { access_key, auth_method, bucket, 9 more }
access_key: optional 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: optional "KEY" or "PASSWORD"

Authentication method used for “sftp” type storage medium

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

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "gcs"
username: optional string

SSH destination server username for SFTP type storage medium

object { access_key, region, auth_method, 9 more }
access_key: unknown
minLength1
region: unknown
minLength1
auth_method: optional "KEY" or "PASSWORD"

Authentication method used for “sftp” type storage medium

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

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean"
One of the following:
"aws"
"azure"
"digitalocean"
username: optional string

SSH destination server username for SFTP type storage medium

object { 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: optional 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: optional "KEY"
bucket: optional string

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean" or 2 more

Type of storage media.

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

SSH destination server username for SFTP type storage medium

object { 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: optional 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: optional "PASSWORD"
bucket: optional string

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

path: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean" or 2 more

Type of storage media.

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

SSH destination server username for SFTP type storage medium

video_config: optional object { codec, export_file, height, 2 more }
codec: optional "H264" or "VP8" or "VP9"

Codec using which the recording will be encoded.

One of the following:
"H264"
"VP8"
"VP9"
export_file: optional boolean

Controls whether to export video file seperately

height: optional number

Height of the recording video in pixels

maximum1920
minimum1
watermark: optional object { position, size, url }

Watermark to be added to the recording

position: optional "left top" or "right top" or "left bottom" or "right bottom"

Position of the watermark

One of the following:
"left top"
"right top"
"left bottom"
"right bottom"
size: optional object { height, width }

Size of the watermark

height: optional number

Height of the watermark in px

minimum1
width: optional number

Width of the watermark in px

minimum1
url: optional string

URL of the watermark image

formaturi
width: optional number

Width of the recording video in pixels

maximum1920
minimum1
session_keep_alive_time_in_secs: optional number

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

maximum600
minimum60
status: optional "ACTIVE" or "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 boolean

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

title: optional string

Title of the meeting.

transcribe_on_end: optional boolean

Automatically generate transcripts when the meeting ends.

paging: object { end_offset, start_offset, total_count }
end_offset: number
start_offset: number
total_count: number
minimum0
success: boolean
MeetingCreateResponse object { success, data }
success: boolean

Success status of the operation

data: optional object { id, created_at, updated_at, 10 more }

Data returned by the operation

id: string

ID of the meeting.

formatuuid
created_at: string

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

formatdate-time
updated_at: string

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

formatdate-time
ai_config: optional object { summarization, transcription }

The AI Config allows you to customize the behavior of meeting transcriptions and summaries

summarization: optional object { summary_type, text_format, word_limit }

Summary Config

summary_type: optional "general" or "team_meeting" or "sales_call" or 6 more

Defines the style of the summary, such as general, team meeting, or sales call.

One of the following:
"general"
"team_meeting"
"sales_call"
"client_check_in"
"interview"
"daily_standup"
"one_on_one_meeting"
"lecture"
"code_review"
text_format: optional "plain_text" or "markdown"

Determines the text format of the summary, such as plain text or markdown.

One of the following:
"plain_text"
"markdown"
word_limit: optional number

Sets the maximum number of words in the meeting summary.

maximum1000
minimum150
transcription: optional object { keywords, language, profanity_filter }

Transcription Configurations

keywords: optional array of string

Adds specific terms to improve accurate detection during transcription.

language: optional "en-US" or "en-IN" or "de" or 7 more

Specifies the language code for transcription to ensure accurate results.

One of the following:
"en-US"
"en-IN"
"de"
"hi"
"sv"
"ru"
"pl"
"el"
"fr"
"nl"
profanity_filter: optional boolean

Control the inclusion of offensive language in transcriptions.

live_stream_on_start: optional boolean

Specifies if the meeting should start getting livestreamed on start.

persist_chat: optional boolean

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

record_on_start: optional boolean

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

recording_config: optional object { audio_config, file_name_prefix, live_streaming_config, 4 more }

Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal.

audio_config: optional object { channel, codec, export_file }

Object containing configuration regarding the audio that is being recorded.

channel: optional "mono" or "stereo"

Audio signal pathway within an audio file that carries a specific sound source.

One of the following:
"mono"
"stereo"
codec: optional "MP3" or "AAC"

Codec using which the recording will be encoded. If VP8/VP9 is selected for videoConfig, changing audioConfig is not allowed. In this case, the codec in the audioConfig is automatically set to vorbis.

One of the following:
"MP3"
"AAC"
export_file: optional boolean

Controls whether to export audio file seperately

file_name_prefix: optional string

Adds a prefix to the beginning of the file name of the recording.

live_streaming_config: optional object { rtmp_url }
rtmp_url: optional string

RTMP URL to stream to

formaturi
max_seconds: optional number

Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours.

maximum86400
minimum60
realtimekit_bucket_config: optional object { enabled }
enabled: boolean

Controls whether recordings are uploaded to RealtimeKit’s bucket. If set to false, download_url, audio_download_url, download_url_expiry won’t be generated for a recording.

storage_config: optional object { access_key, auth_method, bucket, 9 more } or object { access_key, region, auth_method, 9 more } or object { private_key, access_key, auth_method, 9 more } or object { password, access_key, auth_method, 9 more }
One of the following:
object { access_key, auth_method, bucket, 9 more }
access_key: optional 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: optional "KEY" or "PASSWORD"

Authentication method used for “sftp” type storage medium

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

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "gcs"
username: optional string

SSH destination server username for SFTP type storage medium

object { access_key, region, auth_method, 9 more }
access_key: unknown
minLength1
region: unknown
minLength1
auth_method: optional "KEY" or "PASSWORD"

Authentication method used for “sftp” type storage medium

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

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean"
One of the following:
"aws"
"azure"
"digitalocean"
username: optional string

SSH destination server username for SFTP type storage medium

object { 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: optional 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: optional "KEY"
bucket: optional string

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean" or 2 more

Type of storage media.

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

SSH destination server username for SFTP type storage medium

object { 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: optional 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: optional "PASSWORD"
bucket: optional string

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

path: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean" or 2 more

Type of storage media.

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

SSH destination server username for SFTP type storage medium

video_config: optional object { codec, export_file, height, 2 more }
codec: optional "H264" or "VP8" or "VP9"

Codec using which the recording will be encoded.

One of the following:
"H264"
"VP8"
"VP9"
export_file: optional boolean

Controls whether to export video file seperately

height: optional number

Height of the recording video in pixels

maximum1920
minimum1
watermark: optional object { position, size, url }

Watermark to be added to the recording

position: optional "left top" or "right top" or "left bottom" or "right bottom"

Position of the watermark

One of the following:
"left top"
"right top"
"left bottom"
"right bottom"
size: optional object { height, width }

Size of the watermark

height: optional number

Height of the watermark in px

minimum1
width: optional number

Width of the watermark in px

minimum1
url: optional string

URL of the watermark image

formaturi
width: optional number

Width of the recording video in pixels

maximum1920
minimum1
session_keep_alive_time_in_secs: optional number

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

maximum600
minimum60
status: optional "ACTIVE" or "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 boolean

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

title: optional string

Title of the meeting.

transcribe_on_end: optional boolean

Automatically generate transcripts when the meeting ends.

MeetingGetMeetingByIDResponse object { success, data }
success: boolean

Success status of the operation

data: optional object { id, created_at, updated_at, 10 more }

Data returned by the operation

id: string

ID of the meeting.

formatuuid
created_at: string

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

formatdate-time
updated_at: string

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

formatdate-time
ai_config: optional object { summarization, transcription }

The AI Config allows you to customize the behavior of meeting transcriptions and summaries

summarization: optional object { summary_type, text_format, word_limit }

Summary Config

summary_type: optional "general" or "team_meeting" or "sales_call" or 6 more

Defines the style of the summary, such as general, team meeting, or sales call.

One of the following:
"general"
"team_meeting"
"sales_call"
"client_check_in"
"interview"
"daily_standup"
"one_on_one_meeting"
"lecture"
"code_review"
text_format: optional "plain_text" or "markdown"

Determines the text format of the summary, such as plain text or markdown.

One of the following:
"plain_text"
"markdown"
word_limit: optional number

Sets the maximum number of words in the meeting summary.

maximum1000
minimum150
transcription: optional object { keywords, language, profanity_filter }

Transcription Configurations

keywords: optional array of string

Adds specific terms to improve accurate detection during transcription.

language: optional "en-US" or "en-IN" or "de" or 7 more

Specifies the language code for transcription to ensure accurate results.

One of the following:
"en-US"
"en-IN"
"de"
"hi"
"sv"
"ru"
"pl"
"el"
"fr"
"nl"
profanity_filter: optional boolean

Control the inclusion of offensive language in transcriptions.

live_stream_on_start: optional boolean

Specifies if the meeting should start getting livestreamed on start.

persist_chat: optional boolean

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

record_on_start: optional boolean

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

recording_config: optional object { audio_config, file_name_prefix, live_streaming_config, 4 more }

Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal.

audio_config: optional object { channel, codec, export_file }

Object containing configuration regarding the audio that is being recorded.

channel: optional "mono" or "stereo"

Audio signal pathway within an audio file that carries a specific sound source.

One of the following:
"mono"
"stereo"
codec: optional "MP3" or "AAC"

Codec using which the recording will be encoded. If VP8/VP9 is selected for videoConfig, changing audioConfig is not allowed. In this case, the codec in the audioConfig is automatically set to vorbis.

One of the following:
"MP3"
"AAC"
export_file: optional boolean

Controls whether to export audio file seperately

file_name_prefix: optional string

Adds a prefix to the beginning of the file name of the recording.

live_streaming_config: optional object { rtmp_url }
rtmp_url: optional string

RTMP URL to stream to

formaturi
max_seconds: optional number

Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours.

maximum86400
minimum60
realtimekit_bucket_config: optional object { enabled }
enabled: boolean

Controls whether recordings are uploaded to RealtimeKit’s bucket. If set to false, download_url, audio_download_url, download_url_expiry won’t be generated for a recording.

storage_config: optional object { access_key, auth_method, bucket, 9 more } or object { access_key, region, auth_method, 9 more } or object { private_key, access_key, auth_method, 9 more } or object { password, access_key, auth_method, 9 more }
One of the following:
object { access_key, auth_method, bucket, 9 more }
access_key: optional 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: optional "KEY" or "PASSWORD"

Authentication method used for “sftp” type storage medium

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

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "gcs"
username: optional string

SSH destination server username for SFTP type storage medium

object { access_key, region, auth_method, 9 more }
access_key: unknown
minLength1
region: unknown
minLength1
auth_method: optional "KEY" or "PASSWORD"

Authentication method used for “sftp” type storage medium

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

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean"
One of the following:
"aws"
"azure"
"digitalocean"
username: optional string

SSH destination server username for SFTP type storage medium

object { 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: optional 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: optional "KEY"
bucket: optional string

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean" or 2 more

Type of storage media.

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

SSH destination server username for SFTP type storage medium

object { 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: optional 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: optional "PASSWORD"
bucket: optional string

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

path: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean" or 2 more

Type of storage media.

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

SSH destination server username for SFTP type storage medium

video_config: optional object { codec, export_file, height, 2 more }
codec: optional "H264" or "VP8" or "VP9"

Codec using which the recording will be encoded.

One of the following:
"H264"
"VP8"
"VP9"
export_file: optional boolean

Controls whether to export video file seperately

height: optional number

Height of the recording video in pixels

maximum1920
minimum1
watermark: optional object { position, size, url }

Watermark to be added to the recording

position: optional "left top" or "right top" or "left bottom" or "right bottom"

Position of the watermark

One of the following:
"left top"
"right top"
"left bottom"
"right bottom"
size: optional object { height, width }

Size of the watermark

height: optional number

Height of the watermark in px

minimum1
width: optional number

Width of the watermark in px

minimum1
url: optional string

URL of the watermark image

formaturi
width: optional number

Width of the recording video in pixels

maximum1920
minimum1
session_keep_alive_time_in_secs: optional number

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

maximum600
minimum60
status: optional "ACTIVE" or "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 boolean

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

title: optional string

Title of the meeting.

transcribe_on_end: optional boolean

Automatically generate transcripts when the meeting ends.

MeetingUpdateMeetingByIDResponse object { success, data }
success: boolean

Success status of the operation

data: optional object { id, created_at, updated_at, 10 more }

Data returned by the operation

id: string

ID of the meeting.

formatuuid
created_at: string

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

formatdate-time
updated_at: string

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

formatdate-time
ai_config: optional object { summarization, transcription }

The AI Config allows you to customize the behavior of meeting transcriptions and summaries

summarization: optional object { summary_type, text_format, word_limit }

Summary Config

summary_type: optional "general" or "team_meeting" or "sales_call" or 6 more

Defines the style of the summary, such as general, team meeting, or sales call.

One of the following:
"general"
"team_meeting"
"sales_call"
"client_check_in"
"interview"
"daily_standup"
"one_on_one_meeting"
"lecture"
"code_review"
text_format: optional "plain_text" or "markdown"

Determines the text format of the summary, such as plain text or markdown.

One of the following:
"plain_text"
"markdown"
word_limit: optional number

Sets the maximum number of words in the meeting summary.

maximum1000
minimum150
transcription: optional object { keywords, language, profanity_filter }

Transcription Configurations

keywords: optional array of string

Adds specific terms to improve accurate detection during transcription.

language: optional "en-US" or "en-IN" or "de" or 7 more

Specifies the language code for transcription to ensure accurate results.

One of the following:
"en-US"
"en-IN"
"de"
"hi"
"sv"
"ru"
"pl"
"el"
"fr"
"nl"
profanity_filter: optional boolean

Control the inclusion of offensive language in transcriptions.

live_stream_on_start: optional boolean

Specifies if the meeting should start getting livestreamed on start.

persist_chat: optional boolean

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

record_on_start: optional boolean

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

recording_config: optional object { audio_config, file_name_prefix, live_streaming_config, 4 more }

Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal.

audio_config: optional object { channel, codec, export_file }

Object containing configuration regarding the audio that is being recorded.

channel: optional "mono" or "stereo"

Audio signal pathway within an audio file that carries a specific sound source.

One of the following:
"mono"
"stereo"
codec: optional "MP3" or "AAC"

Codec using which the recording will be encoded. If VP8/VP9 is selected for videoConfig, changing audioConfig is not allowed. In this case, the codec in the audioConfig is automatically set to vorbis.

One of the following:
"MP3"
"AAC"
export_file: optional boolean

Controls whether to export audio file seperately

file_name_prefix: optional string

Adds a prefix to the beginning of the file name of the recording.

live_streaming_config: optional object { rtmp_url }
rtmp_url: optional string

RTMP URL to stream to

formaturi
max_seconds: optional number

Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours.

maximum86400
minimum60
realtimekit_bucket_config: optional object { enabled }
enabled: boolean

Controls whether recordings are uploaded to RealtimeKit’s bucket. If set to false, download_url, audio_download_url, download_url_expiry won’t be generated for a recording.

storage_config: optional object { access_key, auth_method, bucket, 9 more } or object { access_key, region, auth_method, 9 more } or object { private_key, access_key, auth_method, 9 more } or object { password, access_key, auth_method, 9 more }
One of the following:
object { access_key, auth_method, bucket, 9 more }
access_key: optional 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: optional "KEY" or "PASSWORD"

Authentication method used for “sftp” type storage medium

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

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "gcs"
username: optional string

SSH destination server username for SFTP type storage medium

object { access_key, region, auth_method, 9 more }
access_key: unknown
minLength1
region: unknown
minLength1
auth_method: optional "KEY" or "PASSWORD"

Authentication method used for “sftp” type storage medium

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

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean"
One of the following:
"aws"
"azure"
"digitalocean"
username: optional string

SSH destination server username for SFTP type storage medium

object { 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: optional 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: optional "KEY"
bucket: optional string

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean" or 2 more

Type of storage media.

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

SSH destination server username for SFTP type storage medium

object { 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: optional 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: optional "PASSWORD"
bucket: optional string

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

path: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean" or 2 more

Type of storage media.

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

SSH destination server username for SFTP type storage medium

video_config: optional object { codec, export_file, height, 2 more }
codec: optional "H264" or "VP8" or "VP9"

Codec using which the recording will be encoded.

One of the following:
"H264"
"VP8"
"VP9"
export_file: optional boolean

Controls whether to export video file seperately

height: optional number

Height of the recording video in pixels

maximum1920
minimum1
watermark: optional object { position, size, url }

Watermark to be added to the recording

position: optional "left top" or "right top" or "left bottom" or "right bottom"

Position of the watermark

One of the following:
"left top"
"right top"
"left bottom"
"right bottom"
size: optional object { height, width }

Size of the watermark

height: optional number

Height of the watermark in px

minimum1
width: optional number

Width of the watermark in px

minimum1
url: optional string

URL of the watermark image

formaturi
width: optional number

Width of the recording video in pixels

maximum1920
minimum1
session_keep_alive_time_in_secs: optional number

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

maximum600
minimum60
status: optional "ACTIVE" or "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 boolean

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

title: optional string

Title of the meeting.

transcribe_on_end: optional boolean

Automatically generate transcripts when the meeting ends.

MeetingReplaceMeetingByIDResponse object { success, data }
success: boolean

Success status of the operation

data: optional object { id, created_at, updated_at, 10 more }

Data returned by the operation

id: string

ID of the meeting.

formatuuid
created_at: string

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

formatdate-time
updated_at: string

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

formatdate-time
ai_config: optional object { summarization, transcription }

The AI Config allows you to customize the behavior of meeting transcriptions and summaries

summarization: optional object { summary_type, text_format, word_limit }

Summary Config

summary_type: optional "general" or "team_meeting" or "sales_call" or 6 more

Defines the style of the summary, such as general, team meeting, or sales call.

One of the following:
"general"
"team_meeting"
"sales_call"
"client_check_in"
"interview"
"daily_standup"
"one_on_one_meeting"
"lecture"
"code_review"
text_format: optional "plain_text" or "markdown"

Determines the text format of the summary, such as plain text or markdown.

One of the following:
"plain_text"
"markdown"
word_limit: optional number

Sets the maximum number of words in the meeting summary.

maximum1000
minimum150
transcription: optional object { keywords, language, profanity_filter }

Transcription Configurations

keywords: optional array of string

Adds specific terms to improve accurate detection during transcription.

language: optional "en-US" or "en-IN" or "de" or 7 more

Specifies the language code for transcription to ensure accurate results.

One of the following:
"en-US"
"en-IN"
"de"
"hi"
"sv"
"ru"
"pl"
"el"
"fr"
"nl"
profanity_filter: optional boolean

Control the inclusion of offensive language in transcriptions.

live_stream_on_start: optional boolean

Specifies if the meeting should start getting livestreamed on start.

persist_chat: optional boolean

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

record_on_start: optional boolean

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

recording_config: optional object { audio_config, file_name_prefix, live_streaming_config, 4 more }

Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal.

audio_config: optional object { channel, codec, export_file }

Object containing configuration regarding the audio that is being recorded.

channel: optional "mono" or "stereo"

Audio signal pathway within an audio file that carries a specific sound source.

One of the following:
"mono"
"stereo"
codec: optional "MP3" or "AAC"

Codec using which the recording will be encoded. If VP8/VP9 is selected for videoConfig, changing audioConfig is not allowed. In this case, the codec in the audioConfig is automatically set to vorbis.

One of the following:
"MP3"
"AAC"
export_file: optional boolean

Controls whether to export audio file seperately

file_name_prefix: optional string

Adds a prefix to the beginning of the file name of the recording.

live_streaming_config: optional object { rtmp_url }
rtmp_url: optional string

RTMP URL to stream to

formaturi
max_seconds: optional number

Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours.

maximum86400
minimum60
realtimekit_bucket_config: optional object { enabled }
enabled: boolean

Controls whether recordings are uploaded to RealtimeKit’s bucket. If set to false, download_url, audio_download_url, download_url_expiry won’t be generated for a recording.

storage_config: optional object { access_key, auth_method, bucket, 9 more } or object { access_key, region, auth_method, 9 more } or object { private_key, access_key, auth_method, 9 more } or object { password, access_key, auth_method, 9 more }
One of the following:
object { access_key, auth_method, bucket, 9 more }
access_key: optional 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: optional "KEY" or "PASSWORD"

Authentication method used for “sftp” type storage medium

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

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "gcs"
username: optional string

SSH destination server username for SFTP type storage medium

object { access_key, region, auth_method, 9 more }
access_key: unknown
minLength1
region: unknown
minLength1
auth_method: optional "KEY" or "PASSWORD"

Authentication method used for “sftp” type storage medium

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

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean"
One of the following:
"aws"
"azure"
"digitalocean"
username: optional string

SSH destination server username for SFTP type storage medium

object { 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: optional 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: optional "KEY"
bucket: optional string

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

password: optional 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: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean" or 2 more

Type of storage media.

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

SSH destination server username for SFTP type storage medium

object { 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: optional 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: optional "PASSWORD"
bucket: optional string

Name of the storage medium’s bucket.

host: optional string

SSH destination server host for SFTP type storage medium

path: optional string

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

port: optional number

SSH destination server port for SFTP type storage medium

private_key: optional string

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

region: optional string

Region of the storage medium.

secret: optional string

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

type: optional "aws" or "azure" or "digitalocean" or 2 more

Type of storage media.

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

SSH destination server username for SFTP type storage medium

video_config: optional object { codec, export_file, height, 2 more }
codec: optional "H264" or "VP8" or "VP9"

Codec using which the recording will be encoded.

One of the following:
"H264"
"VP8"
"VP9"
export_file: optional boolean

Controls whether to export video file seperately

height: optional number

Height of the recording video in pixels

maximum1920
minimum1
watermark: optional object { position, size, url }

Watermark to be added to the recording

position: optional "left top" or "right top" or "left bottom" or "right bottom"

Position of the watermark

One of the following:
"left top"
"right top"
"left bottom"
"right bottom"
size: optional object { height, width }

Size of the watermark

height: optional number

Height of the watermark in px

minimum1
width: optional number

Width of the watermark in px

minimum1
url: optional string

URL of the watermark image

formaturi
width: optional number

Width of the recording video in pixels

maximum1920
minimum1
session_keep_alive_time_in_secs: optional number

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

maximum600
minimum60
status: optional "ACTIVE" or "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 boolean

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

title: optional string

Title of the meeting.

transcribe_on_end: optional boolean

Automatically generate transcripts when the meeting ends.

MeetingGetMeetingParticipantsResponse object { data, paging, success }
data: array of object { id, created_at, custom_participant_id, 4 more }
id: string

ID of the participant.

formatuuid
created_at: string

When this object was created. The time is returned in ISO format.

formatdate-time
custom_participant_id: string

A unique participant ID generated by the client.

preset_name: string

Preset applied to the participant.

updated_at: string

When this object was updated. The time is returned in ISO format.

formatdate-time
name: optional string

Name of the participant.

picture: optional string

URL to a picture of the participant.

formaturi
paging: object { end_offset, start_offset, total_count }
end_offset: number
start_offset: number
total_count: number
minimum0
success: boolean
MeetingAddParticipantResponse object { success, data }
success: boolean

Success status of the operation

data: optional object { id, token, created_at, 5 more }

Represents a participant.

id: string

ID of the participant.

formatuuid
token: string

The participant’s auth token that can be used for joining a meeting from the client side.

created_at: string

When this object was created. The time is returned in ISO format.

formatdate-time
custom_participant_id: string

A unique participant ID generated by the client.

preset_name: string

Preset applied to the participant.

updated_at: string

When this object was updated. The time is returned in ISO format.

formatdate-time
name: optional string

Name of the participant.

picture: optional string

URL to a picture of the participant.

formaturi
MeetingGetMeetingParticipantResponse object { data, success }
data: object { id, created_at, custom_participant_id, 4 more }

Data returned by the operation

id: string

ID of the participant.

formatuuid
created_at: string

When this object was created. The time is returned in ISO format.

formatdate-time
custom_participant_id: string

A unique participant ID generated by the client.

preset_name: string

Preset applied to the participant.

updated_at: string

When this object was updated. The time is returned in ISO format.

formatdate-time
name: optional string

Name of the participant.

picture: optional string

URL to a picture of the participant.

formaturi
success: boolean

Success status of the operation

MeetingEditParticipantResponse object { success, data }
success: boolean

Success status of the operation

data: optional object { id, token, created_at, 5 more }

Represents a participant.

id: string

ID of the participant.

formatuuid
token: string

The participant’s auth token that can be used for joining a meeting from the client side.

created_at: string

When this object was created. The time is returned in ISO format.

formatdate-time
custom_participant_id: string

A unique participant ID generated by the client.

preset_name: string

Preset applied to the participant.

updated_at: string

When this object was updated. The time is returned in ISO format.

formatdate-time
name: optional string

Name of the participant.

picture: optional string

URL to a picture of the participant.

formaturi
MeetingDeleteMeetingParticipantResponse object { success, data }
success: boolean

Success status of the operation

data: optional object { created_at, custom_participant_id, preset_id, updated_at }

Data returned by the operation

created_at: string

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

formatdate-time
custom_participant_id: string

A unique participant ID generated by the client.

preset_id: string

ID of the preset applied to this participant.

formatuuid
updated_at: string

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

formatdate-time
MeetingRefreshParticipantTokenResponse object { data, success }
data: object { token }

Data returned by the operation

token: string

Regenerated participant’s authentication token.

success: boolean

Success status of the operation

Realtime KitPresets

Fetch all presets
GET/accounts/{account_id}/realtime/kit/{app_id}/presets
Create a preset
POST/accounts/{account_id}/realtime/kit/{app_id}/presets
Fetch details of a preset
GET/accounts/{account_id}/realtime/kit/{app_id}/presets/{preset_id}
Delete a preset
DELETE/accounts/{account_id}/realtime/kit/{app_id}/presets/{preset_id}
Update a preset
PATCH/accounts/{account_id}/realtime/kit/{app_id}/presets/{preset_id}
Replace a preset
PUT/accounts/{account_id}/realtime/kit/{app_id}/presets/{preset_id}
ModelsExpand Collapse
PresetGetResponse object { data, paging, success }
data: array of object { id, created_at, name, updated_at }
id: optional string

ID of the preset

formatuuid
created_at: optional string

Timestamp this preset was created at

formatdate-time
name: optional string

Name of the preset

updated_at: optional string

Timestamp this preset was last updated

formatdate-time
paging: object { end_offset, start_offset, total_count }
end_offset: number
start_offset: number
total_count: number
minimum0
success: boolean
PresetCreateResponse object { data, success }
data: object { id, config, created_at, 4 more }

Data returned by the operation

id: string

ID of the preset

formatuuid
config: object { max_screenshare_count, max_video_streams, media, 2 more }
max_screenshare_count: number

Maximum number of screen shares that can be active at a given time

max_video_streams: object { desktop, mobile }

Maximum number of streams that are visible on a device

desktop: number

Maximum number of video streams visible on desktop devices

mobile: number

Maximum number of streams visible on mobile devices

media: object { screenshare, video, audio }

Media configuration options. eg: Video quality

screenshare: object { frame_rate, quality }

Configuration options for participant screen shares

frame_rate: number

Frame rate of screen share

quality: "hd" or "vga" or "qvga" or 2 more

Quality of screen share

One of the following:
"hd"
"vga"
"qvga"
"fhd"
"uhd"
video: object { frame_rate, quality, simulcast }

Configuration options for participant videos

frame_rate: number

Frame rate of participants’ video

maximum30
quality: "hd" or "vga" or "qvga" or 2 more

Video quality of participants

One of the following:
"hd"
"vga"
"qvga"
"fhd"
"uhd"
simulcast: optional boolean

Enable simulcast for participant videos.

audio: optional object { enable_high_bitrate, enable_stereo }

Control options for Audio quality.

enable_high_bitrate: optional boolean

Enable High Quality Audio for your meetings

enable_stereo: optional boolean

Enable Stereo for your meetings

view_type: "GROUP_CALL" or "WEBINAR" or "AUDIO_ROOM" or "LIVESTREAM"

Type of the meeting

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
"LIVESTREAM"
livestream_viewer_qualities: optional array of number

Livestream viewer quality levels.

created_at: string

Timestamp this preset was created at

formatdate-time
name: string

Name of the preset

permissions: object { accept_waiting_requests, can_accept_production_requests, can_change_participant_permissions, 23 more }
accept_waiting_requests: boolean

Whether this participant can accept waiting requests

can_accept_production_requests: boolean
can_change_participant_permissions: boolean
can_edit_display_name: boolean
can_livestream: boolean
can_record: boolean
can_spotlight: boolean
chat: object { private, public }
private: object { can_receive, can_send, files, text }
can_receive: boolean
can_send: boolean
files: boolean
text: boolean
public: object { can_send, files, text }
can_send: boolean

Can send messages in general

files: boolean

Can send file messages

text: boolean

Can send text messages

connected_meetings: object { can_alter_connected_meetings, can_switch_connected_meetings, can_switch_to_parent_meeting }
can_alter_connected_meetings: boolean
can_switch_connected_meetings: boolean
can_switch_to_parent_meeting: boolean
disable_participant_audio: boolean
disable_participant_screensharing: boolean
disable_participant_video: boolean
hidden_participant: boolean

Whether this participant is visible to others or not

kick_participant: boolean
media: object { audio, screenshare, video }

Media permissions

audio: object { can_produce }

Audio permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce audio

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
screenshare: object { can_produce }

Screenshare permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce screen share video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
video: object { can_produce }

Video permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
pin_participant: boolean
plugins: object { can_close, can_edit_config, can_start, config }

Plugin permissions

can_close: boolean

Can close plugins that are already open

can_edit_config: boolean

Can edit plugin config

can_start: boolean

Can start plugins

config: map[object { access_control, handles_view_only } ]

Plugin configuration keyed by plugin UUID.

access_control: optional "FULL_ACCESS" or "VIEW_ONLY"
One of the following:
"FULL_ACCESS"
"VIEW_ONLY"
handles_view_only: optional boolean
polls: object { can_create, can_view, can_vote }

Poll permissions

can_create: boolean

Can create polls

can_view: boolean

Can view polls

can_vote: boolean

Can vote on polls

recorder_type: "RECORDER" or "LIVESTREAMER" or "NONE"

Type of the recording peer

One of the following:
"RECORDER"
"LIVESTREAMER"
"NONE"
show_participant_list: boolean
waiting_room_type: "SKIP" or "ON_PRIVILEGED_USER_ENTRY" or "SKIP_ON_ACCEPT"

Waiting room type

One of the following:
"SKIP"
"ON_PRIVILEGED_USER_ENTRY"
"SKIP_ON_ACCEPT"
accept_stage_requests: optional boolean
is_recorder: optional boolean
stage_access: optional "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"
One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
stage_enabled: optional boolean
transcription_enabled: optional boolean
ui: object { design_tokens }
design_tokens: object { border_radius, border_width, colors, 5 more }
border_radius: "sharp" or "rounded" or "extra-rounded" or "circular"
One of the following:
"sharp"
"rounded"
"extra-rounded"
"circular"
border_width: "none" or "thin" or "fat"
One of the following:
"none"
"thin"
"fat"
colors: object { background, brand, danger, 5 more }
background: object { "1000", "600", "700", 2 more }
"1000": string
"600": string
"700": string
"800": string
"900": string
brand: object { "300", "400", "500", 2 more }
"300": string
"400": string
"500": string
"600": string
"700": string
danger: string
success: string
text: string
text_on_brand: string
video_bg: string
warning: string
spacing_base: number
minimum1
theme: "darkest" or "dark" or "light"
One of the following:
"darkest"
"dark"
"light"
font_family: optional string
google_font: optional string
updated_at: string

Timestamp this preset was last updated

formatdate-time
success: boolean

Success status of the operation

PresetGetPresetByIDResponse object { data, success }
data: object { id, config, created_at, 4 more }

Data returned by the operation

id: string

ID of the preset

formatuuid
config: object { max_screenshare_count, max_video_streams, media, 2 more }
max_screenshare_count: number

Maximum number of screen shares that can be active at a given time

max_video_streams: object { desktop, mobile }

Maximum number of streams that are visible on a device

desktop: number

Maximum number of video streams visible on desktop devices

mobile: number

Maximum number of streams visible on mobile devices

media: object { screenshare, video, audio }

Media configuration options. eg: Video quality

screenshare: object { frame_rate, quality }

Configuration options for participant screen shares

frame_rate: number

Frame rate of screen share

quality: "hd" or "vga" or "qvga" or 2 more

Quality of screen share

One of the following:
"hd"
"vga"
"qvga"
"fhd"
"uhd"
video: object { frame_rate, quality, simulcast }

Configuration options for participant videos

frame_rate: number

Frame rate of participants’ video

maximum30
quality: "hd" or "vga" or "qvga" or 2 more

Video quality of participants

One of the following:
"hd"
"vga"
"qvga"
"fhd"
"uhd"
simulcast: optional boolean

Enable simulcast for participant videos.

audio: optional object { enable_high_bitrate, enable_stereo }

Control options for Audio quality.

enable_high_bitrate: optional boolean

Enable High Quality Audio for your meetings

enable_stereo: optional boolean

Enable Stereo for your meetings

view_type: "GROUP_CALL" or "WEBINAR" or "AUDIO_ROOM" or "LIVESTREAM"

Type of the meeting

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
"LIVESTREAM"
livestream_viewer_qualities: optional array of number

Livestream viewer quality levels.

created_at: string

Timestamp this preset was created at

formatdate-time
name: string

Name of the preset

permissions: object { accept_waiting_requests, can_accept_production_requests, can_change_participant_permissions, 23 more }
accept_waiting_requests: boolean

Whether this participant can accept waiting requests

can_accept_production_requests: boolean
can_change_participant_permissions: boolean
can_edit_display_name: boolean
can_livestream: boolean
can_record: boolean
can_spotlight: boolean
chat: object { private, public }
private: object { can_receive, can_send, files, text }
can_receive: boolean
can_send: boolean
files: boolean
text: boolean
public: object { can_send, files, text }
can_send: boolean

Can send messages in general

files: boolean

Can send file messages

text: boolean

Can send text messages

connected_meetings: object { can_alter_connected_meetings, can_switch_connected_meetings, can_switch_to_parent_meeting }
can_alter_connected_meetings: boolean
can_switch_connected_meetings: boolean
can_switch_to_parent_meeting: boolean
disable_participant_audio: boolean
disable_participant_screensharing: boolean
disable_participant_video: boolean
hidden_participant: boolean

Whether this participant is visible to others or not

kick_participant: boolean
media: object { audio, screenshare, video }

Media permissions

audio: object { can_produce }

Audio permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce audio

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
screenshare: object { can_produce }

Screenshare permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce screen share video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
video: object { can_produce }

Video permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
pin_participant: boolean
plugins: object { can_close, can_edit_config, can_start, config }

Plugin permissions

can_close: boolean

Can close plugins that are already open

can_edit_config: boolean

Can edit plugin config

can_start: boolean

Can start plugins

config: map[object { access_control, handles_view_only } ]

Plugin configuration keyed by plugin UUID.

access_control: optional "FULL_ACCESS" or "VIEW_ONLY"
One of the following:
"FULL_ACCESS"
"VIEW_ONLY"
handles_view_only: optional boolean
polls: object { can_create, can_view, can_vote }

Poll permissions

can_create: boolean

Can create polls

can_view: boolean

Can view polls

can_vote: boolean

Can vote on polls

recorder_type: "RECORDER" or "LIVESTREAMER" or "NONE"

Type of the recording peer

One of the following:
"RECORDER"
"LIVESTREAMER"
"NONE"
show_participant_list: boolean
waiting_room_type: "SKIP" or "ON_PRIVILEGED_USER_ENTRY" or "SKIP_ON_ACCEPT"

Waiting room type

One of the following:
"SKIP"
"ON_PRIVILEGED_USER_ENTRY"
"SKIP_ON_ACCEPT"
accept_stage_requests: optional boolean
is_recorder: optional boolean
stage_access: optional "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"
One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
stage_enabled: optional boolean
transcription_enabled: optional boolean
ui: object { design_tokens }
design_tokens: object { border_radius, border_width, colors, 5 more }
border_radius: "sharp" or "rounded" or "extra-rounded" or "circular"
One of the following:
"sharp"
"rounded"
"extra-rounded"
"circular"
border_width: "none" or "thin" or "fat"
One of the following:
"none"
"thin"
"fat"
colors: object { background, brand, danger, 5 more }
background: object { "1000", "600", "700", 2 more }
"1000": string
"600": string
"700": string
"800": string
"900": string
brand: object { "300", "400", "500", 2 more }
"300": string
"400": string
"500": string
"600": string
"700": string
danger: string
success: string
text: string
text_on_brand: string
video_bg: string
warning: string
spacing_base: number
minimum1
theme: "darkest" or "dark" or "light"
One of the following:
"darkest"
"dark"
"light"
font_family: optional string
google_font: optional string
updated_at: string

Timestamp this preset was last updated

formatdate-time
success: boolean

Success status of the operation

PresetDeleteResponse object { data, success }
data: object { id, config, created_at, 4 more }

Data returned by the operation

id: string

ID of the preset

formatuuid
config: object { max_screenshare_count, max_video_streams, media, 2 more }
max_screenshare_count: number

Maximum number of screen shares that can be active at a given time

max_video_streams: object { desktop, mobile }

Maximum number of streams that are visible on a device

desktop: number

Maximum number of video streams visible on desktop devices

mobile: number

Maximum number of streams visible on mobile devices

media: object { screenshare, video, audio }

Media configuration options. eg: Video quality

screenshare: object { frame_rate, quality }

Configuration options for participant screen shares

frame_rate: number

Frame rate of screen share

quality: "hd" or "vga" or "qvga" or 2 more

Quality of screen share

One of the following:
"hd"
"vga"
"qvga"
"fhd"
"uhd"
video: object { frame_rate, quality, simulcast }

Configuration options for participant videos

frame_rate: number

Frame rate of participants’ video

maximum30
quality: "hd" or "vga" or "qvga" or 2 more

Video quality of participants

One of the following:
"hd"
"vga"
"qvga"
"fhd"
"uhd"
simulcast: optional boolean

Enable simulcast for participant videos.

audio: optional object { enable_high_bitrate, enable_stereo }

Control options for Audio quality.

enable_high_bitrate: optional boolean

Enable High Quality Audio for your meetings

enable_stereo: optional boolean

Enable Stereo for your meetings

view_type: "GROUP_CALL" or "WEBINAR" or "AUDIO_ROOM" or "LIVESTREAM"

Type of the meeting

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
"LIVESTREAM"
livestream_viewer_qualities: optional array of number

Livestream viewer quality levels.

created_at: string

Timestamp this preset was created at

formatdate-time
name: string

Name of the preset

permissions: object { accept_waiting_requests, can_accept_production_requests, can_change_participant_permissions, 23 more }
accept_waiting_requests: boolean

Whether this participant can accept waiting requests

can_accept_production_requests: boolean
can_change_participant_permissions: boolean
can_edit_display_name: boolean
can_livestream: boolean
can_record: boolean
can_spotlight: boolean
chat: object { private, public }
private: object { can_receive, can_send, files, text }
can_receive: boolean
can_send: boolean
files: boolean
text: boolean
public: object { can_send, files, text }
can_send: boolean

Can send messages in general

files: boolean

Can send file messages

text: boolean

Can send text messages

connected_meetings: object { can_alter_connected_meetings, can_switch_connected_meetings, can_switch_to_parent_meeting }
can_alter_connected_meetings: boolean
can_switch_connected_meetings: boolean
can_switch_to_parent_meeting: boolean
disable_participant_audio: boolean
disable_participant_screensharing: boolean
disable_participant_video: boolean
hidden_participant: boolean

Whether this participant is visible to others or not

kick_participant: boolean
media: object { audio, screenshare, video }

Media permissions

audio: object { can_produce }

Audio permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce audio

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
screenshare: object { can_produce }

Screenshare permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce screen share video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
video: object { can_produce }

Video permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
pin_participant: boolean
plugins: object { can_close, can_edit_config, can_start, config }

Plugin permissions

can_close: boolean

Can close plugins that are already open

can_edit_config: boolean

Can edit plugin config

can_start: boolean

Can start plugins

config: map[object { access_control, handles_view_only } ]

Plugin configuration keyed by plugin UUID.

access_control: optional "FULL_ACCESS" or "VIEW_ONLY"
One of the following:
"FULL_ACCESS"
"VIEW_ONLY"
handles_view_only: optional boolean
polls: object { can_create, can_view, can_vote }

Poll permissions

can_create: boolean

Can create polls

can_view: boolean

Can view polls

can_vote: boolean

Can vote on polls

recorder_type: "RECORDER" or "LIVESTREAMER" or "NONE"

Type of the recording peer

One of the following:
"RECORDER"
"LIVESTREAMER"
"NONE"
show_participant_list: boolean
waiting_room_type: "SKIP" or "ON_PRIVILEGED_USER_ENTRY" or "SKIP_ON_ACCEPT"

Waiting room type

One of the following:
"SKIP"
"ON_PRIVILEGED_USER_ENTRY"
"SKIP_ON_ACCEPT"
accept_stage_requests: optional boolean
is_recorder: optional boolean
stage_access: optional "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"
One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
stage_enabled: optional boolean
transcription_enabled: optional boolean
ui: object { design_tokens }
design_tokens: object { border_radius, border_width, colors, 5 more }
border_radius: "sharp" or "rounded" or "extra-rounded" or "circular"
One of the following:
"sharp"
"rounded"
"extra-rounded"
"circular"
border_width: "none" or "thin" or "fat"
One of the following:
"none"
"thin"
"fat"
colors: object { background, brand, danger, 5 more }
background: object { "1000", "600", "700", 2 more }
"1000": string
"600": string
"700": string
"800": string
"900": string
brand: object { "300", "400", "500", 2 more }
"300": string
"400": string
"500": string
"600": string
"700": string
danger: string
success: string
text: string
text_on_brand: string
video_bg: string
warning: string
spacing_base: number
minimum1
theme: "darkest" or "dark" or "light"
One of the following:
"darkest"
"dark"
"light"
font_family: optional string
google_font: optional string
updated_at: string

Timestamp this preset was last updated

formatdate-time
success: boolean

Success status of the operation

PresetUpdateResponse object { data, success }
data: object { id, config, created_at, 4 more }

Data returned by the operation

id: string

ID of the preset

formatuuid
config: object { max_screenshare_count, max_video_streams, media, 2 more }
max_screenshare_count: number

Maximum number of screen shares that can be active at a given time

max_video_streams: object { desktop, mobile }

Maximum number of streams that are visible on a device

desktop: number

Maximum number of video streams visible on desktop devices

mobile: number

Maximum number of streams visible on mobile devices

media: object { screenshare, video, audio }

Media configuration options. eg: Video quality

screenshare: object { frame_rate, quality }

Configuration options for participant screen shares

frame_rate: number

Frame rate of screen share

quality: "hd" or "vga" or "qvga" or 2 more

Quality of screen share

One of the following:
"hd"
"vga"
"qvga"
"fhd"
"uhd"
video: object { frame_rate, quality, simulcast }

Configuration options for participant videos

frame_rate: number

Frame rate of participants’ video

maximum30
quality: "hd" or "vga" or "qvga" or 2 more

Video quality of participants

One of the following:
"hd"
"vga"
"qvga"
"fhd"
"uhd"
simulcast: optional boolean

Enable simulcast for participant videos.

audio: optional object { enable_high_bitrate, enable_stereo }

Control options for Audio quality.

enable_high_bitrate: optional boolean

Enable High Quality Audio for your meetings

enable_stereo: optional boolean

Enable Stereo for your meetings

view_type: "GROUP_CALL" or "WEBINAR" or "AUDIO_ROOM" or "LIVESTREAM"

Type of the meeting

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
"LIVESTREAM"
livestream_viewer_qualities: optional array of number

Livestream viewer quality levels.

created_at: string

Timestamp this preset was created at

formatdate-time
name: string

Name of the preset

permissions: object { accept_waiting_requests, can_accept_production_requests, can_change_participant_permissions, 23 more }
accept_waiting_requests: boolean

Whether this participant can accept waiting requests

can_accept_production_requests: boolean
can_change_participant_permissions: boolean
can_edit_display_name: boolean
can_livestream: boolean
can_record: boolean
can_spotlight: boolean
chat: object { private, public }
private: object { can_receive, can_send, files, text }
can_receive: boolean
can_send: boolean
files: boolean
text: boolean
public: object { can_send, files, text }
can_send: boolean

Can send messages in general

files: boolean

Can send file messages

text: boolean

Can send text messages

connected_meetings: object { can_alter_connected_meetings, can_switch_connected_meetings, can_switch_to_parent_meeting }
can_alter_connected_meetings: boolean
can_switch_connected_meetings: boolean
can_switch_to_parent_meeting: boolean
disable_participant_audio: boolean
disable_participant_screensharing: boolean
disable_participant_video: boolean
hidden_participant: boolean

Whether this participant is visible to others or not

kick_participant: boolean
media: object { audio, screenshare, video }

Media permissions

audio: object { can_produce }

Audio permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce audio

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
screenshare: object { can_produce }

Screenshare permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce screen share video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
video: object { can_produce }

Video permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
pin_participant: boolean
plugins: object { can_close, can_edit_config, can_start, config }

Plugin permissions

can_close: boolean

Can close plugins that are already open

can_edit_config: boolean

Can edit plugin config

can_start: boolean

Can start plugins

config: map[object { access_control, handles_view_only } ]

Plugin configuration keyed by plugin UUID.

access_control: optional "FULL_ACCESS" or "VIEW_ONLY"
One of the following:
"FULL_ACCESS"
"VIEW_ONLY"
handles_view_only: optional boolean
polls: object { can_create, can_view, can_vote }

Poll permissions

can_create: boolean

Can create polls

can_view: boolean

Can view polls

can_vote: boolean

Can vote on polls

recorder_type: "RECORDER" or "LIVESTREAMER" or "NONE"

Type of the recording peer

One of the following:
"RECORDER"
"LIVESTREAMER"
"NONE"
show_participant_list: boolean
waiting_room_type: "SKIP" or "ON_PRIVILEGED_USER_ENTRY" or "SKIP_ON_ACCEPT"

Waiting room type

One of the following:
"SKIP"
"ON_PRIVILEGED_USER_ENTRY"
"SKIP_ON_ACCEPT"
accept_stage_requests: optional boolean
is_recorder: optional boolean
stage_access: optional "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"
One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
stage_enabled: optional boolean
transcription_enabled: optional boolean
ui: object { design_tokens }
design_tokens: object { border_radius, border_width, colors, 5 more }
border_radius: "sharp" or "rounded" or "extra-rounded" or "circular"
One of the following:
"sharp"
"rounded"
"extra-rounded"
"circular"
border_width: "none" or "thin" or "fat"
One of the following:
"none"
"thin"
"fat"
colors: object { background, brand, danger, 5 more }
background: object { "1000", "600", "700", 2 more }
"1000": string
"600": string
"700": string
"800": string
"900": string
brand: object { "300", "400", "500", 2 more }
"300": string
"400": string
"500": string
"600": string
"700": string
danger: string
success: string
text: string
text_on_brand: string
video_bg: string
warning: string
spacing_base: number
minimum1
theme: "darkest" or "dark" or "light"
One of the following:
"darkest"
"dark"
"light"
font_family: optional string
google_font: optional string
updated_at: string

Timestamp this preset was last updated

formatdate-time
success: boolean

Success status of the operation

PresetReplacePresetByIDResponse object { data, success }
data: object { id, config, created_at, 4 more }

Data returned by the operation

id: string

ID of the preset

formatuuid
config: object { max_screenshare_count, max_video_streams, media, 2 more }
max_screenshare_count: number

Maximum number of screen shares that can be active at a given time

max_video_streams: object { desktop, mobile }

Maximum number of streams that are visible on a device

desktop: number

Maximum number of video streams visible on desktop devices

mobile: number

Maximum number of streams visible on mobile devices

media: object { screenshare, video, audio }

Media configuration options. eg: Video quality

screenshare: object { frame_rate, quality }

Configuration options for participant screen shares

frame_rate: number

Frame rate of screen share

quality: "hd" or "vga" or "qvga" or 2 more

Quality of screen share

One of the following:
"hd"
"vga"
"qvga"
"fhd"
"uhd"
video: object { frame_rate, quality, simulcast }

Configuration options for participant videos

frame_rate: number

Frame rate of participants’ video

maximum30
quality: "hd" or "vga" or "qvga" or 2 more

Video quality of participants

One of the following:
"hd"
"vga"
"qvga"
"fhd"
"uhd"
simulcast: optional boolean

Enable simulcast for participant videos.

audio: optional object { enable_high_bitrate, enable_stereo }

Control options for Audio quality.

enable_high_bitrate: optional boolean

Enable High Quality Audio for your meetings

enable_stereo: optional boolean

Enable Stereo for your meetings

view_type: "GROUP_CALL" or "WEBINAR" or "AUDIO_ROOM" or "LIVESTREAM"

Type of the meeting

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
"LIVESTREAM"
livestream_viewer_qualities: optional array of number

Livestream viewer quality levels.

created_at: string

Timestamp this preset was created at

formatdate-time
name: string

Name of the preset

permissions: object { accept_waiting_requests, can_accept_production_requests, can_change_participant_permissions, 23 more }
accept_waiting_requests: boolean

Whether this participant can accept waiting requests

can_accept_production_requests: boolean
can_change_participant_permissions: boolean
can_edit_display_name: boolean
can_livestream: boolean
can_record: boolean
can_spotlight: boolean
chat: object { private, public }
private: object { can_receive, can_send, files, text }
can_receive: boolean
can_send: boolean
files: boolean
text: boolean
public: object { can_send, files, text }
can_send: boolean

Can send messages in general

files: boolean

Can send file messages

text: boolean

Can send text messages

connected_meetings: object { can_alter_connected_meetings, can_switch_connected_meetings, can_switch_to_parent_meeting }
can_alter_connected_meetings: boolean
can_switch_connected_meetings: boolean
can_switch_to_parent_meeting: boolean
disable_participant_audio: boolean
disable_participant_screensharing: boolean
disable_participant_video: boolean
hidden_participant: boolean

Whether this participant is visible to others or not

kick_participant: boolean
media: object { audio, screenshare, video }

Media permissions

audio: object { can_produce }

Audio permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce audio

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
screenshare: object { can_produce }

Screenshare permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce screen share video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
video: object { can_produce }

Video permissions

can_produce: "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"

Can produce video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
pin_participant: boolean
plugins: object { can_close, can_edit_config, can_start, config }

Plugin permissions

can_close: boolean

Can close plugins that are already open

can_edit_config: boolean

Can edit plugin config

can_start: boolean

Can start plugins

config: map[object { access_control, handles_view_only } ]

Plugin configuration keyed by plugin UUID.

access_control: optional "FULL_ACCESS" or "VIEW_ONLY"
One of the following:
"FULL_ACCESS"
"VIEW_ONLY"
handles_view_only: optional boolean
polls: object { can_create, can_view, can_vote }

Poll permissions

can_create: boolean

Can create polls

can_view: boolean

Can view polls

can_vote: boolean

Can vote on polls

recorder_type: "RECORDER" or "LIVESTREAMER" or "NONE"

Type of the recording peer

One of the following:
"RECORDER"
"LIVESTREAMER"
"NONE"
show_participant_list: boolean
waiting_room_type: "SKIP" or "ON_PRIVILEGED_USER_ENTRY" or "SKIP_ON_ACCEPT"

Waiting room type

One of the following:
"SKIP"
"ON_PRIVILEGED_USER_ENTRY"
"SKIP_ON_ACCEPT"
accept_stage_requests: optional boolean
is_recorder: optional boolean
stage_access: optional "ALLOWED" or "NOT_ALLOWED" or "CAN_REQUEST"
One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
stage_enabled: optional boolean
transcription_enabled: optional boolean
ui: object { design_tokens }
design_tokens: object { border_radius, border_width, colors, 5 more }
border_radius: "sharp" or "rounded" or "extra-rounded" or "circular"
One of the following:
"sharp"
"rounded"
"extra-rounded"
"circular"
border_width: "none" or "thin" or "fat"
One of the following:
"none"
"thin"
"fat"
colors: object { background, brand, danger, 5 more }
background: object { "1000", "600", "700", 2 more }
"1000": string
"600": string
"700": string
"800": string
"900": string
brand: object { "300", "400", "500", 2 more }
"300": string
"400": string
"500": string
"600": string
"700": string
danger: string
success: string
text: string
text_on_brand: string
video_bg: string
warning: string
spacing_base: number
minimum1
theme: "darkest" or "dark" or "light"
One of the following:
"darkest"
"dark"
"light"
font_family: optional string
google_font: optional string
updated_at: string

Timestamp this preset was last updated

formatdate-time
success: boolean

Success status of the operation

Realtime KitSessions

Fetch all sessions of an App
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions
Fetch details of a session
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}
Fetch participants list of a session
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/participants
Fetch details of a participant
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/participants/{participant_id}
Fetch all chat messages of a session
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/chat
Fetch the complete transcript for a session
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/transcript
Fetch summary of transcripts for a session
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/summary
Generate summary of Transcripts for the session
POST/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/summary
Fetch details of peer
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/peer-report/{peer_id}
ModelsExpand Collapse
SessionGetSessionsResponse object { data, paging, success }
data: optional object { sessions }
sessions: optional array of object { id, associated_id, created_at, 11 more }
id: string

ID of the session

associated_id: string

ID of the meeting this session is associated with. In the case of V2 meetings, it is always a UUID. In V1 meetings, it is a room name of the form abcdef-ghijkl

created_at: string

timestamp when session created

live_participants: number

number of participants currently in the session

max_concurrent_participants: number

number of maximum participants that were in the session

meeting_display_name: string

Title of the meeting this session belongs to

minutes_consumed: number

number of minutes consumed since the session started

organization_id: string

App id that hosted this session

started_at: string

timestamp when session started

status: "LIVE" or "ENDED"

current status of session

One of the following:
"LIVE"
"ENDED"
type: "meeting" or "livestream" or "participant"

type of session

One of the following:
"meeting"
"livestream"
"participant"
updated_at: string

timestamp when session was last updated

breakout_rooms: optional array of unknown
ended_at: optional string

timestamp when session ended

paging: optional object { end_offset, start_offset, total_count }
end_offset: optional number
start_offset: optional number
total_count: optional number
minimum0
success: optional boolean
SessionGetSessionDetailsResponse object { data, success }
data: optional object { id, associated_id, created_at, 11 more }
id: string

ID of the session

associated_id: string

ID of the meeting this session is associated with. In the case of V2 meetings, it is always a UUID. In V1 meetings, it is a room name of the form abcdef-ghijkl

created_at: string

timestamp when session created

live_participants: number

number of participants currently in the session

max_concurrent_participants: number

number of maximum participants that were in the session

meeting_display_name: string

Title of the meeting this session belongs to

minutes_consumed: number

number of minutes consumed since the session started

organization_id: string

App id that hosted this session

started_at: string

timestamp when session started

status: "LIVE" or "ENDED"

current status of session

One of the following:
"LIVE"
"ENDED"
type: "meeting" or "livestream" or "participant"

type of session

One of the following:
"meeting"
"livestream"
"participant"
updated_at: string

timestamp when session was last updated

breakout_rooms: optional array of unknown
ended_at: optional string

timestamp when session ended

success: optional boolean
SessionGetSessionParticipantsResponse object { data, success }
data: optional object { participants }
participants: optional array of object { id, created_at, custom_participant_id, 8 more }
id: optional string

Participant ID. This maps to the corresponding peerId.

created_at: optional string

timestamp when this participant was created.

custom_participant_id: optional string

ID passed by client to create this participant.

display_name: optional string

Display name of participant when joining the session.

duration: optional number

number of minutes for which the participant was in the session.

joined_at: optional string

timestamp at which participant joined the session.

left_at: optional string

timestamp at which participant left the session.

peer_events: optional array of object { id, created_at, event_name, 7 more }

Connection lifecycle events for the participant’s peer. Only included when include_peer_events is true.

id: optional string

ID of the peer event.

created_at: optional string

Timestamp when this peer event was created.

event_name: optional "PEER_CREATED" or "PEER_JOINING" or "PEER_LEAVING"

Name of the peer event.

One of the following:
"PEER_CREATED"
"PEER_JOINING"
"PEER_LEAVING"
minutes_consumed: optional number

Minutes consumed attributed to this event.

participant_id: optional string

ID of the participant this event belongs to.

peer_id: optional string

Peer ID this event belongs to.

preset_view_type: optional "GROUP_CALL" or "WEBINAR" or "AUDIO_ROOM" or 2 more

View type of the preset associated with the peer.

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
"LIVESTREAM"
"CHAT"
session_id: optional string

ID of the session this event belongs to.

socket_session_id: optional string

ID of the socket session associated with this event.

updated_at: optional string

Timestamp when this peer event was last updated.

preset_name: optional string

Name of the preset associated with the participant.

updated_at: optional string

timestamp when this participant’s data was last updated.

user_id: optional string

User id for this participant.

success: optional boolean
SessionGetSessionParticipantDetailsResponse object { data, success }
data: optional object { participant }
participant: optional object { id, created_at, custom_participant_id, 8 more }
id: optional string

Participant ID. This maps to the corresponding peerId.

created_at: optional string

timestamp when this participant was created.

custom_participant_id: optional string

ID passed by client to create this participant.

display_name: optional string

Display name of participant when joining the session.

duration: optional number

number of minutes for which the participant was in the session.

joined_at: optional string

timestamp at which participant joined the session.

left_at: optional string

timestamp at which participant left the session.

peer_events: optional array of object { id, created_at, event_name, 7 more }

Connection lifecycle events for the participant’s peer. Only included when include_peer_events is true.

id: optional string

ID of the peer event.

created_at: optional string

Timestamp when this peer event was created.

event_name: optional "PEER_CREATED" or "PEER_JOINING" or "PEER_LEAVING"

Name of the peer event.

One of the following:
"PEER_CREATED"
"PEER_JOINING"
"PEER_LEAVING"
minutes_consumed: optional number

Minutes consumed attributed to this event.

participant_id: optional string

ID of the participant this event belongs to.

peer_id: optional string

Peer ID this event belongs to.

preset_view_type: optional "GROUP_CALL" or "WEBINAR" or "AUDIO_ROOM" or 2 more

View type of the preset associated with the peer.

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
"LIVESTREAM"
"CHAT"
session_id: optional string

ID of the session this event belongs to.

socket_session_id: optional string

ID of the socket session associated with this event.

updated_at: optional string

Timestamp when this peer event was last updated.

preset_name: optional string

Name of the preset associated with the participant.

updated_at: optional string

timestamp when this participant’s data was last updated.

user_id: optional string

User id for this participant.

success: optional boolean
SessionGetSessionChatResponse object { data, success }
data: optional object { chat_download_url, chat_download_url_expiry }
chat_download_url: string

URL where the chat logs can be downloaded

chat_download_url_expiry: string

Time when the download URL will expire

success: optional boolean
SessionGetSessionTranscriptsResponse object { data, success }
data: optional object { sessionId, transcript_download_url, transcript_download_url_expiry }
sessionId: string
transcript_download_url: string

URL where the transcript can be downloaded

transcript_download_url_expiry: string

Time when the download URL will expire

success: optional boolean
SessionGetSessionSummaryResponse object { data, success }
data: optional object { sessionId, summaryDownloadUrl, summaryDownloadUrlExpiry }
sessionId: string
summaryDownloadUrl: string

URL where the summary of transcripts can be downloaded

summaryDownloadUrlExpiry: string

Time of Expiry before when you need to download the csv file.

success: optional boolean
SessionGenerateSummaryOfTranscriptsResponse object { data, success }
data: optional object { session_id, status }
session_id: optional string
formatuuid
status: optional string
success: optional boolean
SessionGetParticipantDataFromPeerIDResponse object { data, success }
data: optional object { participant }
participant: optional object { id, created_at, custom_participant_id, 10 more }
id: optional string

ID of the participant.

formatuuid
created_at: optional string

timestamp when this participant was created.

custom_participant_id: optional string

ID passed by client to create this participant.

display_name: optional string

Display name of participant when joining the session.

duration: optional number

number of minutes for which the participant was in the session.

joined_at: optional string

timestamp at which participant joined the session.

left_at: optional string

timestamp at which participant left the session.

peer_events: optional array of object { id, created_at, event_name, 7 more }

Connection lifecycle events for the participant’s peer.

id: optional string

ID of the peer event.

created_at: optional string

Timestamp when this peer event was created.

event_name: optional "PEER_CREATED" or "PEER_JOINING" or "PEER_LEAVING"

Name of the peer event.

One of the following:
"PEER_CREATED"
"PEER_JOINING"
"PEER_LEAVING"
minutes_consumed: optional number

Minutes consumed attributed to this event.

participant_id: optional string

ID of the participant this event belongs to.

peer_id: optional string

Peer ID this event belongs to.

preset_view_type: optional "GROUP_CALL" or "WEBINAR" or "AUDIO_ROOM" or 2 more

View type of the preset associated with the peer.

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
"LIVESTREAM"
"CHAT"
session_id: optional string

ID of the session this event belongs to.

socket_session_id: optional string

ID of the socket session associated with this event.

updated_at: optional string

Timestamp when this peer event was last updated.

peer_report: optional object { metadata, quality }

Peer call statistics report.

metadata: optional object { audio_devices_updates, browser_metadata, candidate_pairs, 12 more }

Connection and device metadata for the participant.

audio_devices_updates: optional array of object { added, removed, timestamp }
added: optional array of object { device_id, kind, label }

Devices that became available.

device_id: optional string

ID of the device.

kind: optional string

Kind of device, for example audioinput or videoinput.

label: optional string

Human-readable label of the device.

removed: optional array of object { device_id, kind, label }

Devices that became unavailable.

device_id: optional string

ID of the device.

kind: optional string

Kind of device, for example audioinput or videoinput.

label: optional string

Human-readable label of the device.

timestamp: optional string

Timestamp of the device update.

browser_metadata: optional object { browser, browser_version, engine, 2 more }
browser: optional string
browser_version: optional string
engine: optional string
user_agent: optional string
webgl_support: optional boolean
candidate_pairs: optional object { consuming_transport, producing_transport }
consuming_transport: optional array of object { available_incoming_bitrate, available_outgoing_bitrate, bytes_discarded_on_send, 25 more }
available_incoming_bitrate: optional number
available_outgoing_bitrate: optional number
bytes_discarded_on_send: optional number
bytes_received: optional number
bytes_sent: optional number
current_round_trip_time: optional number
last_packet_received_timestamp: optional number

Epoch milliseconds when the last packet was received.

last_packet_sent_timestamp: optional number

Epoch milliseconds when the last packet was sent.

local_candidate_address: optional string
local_candidate_id: optional string
local_candidate_network_type: optional string
local_candidate_port: optional number
local_candidate_protocol: optional string
local_candidate_type: optional string
local_candidate_url: optional string
nominated: optional boolean
packets_discarded_on_send: optional number
packets_received: optional number
packets_sent: optional number
remote_candidate_address: optional string
remote_candidate_id: optional string
remote_candidate_port: optional number
remote_candidate_protocol: optional string
remote_candidate_type: optional string
remote_candidate_url: optional string
total_round_trip_time: optional number
producing_transport: optional array of object { available_incoming_bitrate, available_outgoing_bitrate, bytes_discarded_on_send, 25 more }
available_incoming_bitrate: optional number
available_outgoing_bitrate: optional number
bytes_discarded_on_send: optional number
bytes_received: optional number
bytes_sent: optional number
current_round_trip_time: optional number
last_packet_received_timestamp: optional number

Epoch milliseconds when the last packet was received.

last_packet_sent_timestamp: optional number

Epoch milliseconds when the last packet was sent.

local_candidate_address: optional string
local_candidate_id: optional string
local_candidate_network_type: optional string
local_candidate_port: optional number
local_candidate_protocol: optional string
local_candidate_type: optional string
local_candidate_url: optional string
nominated: optional boolean
packets_discarded_on_send: optional number
packets_received: optional number
packets_sent: optional number
remote_candidate_address: optional string
remote_candidate_id: optional string
remote_candidate_port: optional number
remote_candidate_protocol: optional string
remote_candidate_type: optional string
remote_candidate_url: optional string
total_round_trip_time: optional number
device_info: optional object { cpus, is_mobile, os, os_version }
cpus: optional number
is_mobile: optional boolean
os: optional string
os_version: optional string
events: optional array of object { metadata, name, timestamp }
metadata: optional map[string or number or boolean]

Event-specific metadata. Keys vary per event; values are primitive scalars (string, number, boolean, or null).

One of the following:
string
number
boolean