---
title: "Update a meeting"
method: PATCH
path: "/meetings/{meeting_id}"
tags: ["Meetings"]
---

# Update a meeting

`PATCH /meetings/{meeting_id}`

## Request

- Base URL: `https://api.dyte.io/v2`
- URL: `https://api.dyte.io/v2/meetings/{meeting_id}`
- Auth: HTTP basic

Updates a meeting in an organization for the given meeting ID.

## Path parameters

- `meeting_id` string, uuid, required

## Request body

- object
  - `title` string: Title of the meeting
  - `preferred_region` 'ap-south-1' | 'ap-southeast-1' | 'us-east-1' | 'eu-central-1': The region in which this meeting should be created.
  - `record_on_start` boolean: Specifies if the meeting should start getting recorded as soon as someone joins the meeting.
  - `live_stream_on_start` boolean: Specifies if the meeting should start getting livestreamed on start.
  - `status` 'ACTIVE' | 'INACTIVE': Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting.
  - `persist_chat` boolean: If a meeting is updated 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.
  - `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.

## Response `200`

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.

## Other responses

- `500`: Failure response

## Changes

- **2025-04-04** (v2) `f62d3edd92ae`: 2 info
  - added `subschema #1, subschema #2, subschema #3` to the `allOf[subschema #2]/` response property `allOf` list for the response status `200`
  - removed `subschema #1, subschema #2, subschema #3` from the `allOf[subschema #2]/` response property `allOf` list for the response status `200`
- **2025-04-04** (v2) `cb67ff854c71`: 4 breaking, 1 warning, 3 info
  - added the new path request parameter `meeting_id`
  - the `ai_config/summarization/summary_type` request property type changed from no type to `string`
  - the `ai_config/summarization/text_format` request property type changed from no type to `string`
  - the `ai_config/transcription/language` request property type changed from no type to `string`
  - …4 more
- **2025-04-03** (v2) `68b9e665bfcc`: 3 breaking, 1 warning, 4 info
  - the `ai_config/summarization/summary_type` request property type changed from `string` to no type
  - the `ai_config/summarization/text_format` request property type changed from `string` to no type
  - the `ai_config/transcription/language` request property type changed from `string` to no type
  - deleted the `path` request parameter `meeting_id`
  - …4 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/dyte-io/apis/dyte-rest-apis/changes/meetings/:meeting_id/patch.md)

---

[API](https://skmtc.dev/dyte-io/apis/dyte-rest-apis.md) - [All operations](https://skmtc.dev/dyte-io/apis/dyte-rest-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/dyte-io/apis/dyte-rest-apis/revisions/f62d3edd92ae?raw)
