Skip to content
Start here

Presets

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}
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, name, 2 more }

Data returned by the operation

id: string

ID of the preset

formatuuid
config: object { max_screenshare_count, max_video_streams, media, view_type }
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"

Quality of screen share

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

Configuration options for participant videos

frame_rate: number

Frame rate of participants' video

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

Video quality of participants

One of the following:
"hd"
"vga"
"qvga"
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"

Type of the meeting

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
name: string

Name of the preset

ui: object { design_tokens, config_diff }
design_tokens: object { border_radius, border_width, colors, 3 more }
border_radius: "rounded"
border_width: "thin"
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
theme: "dark"
config_diff: optional unknown
permissions: optional object { accept_waiting_requests, can_accept_production_requests, can_change_participant_permissions, 19 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 }

Chat permissions

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: string or object { access_control, handles_view_only }
One of the following:
string
object { access_control, handles_view_only }
access_control: "FULL_ACCESS" or "VIEW_ONLY"
One of the following:
"FULL_ACCESS"
"VIEW_ONLY"
handles_view_only: 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"
is_recorder: optional boolean
success: boolean

Success status of the operation

PresetGetPresetByIDResponse = object { data, success }
data: object { id, config, name, 2 more }

Data returned by the operation

id: string

ID of the preset

formatuuid
config: object { max_screenshare_count, max_video_streams, media, view_type }
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"

Quality of screen share

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

Configuration options for participant videos

frame_rate: number

Frame rate of participants' video

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

Video quality of participants

One of the following:
"hd"
"vga"
"qvga"
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"

Type of the meeting

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
name: string

Name of the preset

ui: object { design_tokens, config_diff }
design_tokens: object { border_radius, border_width, colors, 3 more }
border_radius: "rounded"
border_width: "thin"
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
theme: "dark"
config_diff: optional unknown
permissions: optional object { accept_waiting_requests, can_accept_production_requests, can_change_participant_permissions, 19 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 }

Chat permissions

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: string or object { access_control, handles_view_only }
One of the following:
string
object { access_control, handles_view_only }
access_control: "FULL_ACCESS" or "VIEW_ONLY"
One of the following:
"FULL_ACCESS"
"VIEW_ONLY"
handles_view_only: 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"
is_recorder: optional boolean
success: boolean

Success status of the operation

PresetDeleteResponse = object { data, success }
data: object { id, config, name, 2 more }

Data returned by the operation

id: string

ID of the preset

formatuuid
config: object { max_screenshare_count, max_video_streams, media, view_type }
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"

Quality of screen share

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

Configuration options for participant videos

frame_rate: number

Frame rate of participants' video

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

Video quality of participants

One of the following:
"hd"
"vga"
"qvga"
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"

Type of the meeting

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
name: string

Name of the preset

ui: object { design_tokens, config_diff }
design_tokens: object { border_radius, border_width, colors, 3 more }
border_radius: "rounded"
border_width: "thin"
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
theme: "dark"
config_diff: optional unknown
permissions: optional object { accept_waiting_requests, can_accept_production_requests, can_change_participant_permissions, 19 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 }

Chat permissions

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: string or object { access_control, handles_view_only }
One of the following:
string
object { access_control, handles_view_only }
access_control: "FULL_ACCESS" or "VIEW_ONLY"
One of the following:
"FULL_ACCESS"
"VIEW_ONLY"
handles_view_only: 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"
is_recorder: optional boolean
success: boolean

Success status of the operation

PresetUpdateResponse = object { data, success }
data: object { id, config, name, 2 more }

Data returned by the operation

id: string

ID of the preset

formatuuid
config: object { max_screenshare_count, max_video_streams, media, view_type }
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"

Quality of screen share

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

Configuration options for participant videos

frame_rate: number

Frame rate of participants' video

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

Video quality of participants

One of the following:
"hd"
"vga"
"qvga"
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"

Type of the meeting

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
name: string

Name of the preset

ui: object { design_tokens, config_diff }
design_tokens: object { border_radius, border_width, colors, 3 more }
border_radius: "rounded"
border_width: "thin"
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
theme: "dark"
config_diff: optional unknown
permissions: optional object { accept_waiting_requests, can_accept_production_requests, can_change_participant_permissions, 19 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 }

Chat permissions

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: string or object { access_control, handles_view_only }
One of the following:
string
object { access_control, handles_view_only }
access_control: "FULL_ACCESS" or "VIEW_ONLY"
One of the following:
"FULL_ACCESS"
"VIEW_ONLY"
handles_view_only: 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"
is_recorder: optional boolean
success: boolean

Success status of the operation