---
title: "Create a preset"
method: POST
path: "/presets"
tags: ["Presets"]
---

# Create a preset

`POST /presets`

Creates a preset belonging to the current organization

## Request body

- Preset
  - `name` string, required — Name of the preset
  - `config` object, required
    - `view_type` 'GROUP_CALL' | 'WEBINAR' | 'AUDIO_ROOM', required — Type of the meeting
    - `max_video_streams` object, required — Maximum number of streams that are visible on a device
      - `mobile` integer, required — Maximum number of streams visible on mobile devices
      - `desktop` integer, required — Maximum number of video streams visible on desktop devices
    - `max_screenshare_count` integer, required — Maximum number of screen shares that can be active at a given time
    - `media` object, required — Media configuration options. eg: Video quality
      - `audio` object — Control options for Audio quality.
        - `enable_stereo` boolean — Enable Stereo for your meetings
        - `enable_high_bitrate` boolean — Enable High Quality Audio for your meetings
      - `video` object, required — Configuration options for participant videos
        - `quality` 'hd' | 'vga' | 'qvga', required — Video quality of participants
        - `frame_rate` integer, required — Frame rate of participants' video
      - `screenshare` object, required — Configuration options for participant screen shares
        - `quality` 'hd' | 'vga' | 'qvga', required — Quality of screen share
        - `frame_rate` integer, required — Frame rate of screen share
  - `permissions` object
    - `accept_waiting_requests` boolean, required — Whether this participant can accept waiting requests
    - `can_accept_production_requests` boolean, required
    - `can_edit_display_name` boolean, required
    - `can_spotlight` boolean, required
    - `is_recorder` boolean
    - `recorder_type` 'RECORDER' | 'LIVESTREAMER' | 'NONE', required — Type of the recording peer
    - `disable_participant_audio` boolean, required
    - `disable_participant_screensharing` boolean, required
    - `disable_participant_video` boolean, required
    - `kick_participant` boolean, required
    - `pin_participant` boolean, required
    - `can_record` boolean, required
    - `can_livestream` boolean, required
    - `waiting_room_type` 'SKIP' | 'ON_PRIVILEGED_USER_ENTRY' | 'SKIP_ON_ACCEPT', required — Waiting room type
    - `plugins` object, required — Plugin permissions
      - `can_close` boolean, required — Can close plugins that are already open
      - `can_start` boolean, required — Can start plugins
      - `can_edit_config` boolean, required — Can edit plugin config
      - `config` union, required
        - string, uuid
        - object
          - `access_control` 'FULL_ACCESS' | 'VIEW_ONLY', required
          - `handles_view_only` boolean, required
    - `connected_meetings` object, required
      - `can_alter_connected_meetings` boolean, required
      - `can_switch_connected_meetings` boolean, required
      - `can_switch_to_parent_meeting` boolean, required
    - `polls` object, required — Poll permissions
      - `can_create` boolean, required — Can create polls
      - `can_vote` boolean, required — Can vote on polls
      - `can_view` boolean, required — Can view polls
    - `media` object, required — Media permissions
      - `video` object, required — Video permissions
        - `can_produce` 'ALLOWED' | 'NOT_ALLOWED' | 'CAN_REQUEST', required — Can produce video
      - `audio` object, required — Audio permissions
        - `can_produce` 'ALLOWED' | 'NOT_ALLOWED' | 'CAN_REQUEST', required — Can produce audio
      - `screenshare` object, required — Screenshare permissions
        - `can_produce` 'ALLOWED' | 'NOT_ALLOWED' | 'CAN_REQUEST', required — Can produce screen share video
    - `chat` object, required — Chat permissions
      - `public` object, required
        - `can_send` boolean, required — Can send messages in general
        - `text` boolean, required — Can send text messages
        - `files` boolean, required — Can send file messages
      - `private` object, required
        - `can_send` boolean, required
        - `can_receive` boolean, required
        - `text` boolean, required
        - `files` boolean, required
    - `hidden_participant` boolean, required — Whether this participant is visible to others or not
    - `show_participant_list` boolean, required
    - `can_change_participant_permissions` boolean, required
  - `ui` object, required
    - `design_tokens` object, required
      - `border_radius` 'rounded', required
      - `border_width` 'thin', required
      - `spacing_base` number, required
      - `theme` 'dark', required
      - `colors` object, required
        - `brand` object, required
          - `300` string, required
          - `400` string, required
          - `500` string, required
          - `600` string, required
          - `700` string, required
        - `background` object, required
          - `600` string, required
          - `700` string, required
          - `800` string, required
          - `900` string, required
          - `1000` string, required
        - `danger` string, required
        - `text` string, required
        - `text_on_brand` string, required
        - `success` string, required
        - `video_bg` string, required
        - `warning` string, required
      - `logo` string, required
    - `config_diff` object

## Response `200`

Success response

- object
  - `success` boolean, required — Success status of the operation
  - `data` object, required — Data returned by the operation
    - `id` string, uuid, required — ID of the preset
    - `name` string, required — Name of the preset
    - `config` object, required
      - `view_type` 'GROUP_CALL' | 'WEBINAR' | 'AUDIO_ROOM', required — Type of the meeting
      - `max_video_streams` object, required — Maximum number of streams that are visible on a device
        - `mobile` integer, required — Maximum number of streams visible on mobile devices
        - `desktop` integer, required — Maximum number of video streams visible on desktop devices
      - `max_screenshare_count` integer, required — Maximum number of screen shares that can be active at a given time
      - `media` object, required — Media configuration options. eg: Video quality
        - `audio` object — Control options for Audio quality.
          - `enable_stereo` boolean — Enable Stereo for your meetings
          - `enable_high_bitrate` boolean — Enable High Quality Audio for your meetings
        - `video` object, required — Configuration options for participant videos
          - `quality` 'hd' | 'vga' | 'qvga', required — Video quality of participants
          - `frame_rate` integer, required — Frame rate of participants' video
        - `screenshare` object, required — Configuration options for participant screen shares
          - `quality` 'hd' | 'vga' | 'qvga', required — Quality of screen share
          - `frame_rate` integer, required — Frame rate of screen share
    - `permissions` object
      - `accept_waiting_requests` boolean, required — Whether this participant can accept waiting requests
      - `can_accept_production_requests` boolean, required
      - `can_edit_display_name` boolean, required
      - `can_spotlight` boolean, required
      - `is_recorder` boolean
      - `recorder_type` 'RECORDER' | 'LIVESTREAMER' | 'NONE', required — Type of the recording peer
      - `disable_participant_audio` boolean, required
      - `disable_participant_screensharing` boolean, required
      - `disable_participant_video` boolean, required
      - `kick_participant` boolean, required
      - `pin_participant` boolean, required
      - `can_record` boolean, required
      - `can_livestream` boolean, required
      - `waiting_room_type` 'SKIP' | 'ON_PRIVILEGED_USER_ENTRY' | 'SKIP_ON_ACCEPT', required — Waiting room type
      - `plugins` object, required — Plugin permissions
        - `can_close` boolean, required — Can close plugins that are already open
        - `can_start` boolean, required — Can start plugins
        - `can_edit_config` boolean, required — Can edit plugin config
        - `config` union, required
          - string, uuid
          - object
            - `access_control` 'FULL_ACCESS' | 'VIEW_ONLY', required
            - `handles_view_only` boolean, required
      - `connected_meetings` object, required
        - `can_alter_connected_meetings` boolean, required
        - `can_switch_connected_meetings` boolean, required
        - `can_switch_to_parent_meeting` boolean, required
      - `polls` object, required — Poll permissions
        - `can_create` boolean, required — Can create polls
        - `can_vote` boolean, required — Can vote on polls
        - `can_view` boolean, required — Can view polls
      - `media` object, required — Media permissions
        - `video` object, required — Video permissions
          - `can_produce` 'ALLOWED' | 'NOT_ALLOWED' | 'CAN_REQUEST', required — Can produce video
        - `audio` object, required — Audio permissions
          - `can_produce` 'ALLOWED' | 'NOT_ALLOWED' | 'CAN_REQUEST', required — Can produce audio
        - `screenshare` object, required — Screenshare permissions
          - `can_produce` 'ALLOWED' | 'NOT_ALLOWED' | 'CAN_REQUEST', required — Can produce screen share video
      - `chat` object, required — Chat permissions
        - `public` object, required
          - `can_send` boolean, required — Can send messages in general
          - `text` boolean, required — Can send text messages
          - `files` boolean, required — Can send file messages
        - `private` object, required
          - `can_send` boolean, required
          - `can_receive` boolean, required
          - `text` boolean, required
          - `files` boolean, required
      - `hidden_participant` boolean, required — Whether this participant is visible to others or not
      - `show_participant_list` boolean, required
      - `can_change_participant_permissions` boolean, required
    - `ui` object, required
      - `design_tokens` object, required
        - `border_radius` 'rounded', required
        - `border_width` 'thin', required
        - `spacing_base` number, required
        - `theme` 'dark', required
        - `colors` object, required
          - `brand` object, required
            - `300` string, required
            - `400` string, required
            - `500` string, required
            - `600` string, required
            - `700` string, required
          - `background` object, required
            - `600` string, required
            - `700` string, required
            - `800` string, required
            - `900` string, required
            - `1000` string, required
          - `danger` string, required
          - `text` string, required
          - `text_on_brand` string, required
          - `success` string, required
          - `video_bg` string, required
          - `warning` string, required
        - `logo` string, required
      - `config_diff` object

---

[API](https://skmtc.net/dyte-io/apis/dyte-rest-apis.md) · [All operations](https://skmtc.net/dyte-io/apis/dyte-rest-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dyte-io/dyte-rest-apis/versions/f62d3edd92ae/schema)
