Skip to content
Start here

Create a preset

client.RealtimeKit.Presets.New(ctx, appID, params) (*PresetNewResponse, error)
POST/accounts/{account_id}/realtime/kit/{app_id}/presets

Creates a preset belonging to the current App

Security

API Token

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

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

The app identifier tag.

maxLength32
params PresetNewParams
AccountID param.Field[string]

Path param: The account identifier tag.

maxLength32
Config param.Field[PresetNewParamsConfig]

Body param

MaxScreenshareCount int64

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

MaxVideoStreams PresetNewParamsConfigMaxVideoStreams

Maximum number of streams that are visible on a device

Desktop int64

Maximum number of video streams visible on desktop devices

Mobile int64

Maximum number of streams visible on mobile devices

Media PresetNewParamsConfigMedia

Media configuration options. eg: Video quality

Screenshare PresetNewParamsConfigMediaScreenshare

Configuration options for participant screen shares

FrameRate int64

Frame rate of screen share

Quality PresetNewParamsConfigMediaScreenshareQuality

Quality of screen share

One of the following:
const PresetNewParamsConfigMediaScreenshareQualityHD PresetNewParamsConfigMediaScreenshareQuality = "hd"
const PresetNewParamsConfigMediaScreenshareQualityVga PresetNewParamsConfigMediaScreenshareQuality = "vga"
const PresetNewParamsConfigMediaScreenshareQualityQvga PresetNewParamsConfigMediaScreenshareQuality = "qvga"
Video PresetNewParamsConfigMediaVideo

Configuration options for participant videos

FrameRate int64

Frame rate of participants' video

maximum30
Quality PresetNewParamsConfigMediaVideoQuality

Video quality of participants

One of the following:
const PresetNewParamsConfigMediaVideoQualityHD PresetNewParamsConfigMediaVideoQuality = "hd"
const PresetNewParamsConfigMediaVideoQualityVga PresetNewParamsConfigMediaVideoQuality = "vga"
const PresetNewParamsConfigMediaVideoQualityQvga PresetNewParamsConfigMediaVideoQuality = "qvga"
Audio PresetNewParamsConfigMediaAudiooptional

Control options for Audio quality.

EnableHighBitrate booloptional

Enable High Quality Audio for your meetings

EnableStereo booloptional

Enable Stereo for your meetings

ViewType PresetNewParamsConfigViewType

Type of the meeting

One of the following:
const PresetNewParamsConfigViewTypeGroupCall PresetNewParamsConfigViewType = "GROUP_CALL"
const PresetNewParamsConfigViewTypeWebinar PresetNewParamsConfigViewType = "WEBINAR"
const PresetNewParamsConfigViewTypeAudioRoom PresetNewParamsConfigViewType = "AUDIO_ROOM"
Name param.Field[string]

Body param: Name of the preset

UI param.Field[PresetNewParamsUI]

Body param

DesignTokens PresetNewParamsUIDesignTokens
BorderRadius PresetNewParamsUIDesignTokensBorderRadius
BorderWidth PresetNewParamsUIDesignTokensBorderWidth
Colors PresetNewParamsUIDesignTokensColors
Background PresetNewParamsUIDesignTokensColorsBackground
Number1000 string
Number600 string
Number700 string
Number800 string
Number900 string
Brand PresetNewParamsUIDesignTokensColorsBrand
Number300 string
Number400 string
Number500 string
Number600 string
Number700 string
Danger string
Success string
Text string
TextOnBrand string
VideoBg string
Warning string
SpacingBase float64
Theme PresetNewParamsUIDesignTokensTheme
ConfigDiff unknownoptional
Permissions param.Field[PresetNewParamsPermissions]optional

Body param

AcceptWaitingRequests bool

Whether this participant can accept waiting requests

CanAcceptProductionRequests bool
CanChangeParticipantPermissions bool
CanEditDisplayName bool
CanLivestream bool
CanRecord bool
CanSpotlight bool
Chat PresetNewParamsPermissionsChat

Chat permissions

Private PresetNewParamsPermissionsChatPrivate
CanReceive bool
CanSend bool
Files bool
Text bool
Public PresetNewParamsPermissionsChatPublic
CanSend bool

Can send messages in general

Files bool

Can send file messages

Text bool

Can send text messages

ConnectedMeetings PresetNewParamsPermissionsConnectedMeetings
CanAlterConnectedMeetings bool
CanSwitchConnectedMeetings bool
CanSwitchToParentMeeting bool
DisableParticipantAudio bool
DisableParticipantScreensharing bool
DisableParticipantVideo bool
HiddenParticipant bool

Whether this participant is visible to others or not

KickParticipant bool
Media PresetNewParamsPermissionsMedia

Media permissions

Audio PresetNewParamsPermissionsMediaAudio

Audio permissions

CanProduce PresetNewParamsPermissionsMediaAudioCanProduce

Can produce audio

One of the following:
const PresetNewParamsPermissionsMediaAudioCanProduceAllowed PresetNewParamsPermissionsMediaAudioCanProduce = "ALLOWED"
const PresetNewParamsPermissionsMediaAudioCanProduceNotAllowed PresetNewParamsPermissionsMediaAudioCanProduce = "NOT_ALLOWED"
const PresetNewParamsPermissionsMediaAudioCanProduceCanRequest PresetNewParamsPermissionsMediaAudioCanProduce = "CAN_REQUEST"
Screenshare PresetNewParamsPermissionsMediaScreenshare

Screenshare permissions

CanProduce PresetNewParamsPermissionsMediaScreenshareCanProduce

Can produce screen share video

One of the following:
const PresetNewParamsPermissionsMediaScreenshareCanProduceAllowed PresetNewParamsPermissionsMediaScreenshareCanProduce = "ALLOWED"
const PresetNewParamsPermissionsMediaScreenshareCanProduceNotAllowed PresetNewParamsPermissionsMediaScreenshareCanProduce = "NOT_ALLOWED"
const PresetNewParamsPermissionsMediaScreenshareCanProduceCanRequest PresetNewParamsPermissionsMediaScreenshareCanProduce = "CAN_REQUEST"
Video PresetNewParamsPermissionsMediaVideo

Video permissions

CanProduce PresetNewParamsPermissionsMediaVideoCanProduce

Can produce video

One of the following:
const PresetNewParamsPermissionsMediaVideoCanProduceAllowed PresetNewParamsPermissionsMediaVideoCanProduce = "ALLOWED"
const PresetNewParamsPermissionsMediaVideoCanProduceNotAllowed PresetNewParamsPermissionsMediaVideoCanProduce = "NOT_ALLOWED"
const PresetNewParamsPermissionsMediaVideoCanProduceCanRequest PresetNewParamsPermissionsMediaVideoCanProduce = "CAN_REQUEST"
PinParticipant bool
Plugins PresetNewParamsPermissionsPlugins

Plugin permissions

CanClose bool

Can close plugins that are already open

CanEditConfig bool

Can edit plugin config

CanStart bool

Can start plugins

Config PresetNewParamsPermissionsPluginsConfigUnion
One of the following:
UnionString
type PresetNewParamsPermissionsPluginsConfigObject struct{…}
AccessControl PresetNewParamsPermissionsPluginsConfigObjectAccessControl
One of the following:
const PresetNewParamsPermissionsPluginsConfigObjectAccessControlFullAccess PresetNewParamsPermissionsPluginsConfigObjectAccessControl = "FULL_ACCESS"
const PresetNewParamsPermissionsPluginsConfigObjectAccessControlViewOnly PresetNewParamsPermissionsPluginsConfigObjectAccessControl = "VIEW_ONLY"
HandlesViewOnly bool
Polls PresetNewParamsPermissionsPolls

Poll permissions

CanCreate bool

Can create polls

CanView bool

Can view polls

CanVote bool

Can vote on polls

RecorderType PresetNewParamsPermissionsRecorderType

Type of the recording peer

One of the following:
const PresetNewParamsPermissionsRecorderTypeRecorder PresetNewParamsPermissionsRecorderType = "RECORDER"
const PresetNewParamsPermissionsRecorderTypeLivestreamer PresetNewParamsPermissionsRecorderType = "LIVESTREAMER"
const PresetNewParamsPermissionsRecorderTypeNone PresetNewParamsPermissionsRecorderType = "NONE"
ShowParticipantList bool
WaitingRoomType PresetNewParamsPermissionsWaitingRoomType

Waiting room type

One of the following:
const PresetNewParamsPermissionsWaitingRoomTypeSkip PresetNewParamsPermissionsWaitingRoomType = "SKIP"
const PresetNewParamsPermissionsWaitingRoomTypeOnPrivilegedUserEntry PresetNewParamsPermissionsWaitingRoomType = "ON_PRIVILEGED_USER_ENTRY"
const PresetNewParamsPermissionsWaitingRoomTypeSkipOnAccept PresetNewParamsPermissionsWaitingRoomType = "SKIP_ON_ACCEPT"
IsRecorder booloptional
ReturnsExpand Collapse
type PresetNewResponse struct{…}
Data PresetNewResponseData

Data returned by the operation

ID string

ID of the preset

formatuuid
Config PresetNewResponseDataConfig
MaxScreenshareCount int64

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

MaxVideoStreams PresetNewResponseDataConfigMaxVideoStreams

Maximum number of streams that are visible on a device

Desktop int64

Maximum number of video streams visible on desktop devices

Mobile int64

Maximum number of streams visible on mobile devices

Media PresetNewResponseDataConfigMedia

Media configuration options. eg: Video quality

Screenshare PresetNewResponseDataConfigMediaScreenshare

Configuration options for participant screen shares

FrameRate int64

Frame rate of screen share

Quality PresetNewResponseDataConfigMediaScreenshareQuality

Quality of screen share

One of the following:
const PresetNewResponseDataConfigMediaScreenshareQualityHD PresetNewResponseDataConfigMediaScreenshareQuality = "hd"
const PresetNewResponseDataConfigMediaScreenshareQualityVga PresetNewResponseDataConfigMediaScreenshareQuality = "vga"
const PresetNewResponseDataConfigMediaScreenshareQualityQvga PresetNewResponseDataConfigMediaScreenshareQuality = "qvga"
Video PresetNewResponseDataConfigMediaVideo

Configuration options for participant videos

FrameRate int64

Frame rate of participants' video

maximum30
Quality PresetNewResponseDataConfigMediaVideoQuality

Video quality of participants

One of the following:
const PresetNewResponseDataConfigMediaVideoQualityHD PresetNewResponseDataConfigMediaVideoQuality = "hd"
const PresetNewResponseDataConfigMediaVideoQualityVga PresetNewResponseDataConfigMediaVideoQuality = "vga"
const PresetNewResponseDataConfigMediaVideoQualityQvga PresetNewResponseDataConfigMediaVideoQuality = "qvga"
Audio PresetNewResponseDataConfigMediaAudiooptional

Control options for Audio quality.

EnableHighBitrate booloptional

Enable High Quality Audio for your meetings

EnableStereo booloptional

Enable Stereo for your meetings

ViewType PresetNewResponseDataConfigViewType

Type of the meeting

One of the following:
const PresetNewResponseDataConfigViewTypeGroupCall PresetNewResponseDataConfigViewType = "GROUP_CALL"
const PresetNewResponseDataConfigViewTypeWebinar PresetNewResponseDataConfigViewType = "WEBINAR"
const PresetNewResponseDataConfigViewTypeAudioRoom PresetNewResponseDataConfigViewType = "AUDIO_ROOM"
Name string

Name of the preset

UI PresetNewResponseDataUI
DesignTokens PresetNewResponseDataUIDesignTokens
BorderRadius PresetNewResponseDataUIDesignTokensBorderRadius
BorderWidth PresetNewResponseDataUIDesignTokensBorderWidth
Colors PresetNewResponseDataUIDesignTokensColors
Background PresetNewResponseDataUIDesignTokensColorsBackground
Number1000 string
Number600 string
Number700 string
Number800 string
Number900 string
Brand PresetNewResponseDataUIDesignTokensColorsBrand
Number300 string
Number400 string
Number500 string
Number600 string
Number700 string
Danger string
Success string
Text string
TextOnBrand string
VideoBg string
Warning string
SpacingBase float64
Theme PresetNewResponseDataUIDesignTokensTheme
ConfigDiff unknownoptional
Permissions PresetNewResponseDataPermissionsoptional
AcceptWaitingRequests bool

Whether this participant can accept waiting requests

CanAcceptProductionRequests bool
CanChangeParticipantPermissions bool
CanEditDisplayName bool
CanLivestream bool
CanRecord bool
CanSpotlight bool
Chat PresetNewResponseDataPermissionsChat

Chat permissions

Private PresetNewResponseDataPermissionsChatPrivate
CanReceive bool
CanSend bool
Files bool
Text bool
Public PresetNewResponseDataPermissionsChatPublic
CanSend bool

Can send messages in general

Files bool

Can send file messages

Text bool

Can send text messages

ConnectedMeetings PresetNewResponseDataPermissionsConnectedMeetings
CanAlterConnectedMeetings bool
CanSwitchConnectedMeetings bool
CanSwitchToParentMeeting bool
DisableParticipantAudio bool
DisableParticipantScreensharing bool
DisableParticipantVideo bool
HiddenParticipant bool

Whether this participant is visible to others or not

KickParticipant bool
Media PresetNewResponseDataPermissionsMedia

Media permissions

Audio PresetNewResponseDataPermissionsMediaAudio

Audio permissions

CanProduce PresetNewResponseDataPermissionsMediaAudioCanProduce

Can produce audio

One of the following:
const PresetNewResponseDataPermissionsMediaAudioCanProduceAllowed PresetNewResponseDataPermissionsMediaAudioCanProduce = "ALLOWED"
const PresetNewResponseDataPermissionsMediaAudioCanProduceNotAllowed PresetNewResponseDataPermissionsMediaAudioCanProduce = "NOT_ALLOWED"
const PresetNewResponseDataPermissionsMediaAudioCanProduceCanRequest PresetNewResponseDataPermissionsMediaAudioCanProduce = "CAN_REQUEST"
Screenshare PresetNewResponseDataPermissionsMediaScreenshare

Screenshare permissions

CanProduce PresetNewResponseDataPermissionsMediaScreenshareCanProduce

Can produce screen share video

One of the following:
const PresetNewResponseDataPermissionsMediaScreenshareCanProduceAllowed PresetNewResponseDataPermissionsMediaScreenshareCanProduce = "ALLOWED"
const PresetNewResponseDataPermissionsMediaScreenshareCanProduceNotAllowed PresetNewResponseDataPermissionsMediaScreenshareCanProduce = "NOT_ALLOWED"
const PresetNewResponseDataPermissionsMediaScreenshareCanProduceCanRequest PresetNewResponseDataPermissionsMediaScreenshareCanProduce = "CAN_REQUEST"
Video PresetNewResponseDataPermissionsMediaVideo

Video permissions

CanProduce PresetNewResponseDataPermissionsMediaVideoCanProduce

Can produce video

One of the following:
const PresetNewResponseDataPermissionsMediaVideoCanProduceAllowed PresetNewResponseDataPermissionsMediaVideoCanProduce = "ALLOWED"
const PresetNewResponseDataPermissionsMediaVideoCanProduceNotAllowed PresetNewResponseDataPermissionsMediaVideoCanProduce = "NOT_ALLOWED"
const PresetNewResponseDataPermissionsMediaVideoCanProduceCanRequest PresetNewResponseDataPermissionsMediaVideoCanProduce = "CAN_REQUEST"
PinParticipant bool
Plugins PresetNewResponseDataPermissionsPlugins

Plugin permissions

CanClose bool

Can close plugins that are already open

CanEditConfig bool

Can edit plugin config

CanStart bool

Can start plugins

Config PresetNewResponseDataPermissionsPluginsConfigUnion
One of the following:
UnionString
type PresetNewResponseDataPermissionsPluginsConfigObject struct{…}
AccessControl PresetNewResponseDataPermissionsPluginsConfigObjectAccessControl
One of the following:
const PresetNewResponseDataPermissionsPluginsConfigObjectAccessControlFullAccess PresetNewResponseDataPermissionsPluginsConfigObjectAccessControl = "FULL_ACCESS"
const PresetNewResponseDataPermissionsPluginsConfigObjectAccessControlViewOnly PresetNewResponseDataPermissionsPluginsConfigObjectAccessControl = "VIEW_ONLY"
HandlesViewOnly bool
Polls PresetNewResponseDataPermissionsPolls

Poll permissions

CanCreate bool

Can create polls

CanView bool

Can view polls

CanVote bool

Can vote on polls

RecorderType PresetNewResponseDataPermissionsRecorderType

Type of the recording peer

One of the following:
const PresetNewResponseDataPermissionsRecorderTypeRecorder PresetNewResponseDataPermissionsRecorderType = "RECORDER"
const PresetNewResponseDataPermissionsRecorderTypeLivestreamer PresetNewResponseDataPermissionsRecorderType = "LIVESTREAMER"
const PresetNewResponseDataPermissionsRecorderTypeNone PresetNewResponseDataPermissionsRecorderType = "NONE"
ShowParticipantList bool
WaitingRoomType PresetNewResponseDataPermissionsWaitingRoomType

Waiting room type

One of the following:
const PresetNewResponseDataPermissionsWaitingRoomTypeSkip PresetNewResponseDataPermissionsWaitingRoomType = "SKIP"
const PresetNewResponseDataPermissionsWaitingRoomTypeOnPrivilegedUserEntry PresetNewResponseDataPermissionsWaitingRoomType = "ON_PRIVILEGED_USER_ENTRY"
const PresetNewResponseDataPermissionsWaitingRoomTypeSkipOnAccept PresetNewResponseDataPermissionsWaitingRoomType = "SKIP_ON_ACCEPT"
IsRecorder booloptional
Success bool

Success status of the operation

Create a preset

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/option"
  "github.com/cloudflare/cloudflare-go/realtime_kit"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  preset, err := client.RealtimeKit.Presets.New(
    context.TODO(),
    "app_id",
    realtime_kit.PresetNewParams{
      AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
      Config: cloudflare.F(realtime_kit.PresetNewParamsConfig{
        MaxScreenshareCount: cloudflare.F(int64(0)),
        MaxVideoStreams: cloudflare.F(realtime_kit.PresetNewParamsConfigMaxVideoStreams{
          Desktop: cloudflare.F(int64(0)),
          Mobile: cloudflare.F(int64(0)),
        }),
        Media: cloudflare.F(realtime_kit.PresetNewParamsConfigMedia{
          Screenshare: cloudflare.F(realtime_kit.PresetNewParamsConfigMediaScreenshare{
            FrameRate: cloudflare.F(int64(0)),
            Quality: cloudflare.F(realtime_kit.PresetNewParamsConfigMediaScreenshareQualityHD),
          }),
          Video: cloudflare.F(realtime_kit.PresetNewParamsConfigMediaVideo{
            FrameRate: cloudflare.F(int64(30)),
            Quality: cloudflare.F(realtime_kit.PresetNewParamsConfigMediaVideoQualityHD),
          }),
        }),
        ViewType: cloudflare.F(realtime_kit.PresetNewParamsConfigViewTypeGroupCall),
      }),
      Name: cloudflare.F("name"),
      UI: cloudflare.F(realtime_kit.PresetNewParamsUI{
        DesignTokens: cloudflare.F(realtime_kit.PresetNewParamsUIDesignTokens{
          BorderRadius: cloudflare.F(realtime_kit.PresetNewParamsUIDesignTokensBorderRadiusRounded),
          BorderWidth: cloudflare.F(realtime_kit.PresetNewParamsUIDesignTokensBorderWidthThin),
          Colors: cloudflare.F(realtime_kit.PresetNewParamsUIDesignTokensColors{
            Background: cloudflare.F(realtime_kit.PresetNewParamsUIDesignTokensColorsBackground{
              Number600: cloudflare.F("600"),
              Number700: cloudflare.F("700"),
              Number800: cloudflare.F("800"),
              Number900: cloudflare.F("900"),
              Number1000: cloudflare.F("1000"),
            }),
            Brand: cloudflare.F(realtime_kit.PresetNewParamsUIDesignTokensColorsBrand{
              Number300: cloudflare.F("300"),
              Number400: cloudflare.F("400"),
              Number500: cloudflare.F("500"),
              Number600: cloudflare.F("600"),
              Number700: cloudflare.F("700"),
            }),
            Danger: cloudflare.F("danger"),
            Success: cloudflare.F("success"),
            Text: cloudflare.F("text"),
            TextOnBrand: cloudflare.F("text_on_brand"),
            VideoBg: cloudflare.F("video_bg"),
            Warning: cloudflare.F("warning"),
          }),
          Logo: cloudflare.F("logo"),
          SpacingBase: cloudflare.F(0.000000),
          Theme: cloudflare.F(realtime_kit.PresetNewParamsUIDesignTokensThemeDark),
        }),
      }),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", preset.Data)
}
{
  "data": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "config": {
      "max_screenshare_count": 0,
      "max_video_streams": {
        "desktop": 0,
        "mobile": 0
      },
      "media": {
        "screenshare": {
          "frame_rate": 0,
          "quality": "hd"
        },
        "video": {
          "frame_rate": 30,
          "quality": "hd"
        },
        "audio": {
          "enable_high_bitrate": true,
          "enable_stereo": true
        }
      },
      "view_type": "GROUP_CALL"
    },
    "name": "name",
    "ui": {
      "design_tokens": {
        "border_radius": "rounded",
        "border_width": "thin",
        "colors": {
          "background": {
            "600": "600",
            "700": "700",
            "800": "800",
            "900": "900",
            "1000": "1000"
          },
          "brand": {
            "300": "300",
            "400": "400",
            "500": "500",
            "600": "600",
            "700": "700"
          },
          "danger": "danger",
          "success": "success",
          "text": "text",
          "text_on_brand": "text_on_brand",
          "video_bg": "video_bg",
          "warning": "warning"
        },
        "logo": "logo",
        "spacing_base": 0,
        "theme": "dark"
      },
      "config_diff": {}
    },
    "permissions": {
      "accept_waiting_requests": true,
      "can_accept_production_requests": true,
      "can_change_participant_permissions": true,
      "can_edit_display_name": true,
      "can_livestream": true,
      "can_record": true,
      "can_spotlight": true,
      "chat": {
        "private": {
          "can_receive": true,
          "can_send": true,
          "files": true,
          "text": true
        },
        "public": {
          "can_send": true,
          "files": true,
          "text": true
        }
      },
      "connected_meetings": {
        "can_alter_connected_meetings": true,
        "can_switch_connected_meetings": true,
        "can_switch_to_parent_meeting": true
      },
      "disable_participant_audio": true,
      "disable_participant_screensharing": true,
      "disable_participant_video": true,
      "hidden_participant": true,
      "kick_participant": true,
      "media": {
        "audio": {
          "can_produce": "ALLOWED"
        },
        "screenshare": {
          "can_produce": "ALLOWED"
        },
        "video": {
          "can_produce": "ALLOWED"
        }
      },
      "pin_participant": true,
      "plugins": {
        "can_close": true,
        "can_edit_config": true,
        "can_start": true,
        "config": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
      },
      "polls": {
        "can_create": true,
        "can_view": true,
        "can_vote": true
      },
      "recorder_type": "RECORDER",
      "show_participant_list": true,
      "waiting_room_type": "SKIP",
      "is_recorder": true
    }
  },
  "success": true
}
Returns Examples
{
  "data": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "config": {
      "max_screenshare_count": 0,
      "max_video_streams": {
        "desktop": 0,
        "mobile": 0
      },
      "media": {
        "screenshare": {
          "frame_rate": 0,
          "quality": "hd"
        },
        "video": {
          "frame_rate": 30,
          "quality": "hd"
        },
        "audio": {
          "enable_high_bitrate": true,
          "enable_stereo": true
        }
      },
      "view_type": "GROUP_CALL"
    },
    "name": "name",
    "ui": {
      "design_tokens": {
        "border_radius": "rounded",
        "border_width": "thin",
        "colors": {
          "background": {
            "600": "600",
            "700": "700",
            "800": "800",
            "900": "900",
            "1000": "1000"
          },
          "brand": {
            "300": "300",
            "400": "400",
            "500": "500",
            "600": "600",
            "700": "700"
          },
          "danger": "danger",
          "success": "success",
          "text": "text",
          "text_on_brand": "text_on_brand",
          "video_bg": "video_bg",
          "warning": "warning"
        },
        "logo": "logo",
        "spacing_base": 0,
        "theme": "dark"
      },
      "config_diff": {}
    },
    "permissions": {
      "accept_waiting_requests": true,
      "can_accept_production_requests": true,
      "can_change_participant_permissions": true,
      "can_edit_display_name": true,
      "can_livestream": true,
      "can_record": true,
      "can_spotlight": true,
      "chat": {
        "private": {
          "can_receive": true,
          "can_send": true,
          "files": true,
          "text": true
        },
        "public": {
          "can_send": true,
          "files": true,
          "text": true
        }
      },
      "connected_meetings": {
        "can_alter_connected_meetings": true,
        "can_switch_connected_meetings": true,
        "can_switch_to_parent_meeting": true
      },
      "disable_participant_audio": true,
      "disable_participant_screensharing": true,
      "disable_participant_video": true,
      "hidden_participant": true,
      "kick_participant": true,
      "media": {
        "audio": {
          "can_produce": "ALLOWED"
        },
        "screenshare": {
          "can_produce": "ALLOWED"
        },
        "video": {
          "can_produce": "ALLOWED"
        }
      },
      "pin_participant": true,
      "plugins": {
        "can_close": true,
        "can_edit_config": true,
        "can_start": true,
        "config": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
      },
      "polls": {
        "can_create": true,
        "can_view": true,
        "can_vote": true
      },
      "recorder_type": "RECORDER",
      "show_participant_list": true,
      "waiting_room_type": "SKIP",
      "is_recorder": true
    }
  },
  "success": true
}