## Fetch details of a preset `client.RealtimeKit.Presets.GetPresetByID(ctx, appID, presetID, query) (*PresetGetPresetByIDResponse, error)` **get** `/accounts/{account_id}/realtime/kit/{app_id}/presets/{preset_id}` Fetches details of a preset using the provided preset ID ### Parameters - `appID string` The app identifier tag. - `presetID string` - `query PresetGetPresetByIDParams` - `AccountID param.Field[string]` The account identifier tag. ### Returns - `type PresetGetPresetByIDResponse struct{…}` - `Data PresetGetPresetByIDResponseData` Data returned by the operation - `ID string` ID of the preset - `Config PresetGetPresetByIDResponseDataConfig` - `MaxScreenshareCount int64` Maximum number of screen shares that can be active at a given time - `MaxVideoStreams PresetGetPresetByIDResponseDataConfigMaxVideoStreams` 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 PresetGetPresetByIDResponseDataConfigMedia` Media configuration options. eg: Video quality - `Screenshare PresetGetPresetByIDResponseDataConfigMediaScreenshare` Configuration options for participant screen shares - `FrameRate int64` Frame rate of screen share - `Quality PresetGetPresetByIDResponseDataConfigMediaScreenshareQuality` Quality of screen share - `const PresetGetPresetByIDResponseDataConfigMediaScreenshareQualityHD PresetGetPresetByIDResponseDataConfigMediaScreenshareQuality = "hd"` - `const PresetGetPresetByIDResponseDataConfigMediaScreenshareQualityVga PresetGetPresetByIDResponseDataConfigMediaScreenshareQuality = "vga"` - `const PresetGetPresetByIDResponseDataConfigMediaScreenshareQualityQvga PresetGetPresetByIDResponseDataConfigMediaScreenshareQuality = "qvga"` - `Video PresetGetPresetByIDResponseDataConfigMediaVideo` Configuration options for participant videos - `FrameRate int64` Frame rate of participants' video - `Quality PresetGetPresetByIDResponseDataConfigMediaVideoQuality` Video quality of participants - `const PresetGetPresetByIDResponseDataConfigMediaVideoQualityHD PresetGetPresetByIDResponseDataConfigMediaVideoQuality = "hd"` - `const PresetGetPresetByIDResponseDataConfigMediaVideoQualityVga PresetGetPresetByIDResponseDataConfigMediaVideoQuality = "vga"` - `const PresetGetPresetByIDResponseDataConfigMediaVideoQualityQvga PresetGetPresetByIDResponseDataConfigMediaVideoQuality = "qvga"` - `Audio PresetGetPresetByIDResponseDataConfigMediaAudio` Control options for Audio quality. - `EnableHighBitrate bool` Enable High Quality Audio for your meetings - `EnableStereo bool` Enable Stereo for your meetings - `ViewType PresetGetPresetByIDResponseDataConfigViewType` Type of the meeting - `const PresetGetPresetByIDResponseDataConfigViewTypeGroupCall PresetGetPresetByIDResponseDataConfigViewType = "GROUP_CALL"` - `const PresetGetPresetByIDResponseDataConfigViewTypeWebinar PresetGetPresetByIDResponseDataConfigViewType = "WEBINAR"` - `const PresetGetPresetByIDResponseDataConfigViewTypeAudioRoom PresetGetPresetByIDResponseDataConfigViewType = "AUDIO_ROOM"` - `Name string` Name of the preset - `UI PresetGetPresetByIDResponseDataUI` - `DesignTokens PresetGetPresetByIDResponseDataUIDesignTokens` - `BorderRadius PresetGetPresetByIDResponseDataUIDesignTokensBorderRadius` - `const PresetGetPresetByIDResponseDataUIDesignTokensBorderRadiusRounded PresetGetPresetByIDResponseDataUIDesignTokensBorderRadius = "rounded"` - `BorderWidth PresetGetPresetByIDResponseDataUIDesignTokensBorderWidth` - `const PresetGetPresetByIDResponseDataUIDesignTokensBorderWidthThin PresetGetPresetByIDResponseDataUIDesignTokensBorderWidth = "thin"` - `Colors PresetGetPresetByIDResponseDataUIDesignTokensColors` - `Background PresetGetPresetByIDResponseDataUIDesignTokensColorsBackground` - `Number1000 string` - `Number600 string` - `Number700 string` - `Number800 string` - `Number900 string` - `Brand PresetGetPresetByIDResponseDataUIDesignTokensColorsBrand` - `Number300 string` - `Number400 string` - `Number500 string` - `Number600 string` - `Number700 string` - `Danger string` - `Success string` - `Text string` - `TextOnBrand string` - `VideoBg string` - `Warning string` - `Logo string` - `SpacingBase float64` - `Theme PresetGetPresetByIDResponseDataUIDesignTokensTheme` - `const PresetGetPresetByIDResponseDataUIDesignTokensThemeDark PresetGetPresetByIDResponseDataUIDesignTokensTheme = "dark"` - `ConfigDiff unknown` - `Permissions PresetGetPresetByIDResponseDataPermissions` - `AcceptWaitingRequests bool` Whether this participant can accept waiting requests - `CanAcceptProductionRequests bool` - `CanChangeParticipantPermissions bool` - `CanEditDisplayName bool` - `CanLivestream bool` - `CanRecord bool` - `CanSpotlight bool` - `Chat PresetGetPresetByIDResponseDataPermissionsChat` Chat permissions - `Private PresetGetPresetByIDResponseDataPermissionsChatPrivate` - `CanReceive bool` - `CanSend bool` - `Files bool` - `Text bool` - `Public PresetGetPresetByIDResponseDataPermissionsChatPublic` - `CanSend bool` Can send messages in general - `Files bool` Can send file messages - `Text bool` Can send text messages - `ConnectedMeetings PresetGetPresetByIDResponseDataPermissionsConnectedMeetings` - `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 PresetGetPresetByIDResponseDataPermissionsMedia` Media permissions - `Audio PresetGetPresetByIDResponseDataPermissionsMediaAudio` Audio permissions - `CanProduce PresetGetPresetByIDResponseDataPermissionsMediaAudioCanProduce` Can produce audio - `const PresetGetPresetByIDResponseDataPermissionsMediaAudioCanProduceAllowed PresetGetPresetByIDResponseDataPermissionsMediaAudioCanProduce = "ALLOWED"` - `const PresetGetPresetByIDResponseDataPermissionsMediaAudioCanProduceNotAllowed PresetGetPresetByIDResponseDataPermissionsMediaAudioCanProduce = "NOT_ALLOWED"` - `const PresetGetPresetByIDResponseDataPermissionsMediaAudioCanProduceCanRequest PresetGetPresetByIDResponseDataPermissionsMediaAudioCanProduce = "CAN_REQUEST"` - `Screenshare PresetGetPresetByIDResponseDataPermissionsMediaScreenshare` Screenshare permissions - `CanProduce PresetGetPresetByIDResponseDataPermissionsMediaScreenshareCanProduce` Can produce screen share video - `const PresetGetPresetByIDResponseDataPermissionsMediaScreenshareCanProduceAllowed PresetGetPresetByIDResponseDataPermissionsMediaScreenshareCanProduce = "ALLOWED"` - `const PresetGetPresetByIDResponseDataPermissionsMediaScreenshareCanProduceNotAllowed PresetGetPresetByIDResponseDataPermissionsMediaScreenshareCanProduce = "NOT_ALLOWED"` - `const PresetGetPresetByIDResponseDataPermissionsMediaScreenshareCanProduceCanRequest PresetGetPresetByIDResponseDataPermissionsMediaScreenshareCanProduce = "CAN_REQUEST"` - `Video PresetGetPresetByIDResponseDataPermissionsMediaVideo` Video permissions - `CanProduce PresetGetPresetByIDResponseDataPermissionsMediaVideoCanProduce` Can produce video - `const PresetGetPresetByIDResponseDataPermissionsMediaVideoCanProduceAllowed PresetGetPresetByIDResponseDataPermissionsMediaVideoCanProduce = "ALLOWED"` - `const PresetGetPresetByIDResponseDataPermissionsMediaVideoCanProduceNotAllowed PresetGetPresetByIDResponseDataPermissionsMediaVideoCanProduce = "NOT_ALLOWED"` - `const PresetGetPresetByIDResponseDataPermissionsMediaVideoCanProduceCanRequest PresetGetPresetByIDResponseDataPermissionsMediaVideoCanProduce = "CAN_REQUEST"` - `PinParticipant bool` - `Plugins PresetGetPresetByIDResponseDataPermissionsPlugins` Plugin permissions - `CanClose bool` Can close plugins that are already open - `CanEditConfig bool` Can edit plugin config - `CanStart bool` Can start plugins - `Config PresetGetPresetByIDResponseDataPermissionsPluginsConfigUnion` - `UnionString` - `type PresetGetPresetByIDResponseDataPermissionsPluginsConfigObject struct{…}` - `AccessControl PresetGetPresetByIDResponseDataPermissionsPluginsConfigObjectAccessControl` - `const PresetGetPresetByIDResponseDataPermissionsPluginsConfigObjectAccessControlFullAccess PresetGetPresetByIDResponseDataPermissionsPluginsConfigObjectAccessControl = "FULL_ACCESS"` - `const PresetGetPresetByIDResponseDataPermissionsPluginsConfigObjectAccessControlViewOnly PresetGetPresetByIDResponseDataPermissionsPluginsConfigObjectAccessControl = "VIEW_ONLY"` - `HandlesViewOnly bool` - `Polls PresetGetPresetByIDResponseDataPermissionsPolls` Poll permissions - `CanCreate bool` Can create polls - `CanView bool` Can view polls - `CanVote bool` Can vote on polls - `RecorderType PresetGetPresetByIDResponseDataPermissionsRecorderType` Type of the recording peer - `const PresetGetPresetByIDResponseDataPermissionsRecorderTypeRecorder PresetGetPresetByIDResponseDataPermissionsRecorderType = "RECORDER"` - `const PresetGetPresetByIDResponseDataPermissionsRecorderTypeLivestreamer PresetGetPresetByIDResponseDataPermissionsRecorderType = "LIVESTREAMER"` - `const PresetGetPresetByIDResponseDataPermissionsRecorderTypeNone PresetGetPresetByIDResponseDataPermissionsRecorderType = "NONE"` - `ShowParticipantList bool` - `WaitingRoomType PresetGetPresetByIDResponseDataPermissionsWaitingRoomType` Waiting room type - `const PresetGetPresetByIDResponseDataPermissionsWaitingRoomTypeSkip PresetGetPresetByIDResponseDataPermissionsWaitingRoomType = "SKIP"` - `const PresetGetPresetByIDResponseDataPermissionsWaitingRoomTypeOnPrivilegedUserEntry PresetGetPresetByIDResponseDataPermissionsWaitingRoomType = "ON_PRIVILEGED_USER_ENTRY"` - `const PresetGetPresetByIDResponseDataPermissionsWaitingRoomTypeSkipOnAccept PresetGetPresetByIDResponseDataPermissionsWaitingRoomType = "SKIP_ON_ACCEPT"` - `IsRecorder bool` - `Success bool` Success status of the operation ### Example ```go 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"), ) response, err := client.RealtimeKit.Presets.GetPresetByID( context.TODO(), "app_id", "preset_id", realtime_kit.PresetGetPresetByIDParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Data) } ``` #### Response ```json { "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 } ```