---
title: "Create a meeting"
method: POST
path: "/meetings"
tags: ["Meetings"]
---

# Create a meeting

`POST /meetings`

Create a meeting for the given organization ID.

## Request body

- object
  - `title` string, nullable — Title of the meeting
  - `preferred_region` 'ap-south-1' | 'ap-southeast-1' | 'us-east-1' | 'eu-central-1' | 'null', nullable — The region in which this meeting should be created.
  - `record_on_start` boolean, nullable — Specifies if the meeting should start getting recorded as soon as someone joins the meeting.
  - `live_stream_on_start` boolean, nullable — Specifies if the meeting should start getting livestreamed on start.
  - `recording_config` RecordingConfig — Recording Configurations to be used for this meeting. This level of configs takes higher preference over organization level configs on the Dyte developer portal.
    - `max_seconds` number — Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours.
    - `file_name_prefix` string — Adds a prefix to the beginning of the file name of the recording.
    - `video_config` VideoConfig
      - `codec` 'H264' | 'VP8' — Codec using which the recording will be encoded.
      - `width` integer — Width of the recording video in pixels
      - `height` integer — Height of the recording video in pixels
      - `watermark` object — Watermark to be added to the recording
        - `url` string, uri — URL of the watermark image
        - `size` object — Size of the watermark
          - `width` integer — Width of the watermark in px
          - `height` integer — Height of the watermark in px
        - `position` 'left top' | 'right top' | 'left bottom' | 'right bottom' — Position of the watermark
      - `export_file` boolean — Controls whether to export video file seperately
    - `audio_config` AudioConfig — Object containing configuration regarding the audio that is being recorded.
      - `codec` 'MP3' | 'AAC' — Codec using which the recording will be encoded. If VP8/VP9 is selected for videoConfig, changing audioConfig is not allowed. In this case, the codec in the audioConfig is automatically set to vorbis.
      - `channel` 'mono' | 'stereo' — Audio signal pathway within an audio file that carries a specific sound source.
      - `export_file` boolean — Controls whether to export audio file seperately
    - `storage_config` StorageConfig, nullable
      - `type` 'aws' | 'azure' | 'digitalocean' | 'gcs' | 'sftp', required — Type of storage media.
      - `access_key` string — Access key of the storage medium. Access key is not required for the `gcs` storage media type. Note that this field is not readable by clients, only writeable.
      - `secret` string — Secret key of the storage medium. Similar to `access_key`, it is only writeable by clients, not readable.
      - `bucket` string — Name of the storage medium's bucket.
      - `region` string — Region of the storage medium.
      - `path` string — Path relative to the bucket root at which the recording will be placed.
      - `auth_method` 'KEY' | 'PASSWORD' — Authentication method used for "sftp" type storage medium
      - `username` string — SSH destination server username for SFTP type storage medium
      - `password` string — SSH destination server password for SFTP type storage medium when auth_method is "PASSWORD". If auth_method is "KEY", this specifies the password for the ssh private key.
      - `host` string — SSH destination server host for SFTP type storage medium
      - `port` number — SSH destination server port for SFTP type storage medium
      - `private_key` string — Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY"
    - `dyte_bucket_config` DyteBucketConfig
      - `enabled` boolean, required — Controls whether recordings are uploaded to Dyte's bucket. If set to false, `download_url`, `audio_download_url`, `download_url_expiry` won't be generated for a recording.
    - `live_streaming_config` LivestreamingConfig
      - `rtmp_url` string, uri — RTMP URL to stream to
  - `ai_config` AIConfig — The AI Config allows you to customize the behavior of meeting transcriptions and summaries
    - `transcription` TranscriptionConfig — Transcription Configurations
      - `keywords` string[] — Adds specific terms to improve accurate detection during transcription.
      - `language` 'en-US' | 'en-IN' | 'de' | 'hi' | 'sv' | 'ru' | 'pl' | 'el' | 'fr' | 'nl' — Specifies the language code for transcription to ensure accurate results.
      - `profanity_filter` boolean — Control the inclusion of offensive language in transcriptions.
    - `summarization` SummarizationConfig — Summary Config
      - `word_limit` integer — Sets the maximum number of words in the meeting summary.
      - `text_format` 'plain_text' | 'markdown' — Determines the text format of the summary, such as plain text or markdown.
      - `summary_type` 'general' | 'team_meeting' | 'sales_call' | 'client_check_in' | 'interview' | 'daily_standup' | 'one_on_one_meeting' | 'lecture' | 'code_review' — Defines the style of the summary, such as general, team meeting, or sales call.
  - `persist_chat` boolean — If a meeting is set to persist_chat, meeting chat would remain for a week within the meeting space.
  - `summarize_on_end` boolean — Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API.

## Response `201`

Success Response

- object
  - `success` boolean, required — Success status of the operation
  - `data` object — Data returned by the operation
    - `id` string, uuid, required — ID of the meeting.
    - `title` string — Title of the meeting.
    - `preferred_region` 'ap-south-1' | 'ap-southeast-1' | 'us-east-1' | 'eu-central-1' | 'null', nullable — The region in which this meeting should be created.
    - `created_at` string, date-time, required — Timestamp the object was created at. The time is returned in ISO format.
    - `record_on_start` boolean — Specifies if the meeting should start getting recorded as soon as someone joins the meeting.
    - `updated_at` string, date-time, required — Timestamp the object was updated at. The time is returned in ISO format.
    - `live_stream_on_start` boolean — Specifies if the meeting should start getting livestreamed on start.
    - `persist_chat` boolean — Specifies if Chat within a meeting should persist for a week.
    - `summarize_on_end` boolean — Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API.
    - `status` 'ACTIVE' | 'INACTIVE' — Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting.
    - `recording_config` RecordingConfig — Recording Configurations to be used for this meeting. This level of configs takes higher preference over organization level configs on the Dyte developer portal.
      - `max_seconds` number — Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours.
      - `file_name_prefix` string — Adds a prefix to the beginning of the file name of the recording.
      - `video_config` VideoConfig
        - `codec` 'H264' | 'VP8' — Codec using which the recording will be encoded.
        - `width` integer — Width of the recording video in pixels
        - `height` integer — Height of the recording video in pixels
        - `watermark` object — Watermark to be added to the recording
          - `url` string, uri — URL of the watermark image
          - `size` object — Size of the watermark
            - `width` integer — Width of the watermark in px
            - `height` integer — Height of the watermark in px
          - `position` 'left top' | 'right top' | 'left bottom' | 'right bottom' — Position of the watermark
        - `export_file` boolean — Controls whether to export video file seperately
      - `audio_config` AudioConfig — Object containing configuration regarding the audio that is being recorded.
        - `codec` 'MP3' | 'AAC' — Codec using which the recording will be encoded. If VP8/VP9 is selected for videoConfig, changing audioConfig is not allowed. In this case, the codec in the audioConfig is automatically set to vorbis.
        - `channel` 'mono' | 'stereo' — Audio signal pathway within an audio file that carries a specific sound source.
        - `export_file` boolean — Controls whether to export audio file seperately
      - `storage_config` StorageConfig, nullable
        - `type` 'aws' | 'azure' | 'digitalocean' | 'gcs' | 'sftp', required — Type of storage media.
        - `access_key` string — Access key of the storage medium. Access key is not required for the `gcs` storage media type. Note that this field is not readable by clients, only writeable.
        - `secret` string — Secret key of the storage medium. Similar to `access_key`, it is only writeable by clients, not readable.
        - `bucket` string — Name of the storage medium's bucket.
        - `region` string — Region of the storage medium.
        - `path` string — Path relative to the bucket root at which the recording will be placed.
        - `auth_method` 'KEY' | 'PASSWORD' — Authentication method used for "sftp" type storage medium
        - `username` string — SSH destination server username for SFTP type storage medium
        - `password` string — SSH destination server password for SFTP type storage medium when auth_method is "PASSWORD". If auth_method is "KEY", this specifies the password for the ssh private key.
        - `host` string — SSH destination server host for SFTP type storage medium
        - `port` number — SSH destination server port for SFTP type storage medium
        - `private_key` string — Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY"
      - `dyte_bucket_config` DyteBucketConfig
        - `enabled` boolean, required — Controls whether recordings are uploaded to Dyte's bucket. If set to false, `download_url`, `audio_download_url`, `download_url_expiry` won't be generated for a recording.
      - `live_streaming_config` LivestreamingConfig
        - `rtmp_url` string, uri — RTMP URL to stream to
    - `ai_config` AIConfig — The AI Config allows you to customize the behavior of meeting transcriptions and summaries
      - `transcription` TranscriptionConfig — Transcription Configurations
        - `keywords` string[] — Adds specific terms to improve accurate detection during transcription.
        - `language` 'en-US' | 'en-IN' | 'de' | 'hi' | 'sv' | 'ru' | 'pl' | 'el' | 'fr' | 'nl' — Specifies the language code for transcription to ensure accurate results.
        - `profanity_filter` boolean — Control the inclusion of offensive language in transcriptions.
      - `summarization` SummarizationConfig — Summary Config
        - `word_limit` integer — Sets the maximum number of words in the meeting summary.
        - `text_format` 'plain_text' | 'markdown' — Determines the text format of the summary, such as plain text or markdown.
        - `summary_type` 'general' | 'team_meeting' | 'sales_call' | 'client_check_in' | 'interview' | 'daily_standup' | 'one_on_one_meeting' | 'lecture' | 'code_review' — Defines the style of the summary, such as general, team meeting, or sales call.

---

[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)
