Skip to content
Start here

Update a preset

client.RealtimeKit.Presets.Update(ctx, appID, presetID, params) (*PresetUpdateResponse, error)
PATCH/accounts/{account_id}/realtime/kit/{app_id}/presets/{preset_id}

Update a preset by the provided preset ID

Security

API Token

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

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

The app identifier tag.

maxLength32
presetID string
params PresetUpdateParams
AccountID param.Field[string]

Path param: The account identifier tag.

maxLength32
Config param.Field[PresetUpdateParamsConfig]optional

Body param

MaxScreenshareCount int64optional

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

MaxVideoStreams PresetUpdateParamsConfigMaxVideoStreamsoptional

Maximum number of streams that are visible on a device

Desktop int64optional

Maximum number of video streams visible on desktop devices

Mobile int64optional

Maximum number of streams visible on mobile devices

Media PresetUpdateParamsConfigMediaoptional

Media configuration options. eg: Video quality

Screenshare PresetUpdateParamsConfigMediaScreenshareoptional

Configuration options for participant screen shares

FrameRate int64optional

Frame rate of screen share

Quality PresetUpdateParamsConfigMediaScreenshareQualityoptional

Quality of screen share

One of the following:
const PresetUpdateParamsConfigMediaScreenshareQualityHD PresetUpdateParamsConfigMediaScreenshareQuality = "hd"
const PresetUpdateParamsConfigMediaScreenshareQualityVga PresetUpdateParamsConfigMediaScreenshareQuality = "vga"
const PresetUpdateParamsConfigMediaScreenshareQualityQvga PresetUpdateParamsConfigMediaScreenshareQuality = "qvga"
Video PresetUpdateParamsConfigMediaVideooptional

Configuration options for participant videos

FrameRate int64optional

Frame rate of participants' video

maximum30
Quality PresetUpdateParamsConfigMediaVideoQualityoptional

Video quality of participants

One of the following:
const PresetUpdateParamsConfigMediaVideoQualityHD PresetUpdateParamsConfigMediaVideoQuality = "hd"
const PresetUpdateParamsConfigMediaVideoQualityVga PresetUpdateParamsConfigMediaVideoQuality = "vga"
const PresetUpdateParamsConfigMediaVideoQualityQvga PresetUpdateParamsConfigMediaVideoQuality = "qvga"
ViewType PresetUpdateParamsConfigViewTypeoptional

Type of the meeting

One of the following:
const PresetUpdateParamsConfigViewTypeGroupCall PresetUpdateParamsConfigViewType = "GROUP_CALL"
const PresetUpdateParamsConfigViewTypeWebinar PresetUpdateParamsConfigViewType = "WEBINAR"
const PresetUpdateParamsConfigViewTypeAudioRoom PresetUpdateParamsConfigViewType = "AUDIO_ROOM"
Name param.Field[string]optional

Body param: Name of the preset

Permissions param.Field[PresetUpdateParamsPermissions]optional

Body param

AcceptWaitingRequests booloptional

Whether this participant can accept waiting requests

CanAcceptProductionRequests booloptional
CanChangeParticipantPermissions booloptional
CanEditDisplayName booloptional
CanLivestream booloptional
CanRecord booloptional
CanSpotlight booloptional
Chat PresetUpdateParamsPermissionsChatoptional

Chat permissions

Private PresetUpdateParamsPermissionsChatPrivateoptional
CanReceive booloptional
CanSend booloptional
Files booloptional
Text booloptional
Public PresetUpdateParamsPermissionsChatPublicoptional
CanSend booloptional

Can send messages in general

Files booloptional

Can send file messages

Text booloptional

Can send text messages

ConnectedMeetings PresetUpdateParamsPermissionsConnectedMeetingsoptional
CanAlterConnectedMeetings booloptional
CanSwitchConnectedMeetings booloptional
CanSwitchToParentMeeting booloptional
DisableParticipantAudio booloptional
DisableParticipantScreensharing booloptional
DisableParticipantVideo booloptional
HiddenParticipant booloptional

Whether this participant is visible to others or not

IsRecorder booloptional
KickParticipant booloptional
Media PresetUpdateParamsPermissionsMediaoptional

Media permissions

Audio PresetUpdateParamsPermissionsMediaAudiooptional

Audio permissions

CanProduce PresetUpdateParamsPermissionsMediaAudioCanProduceoptional

Can produce audio

One of the following:
const PresetUpdateParamsPermissionsMediaAudioCanProduceAllowed PresetUpdateParamsPermissionsMediaAudioCanProduce = "ALLOWED"
const PresetUpdateParamsPermissionsMediaAudioCanProduceNotAllowed PresetUpdateParamsPermissionsMediaAudioCanProduce = "NOT_ALLOWED"
const PresetUpdateParamsPermissionsMediaAudioCanProduceCanRequest PresetUpdateParamsPermissionsMediaAudioCanProduce = "CAN_REQUEST"
Screenshare PresetUpdateParamsPermissionsMediaScreenshareoptional

Screenshare permissions

CanProduce PresetUpdateParamsPermissionsMediaScreenshareCanProduceoptional

Can produce screen share video

One of the following:
const PresetUpdateParamsPermissionsMediaScreenshareCanProduceAllowed PresetUpdateParamsPermissionsMediaScreenshareCanProduce = "ALLOWED"
const PresetUpdateParamsPermissionsMediaScreenshareCanProduceNotAllowed PresetUpdateParamsPermissionsMediaScreenshareCanProduce = "NOT_ALLOWED"
const PresetUpdateParamsPermissionsMediaScreenshareCanProduceCanRequest PresetUpdateParamsPermissionsMediaScreenshareCanProduce = "CAN_REQUEST"
Video PresetUpdateParamsPermissionsMediaVideooptional

Video permissions

CanProduce PresetUpdateParamsPermissionsMediaVideoCanProduceoptional

Can produce video

One of the following:
const PresetUpdateParamsPermissionsMediaVideoCanProduceAllowed PresetUpdateParamsPermissionsMediaVideoCanProduce = "ALLOWED"
const PresetUpdateParamsPermissionsMediaVideoCanProduceNotAllowed PresetUpdateParamsPermissionsMediaVideoCanProduce = "NOT_ALLOWED"
const PresetUpdateParamsPermissionsMediaVideoCanProduceCanRequest PresetUpdateParamsPermissionsMediaVideoCanProduce = "CAN_REQUEST"
PinParticipant booloptional
Plugins PresetUpdateParamsPermissionsPluginsoptional

Plugin permissions

CanClose booloptional

Can close plugins that are already open

CanEditConfig booloptional

Can edit plugin config

CanStart booloptional

Can start plugins

Config PresetUpdateParamsPermissionsPluginsConfigUnionoptional
One of the following:
UnionString
type PresetUpdateParamsPermissionsPluginsConfigObject struct{…}
AccessControl PresetUpdateParamsPermissionsPluginsConfigObjectAccessControloptional
One of the following:
const PresetUpdateParamsPermissionsPluginsConfigObjectAccessControlFullAccess PresetUpdateParamsPermissionsPluginsConfigObjectAccessControl = "FULL_ACCESS"
const PresetUpdateParamsPermissionsPluginsConfigObjectAccessControlViewOnly PresetUpdateParamsPermissionsPluginsConfigObjectAccessControl = "VIEW_ONLY"
HandlesViewOnly booloptional
Polls PresetUpdateParamsPermissionsPollsoptional

Poll permissions

CanCreate booloptional

Can create polls

CanView booloptional

Can view polls

CanVote booloptional

Can vote on polls

RecorderType PresetUpdateParamsPermissionsRecorderTypeoptional

Type of the recording peer

One of the following:
const PresetUpdateParamsPermissionsRecorderTypeRecorder PresetUpdateParamsPermissionsRecorderType = "RECORDER"
const PresetUpdateParamsPermissionsRecorderTypeLivestreamer PresetUpdateParamsPermissionsRecorderType = "LIVESTREAMER"
const PresetUpdateParamsPermissionsRecorderTypeNone PresetUpdateParamsPermissionsRecorderType = "NONE"
ShowParticipantList booloptional
WaitingRoomType PresetUpdateParamsPermissionsWaitingRoomTypeoptional

Waiting room type

One of the following:
const PresetUpdateParamsPermissionsWaitingRoomTypeSkip PresetUpdateParamsPermissionsWaitingRoomType = "SKIP"
const PresetUpdateParamsPermissionsWaitingRoomTypeOnPrivilegedUserEntry PresetUpdateParamsPermissionsWaitingRoomType = "ON_PRIVILEGED_USER_ENTRY"
const PresetUpdateParamsPermissionsWaitingRoomTypeSkipOnAccept PresetUpdateParamsPermissionsWaitingRoomType = "SKIP_ON_ACCEPT"
UI param.Field[PresetUpdateParamsUI]optional

Body param

ConfigDiff unknownoptional
DesignTokens PresetUpdateParamsUIDesignTokensoptional
BorderRadius PresetUpdateParamsUIDesignTokensBorderRadiusoptional
BorderWidth PresetUpdateParamsUIDesignTokensBorderWidthoptional
Colors PresetUpdateParamsUIDesignTokensColorsoptional
Background PresetUpdateParamsUIDesignTokensColorsBackgroundoptional
Number1000 stringoptional
Number600 stringoptional
Number700 stringoptional
Number800 stringoptional
Number900 stringoptional
Brand PresetUpdateParamsUIDesignTokensColorsBrandoptional
Number300 stringoptional
Number400 stringoptional
Number500 stringoptional
Number600 stringoptional
Number700 stringoptional
Danger stringoptional
Success stringoptional
Text stringoptional
TextOnBrand stringoptional
VideoBg stringoptional
Warning stringoptional
SpacingBase float64optional
Theme PresetUpdateParamsUIDesignTokensThemeoptional
ReturnsExpand Collapse
type PresetUpdateResponse struct{…}
Data PresetUpdateResponseData

Data returned by the operation

ID string

ID of the preset

formatuuid
Config PresetUpdateResponseDataConfig
MaxScreenshareCount int64

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

MaxVideoStreams PresetUpdateResponseDataConfigMaxVideoStreams

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 PresetUpdateResponseDataConfigMedia

Media configuration options. eg: Video quality

Screenshare PresetUpdateResponseDataConfigMediaScreenshare

Configuration options for participant screen shares

FrameRate int64

Frame rate of screen share

Quality PresetUpdateResponseDataConfigMediaScreenshareQuality

Quality of screen share

One of the following:
const PresetUpdateResponseDataConfigMediaScreenshareQualityHD PresetUpdateResponseDataConfigMediaScreenshareQuality = "hd"
const PresetUpdateResponseDataConfigMediaScreenshareQualityVga PresetUpdateResponseDataConfigMediaScreenshareQuality = "vga"
const PresetUpdateResponseDataConfigMediaScreenshareQualityQvga PresetUpdateResponseDataConfigMediaScreenshareQuality = "qvga"
Video PresetUpdateResponseDataConfigMediaVideo

Configuration options for participant videos

FrameRate int64

Frame rate of participants' video

maximum30
Quality PresetUpdateResponseDataConfigMediaVideoQuality

Video quality of participants

One of the following:
const PresetUpdateResponseDataConfigMediaVideoQualityHD PresetUpdateResponseDataConfigMediaVideoQuality = "hd"
const PresetUpdateResponseDataConfigMediaVideoQualityVga PresetUpdateResponseDataConfigMediaVideoQuality = "vga"
const PresetUpdateResponseDataConfigMediaVideoQualityQvga PresetUpdateResponseDataConfigMediaVideoQuality = "qvga"
Audio PresetUpdateResponseDataConfigMediaAudiooptional

Control options for Audio quality.

EnableHighBitrate booloptional

Enable High Quality Audio for your meetings

EnableStereo booloptional

Enable Stereo for your meetings

ViewType PresetUpdateResponseDataConfigViewType

Type of the meeting

One of the following:
const PresetUpdateResponseDataConfigViewTypeGroupCall PresetUpdateResponseDataConfigViewType = "GROUP_CALL"
const PresetUpdateResponseDataConfigViewTypeWebinar PresetUpdateResponseDataConfigViewType = "WEBINAR"
const PresetUpdateResponseDataConfigViewTypeAudioRoom PresetUpdateResponseDataConfigViewType = "AUDIO_ROOM"
Name string

Name of the preset

UI PresetUpdateResponseDataUI
DesignTokens PresetUpdateResponseDataUIDesignTokens
BorderRadius PresetUpdateResponseDataUIDesignTokensBorderRadius
BorderWidth PresetUpdateResponseDataUIDesignTokensBorderWidth
Colors PresetUpdateResponseDataUIDesignTokensColors
Background PresetUpdateResponseDataUIDesignTokensColorsBackground
Number1000 string
Number600 string
Number700 string
Number800 string
Number900 string
Brand PresetUpdateResponseDataUIDesignTokensColorsBrand
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 PresetUpdateResponseDataUIDesignTokensTheme
ConfigDiff unknownoptional
Permissions PresetUpdateResponseDataPermissionsoptional
AcceptWaitingRequests bool

Whether this participant can accept waiting requests

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

Chat permissions

Private PresetUpdateResponseDataPermissionsChatPrivate
CanReceive bool
CanSend bool
Files bool
Text bool
Public PresetUpdateResponseDataPermissionsChatPublic
CanSend bool

Can send messages in general

Files bool

Can send file messages

Text bool

Can send text messages

ConnectedMeetings PresetUpdateResponseDataPermissionsConnectedMeetings
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 PresetUpdateResponseDataPermissionsMedia

Media permissions

Audio PresetUpdateResponseDataPermissionsMediaAudio

Audio permissions

CanProduce PresetUpdateResponseDataPermissionsMediaAudioCanProduce

Can produce audio

One of the following:
const PresetUpdateResponseDataPermissionsMediaAudioCanProduceAllowed PresetUpdateResponseDataPermissionsMediaAudioCanProduce = "ALLOWED"
const PresetUpdateResponseDataPermissionsMediaAudioCanProduceNotAllowed PresetUpdateResponseDataPermissionsMediaAudioCanProduce = "NOT_ALLOWED"
const PresetUpdateResponseDataPermissionsMediaAudioCanProduceCanRequest PresetUpdateResponseDataPermissionsMediaAudioCanProduce = "CAN_REQUEST"
Screenshare PresetUpdateResponseDataPermissionsMediaScreenshare

Screenshare permissions

CanProduce PresetUpdateResponseDataPermissionsMediaScreenshareCanProduce

Can produce screen share video

One of the following:
const PresetUpdateResponseDataPermissionsMediaScreenshareCanProduceAllowed PresetUpdateResponseDataPermissionsMediaScreenshareCanProduce = "ALLOWED"
const PresetUpdateResponseDataPermissionsMediaScreenshareCanProduceNotAllowed PresetUpdateResponseDataPermissionsMediaScreenshareCanProduce = "NOT_ALLOWED"
const PresetUpdateResponseDataPermissionsMediaScreenshareCanProduceCanRequest PresetUpdateResponseDataPermissionsMediaScreenshareCanProduce = "CAN_REQUEST"
Video PresetUpdateResponseDataPermissionsMediaVideo

Video permissions

CanProduce PresetUpdateResponseDataPermissionsMediaVideoCanProduce

Can produce video

One of the following:
const PresetUpdateResponseDataPermissionsMediaVideoCanProduceAllowed PresetUpdateResponseDataPermissionsMediaVideoCanProduce = "ALLOWED"
const PresetUpdateResponseDataPermissionsMediaVideoCanProduceNotAllowed PresetUpdateResponseDataPermissionsMediaVideoCanProduce = "NOT_ALLOWED"
const PresetUpdateResponseDataPermissionsMediaVideoCanProduceCanRequest PresetUpdateResponseDataPermissionsMediaVideoCanProduce = "CAN_REQUEST"
PinParticipant bool
Plugins PresetUpdateResponseDataPermissionsPlugins

Plugin permissions

CanClose bool

Can close plugins that are already open

CanEditConfig bool

Can edit plugin config

CanStart bool

Can start plugins

Config PresetUpdateResponseDataPermissionsPluginsConfigUnion
One of the following:
UnionString
type PresetUpdateResponseDataPermissionsPluginsConfigObject struct{…}
AccessControl PresetUpdateResponseDataPermissionsPluginsConfigObjectAccessControl
One of the following:
const PresetUpdateResponseDataPermissionsPluginsConfigObjectAccessControlFullAccess PresetUpdateResponseDataPermissionsPluginsConfigObjectAccessControl = "FULL_ACCESS"
const PresetUpdateResponseDataPermissionsPluginsConfigObjectAccessControlViewOnly PresetUpdateResponseDataPermissionsPluginsConfigObjectAccessControl = "VIEW_ONLY"
HandlesViewOnly bool
Polls PresetUpdateResponseDataPermissionsPolls

Poll permissions

CanCreate bool

Can create polls

CanView bool

Can view polls

CanVote bool

Can vote on polls

RecorderType PresetUpdateResponseDataPermissionsRecorderType

Type of the recording peer

One of the following:
const PresetUpdateResponseDataPermissionsRecorderTypeRecorder PresetUpdateResponseDataPermissionsRecorderType = "RECORDER"
const PresetUpdateResponseDataPermissionsRecorderTypeLivestreamer PresetUpdateResponseDataPermissionsRecorderType = "LIVESTREAMER"
const PresetUpdateResponseDataPermissionsRecorderTypeNone PresetUpdateResponseDataPermissionsRecorderType = "NONE"
ShowParticipantList bool
WaitingRoomType PresetUpdateResponseDataPermissionsWaitingRoomType

Waiting room type

One of the following:
const PresetUpdateResponseDataPermissionsWaitingRoomTypeSkip PresetUpdateResponseDataPermissionsWaitingRoomType = "SKIP"
const PresetUpdateResponseDataPermissionsWaitingRoomTypeOnPrivilegedUserEntry PresetUpdateResponseDataPermissionsWaitingRoomType = "ON_PRIVILEGED_USER_ENTRY"
const PresetUpdateResponseDataPermissionsWaitingRoomTypeSkipOnAccept PresetUpdateResponseDataPermissionsWaitingRoomType = "SKIP_ON_ACCEPT"
IsRecorder booloptional
Success bool

Success status of the operation

Update 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.Update(
    context.TODO(),
    "app_id",
    "preset_id",
    realtime_kit.PresetUpdateParams{
      AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    },
  )
  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
}