## Update a meeting `client.RealtimeKit.Meetings.UpdateMeetingByID(ctx, appID, meetingID, params) (*MeetingUpdateMeetingByIDResponse, error)` **patch** `/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}` Updates a meeting in an App for the given meeting ID. ### Parameters - `appID string` The app identifier tag. - `meetingID string` - `params MeetingUpdateMeetingByIDParams` - `AccountID param.Field[string]` Path param: The account identifier tag. - `AIConfig param.Field[MeetingUpdateMeetingByIDParamsAIConfig]` Body param: The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `Summarization MeetingUpdateMeetingByIDParamsAIConfigSummarization` Summary Config - `SummaryType MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryType` Defines the style of the summary, such as general, team meeting, or sales call. - `const MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryTypeGeneral MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryType = "general"` - `const MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryTypeTeamMeeting MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryType = "team_meeting"` - `const MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryTypeSalesCall MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryType = "sales_call"` - `const MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryTypeClientCheckIn MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryType = "client_check_in"` - `const MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryTypeInterview MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryType = "interview"` - `const MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryTypeDailyStandup MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryType = "daily_standup"` - `const MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryTypeOneOnOneMeeting MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryType = "one_on_one_meeting"` - `const MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryTypeLecture MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryType = "lecture"` - `const MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryTypeCodeReview MeetingUpdateMeetingByIDParamsAIConfigSummarizationSummaryType = "code_review"` - `TextFormat MeetingUpdateMeetingByIDParamsAIConfigSummarizationTextFormat` Determines the text format of the summary, such as plain text or markdown. - `const MeetingUpdateMeetingByIDParamsAIConfigSummarizationTextFormatPlainText MeetingUpdateMeetingByIDParamsAIConfigSummarizationTextFormat = "plain_text"` - `const MeetingUpdateMeetingByIDParamsAIConfigSummarizationTextFormatMarkdown MeetingUpdateMeetingByIDParamsAIConfigSummarizationTextFormat = "markdown"` - `WordLimit int64` Sets the maximum number of words in the meeting summary. - `Transcription MeetingUpdateMeetingByIDParamsAIConfigTranscription` Transcription Configurations - `Keywords []string` Adds specific terms to improve accurate detection during transcription. - `Language MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguage` Specifies the language code for transcription to ensure accurate results. - `const MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguageEnUs MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguage = "en-US"` - `const MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguageEnIn MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguage = "en-IN"` - `const MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguageDe MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguage = "de"` - `const MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguageHi MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguage = "hi"` - `const MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguageSv MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguage = "sv"` - `const MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguageRu MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguage = "ru"` - `const MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguagePl MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguage = "pl"` - `const MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguageEl MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguage = "el"` - `const MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguageFr MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguage = "fr"` - `const MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguageNl MeetingUpdateMeetingByIDParamsAIConfigTranscriptionLanguage = "nl"` - `ProfanityFilter bool` Control the inclusion of offensive language in transcriptions. - `LiveStreamOnStart param.Field[bool]` Body param: Specifies if the meeting should start getting livestreamed on start. - `PersistChat param.Field[bool]` Body param: If a meeting is updated to persist_chat, meeting chat would remain for a week within the meeting space. - `RecordOnStart param.Field[bool]` Body param: Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `SessionKeepAliveTimeInSecs param.Field[float64]` Body param: Time in seconds, for which a session remains active, after the last participant has left the meeting. - `Status param.Field[MeetingUpdateMeetingByIDParamsStatus]` Body param: Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `const MeetingUpdateMeetingByIDParamsStatusActive MeetingUpdateMeetingByIDParamsStatus = "ACTIVE"` - `const MeetingUpdateMeetingByIDParamsStatusInactive MeetingUpdateMeetingByIDParamsStatus = "INACTIVE"` - `SummarizeOnEnd param.Field[bool]` Body param: Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API. - `Title param.Field[string]` Body param: Title of the meeting ### Returns - `type MeetingUpdateMeetingByIDResponse struct{…}` - `Success bool` Success status of the operation - `Data MeetingUpdateMeetingByIDResponseData` Data returned by the operation - `ID string` ID of the meeting. - `CreatedAt Time` Timestamp the object was created at. The time is returned in ISO format. - `UpdatedAt Time` Timestamp the object was updated at. The time is returned in ISO format. - `AIConfig MeetingUpdateMeetingByIDResponseDataAIConfig` The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `Summarization MeetingUpdateMeetingByIDResponseDataAIConfigSummarization` Summary Config - `SummaryType MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryType` Defines the style of the summary, such as general, team meeting, or sales call. - `const MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryTypeGeneral MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryType = "general"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryTypeTeamMeeting MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryType = "team_meeting"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryTypeSalesCall MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryType = "sales_call"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryTypeClientCheckIn MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryType = "client_check_in"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryTypeInterview MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryType = "interview"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryTypeDailyStandup MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryType = "daily_standup"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryTypeOneOnOneMeeting MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryType = "one_on_one_meeting"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryTypeLecture MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryType = "lecture"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryTypeCodeReview MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationSummaryType = "code_review"` - `TextFormat MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationTextFormat` Determines the text format of the summary, such as plain text or markdown. - `const MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationTextFormatPlainText MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationTextFormat = "plain_text"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationTextFormatMarkdown MeetingUpdateMeetingByIDResponseDataAIConfigSummarizationTextFormat = "markdown"` - `WordLimit int64` Sets the maximum number of words in the meeting summary. - `Transcription MeetingUpdateMeetingByIDResponseDataAIConfigTranscription` Transcription Configurations - `Keywords []string` Adds specific terms to improve accurate detection during transcription. - `Language MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguage` Specifies the language code for transcription to ensure accurate results. - `const MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguageEnUs MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguage = "en-US"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguageEnIn MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguage = "en-IN"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguageDe MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguage = "de"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguageHi MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguage = "hi"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguageSv MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguage = "sv"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguageRu MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguage = "ru"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguagePl MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguage = "pl"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguageEl MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguage = "el"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguageFr MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguage = "fr"` - `const MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguageNl MeetingUpdateMeetingByIDResponseDataAIConfigTranscriptionLanguage = "nl"` - `ProfanityFilter bool` Control the inclusion of offensive language in transcriptions. - `LiveStreamOnStart bool` Specifies if the meeting should start getting livestreamed on start. - `PersistChat bool` Specifies if Chat within a meeting should persist for a week. - `RecordOnStart bool` Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `RecordingConfig MeetingUpdateMeetingByIDResponseDataRecordingConfig` Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal. - `AudioConfig MeetingUpdateMeetingByIDResponseDataRecordingConfigAudioConfig` Object containing configuration regarding the audio that is being recorded. - `Channel MeetingUpdateMeetingByIDResponseDataRecordingConfigAudioConfigChannel` Audio signal pathway within an audio file that carries a specific sound source. - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigAudioConfigChannelMono MeetingUpdateMeetingByIDResponseDataRecordingConfigAudioConfigChannel = "mono"` - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigAudioConfigChannelStereo MeetingUpdateMeetingByIDResponseDataRecordingConfigAudioConfigChannel = "stereo"` - `Codec MeetingUpdateMeetingByIDResponseDataRecordingConfigAudioConfigCodec` 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. - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigAudioConfigCodecMP3 MeetingUpdateMeetingByIDResponseDataRecordingConfigAudioConfigCodec = "MP3"` - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigAudioConfigCodecAac MeetingUpdateMeetingByIDResponseDataRecordingConfigAudioConfigCodec = "AAC"` - `ExportFile bool` Controls whether to export audio file seperately - `FileNamePrefix string` Adds a prefix to the beginning of the file name of the recording. - `LiveStreamingConfig MeetingUpdateMeetingByIDResponseDataRecordingConfigLiveStreamingConfig` - `RtmpURL string` RTMP URL to stream to - `MaxSeconds float64` Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours. - `RealtimekitBucketConfig MeetingUpdateMeetingByIDResponseDataRecordingConfigRealtimekitBucketConfig` - `Enabled bool` Controls whether recordings are uploaded to RealtimeKit's bucket. If set to false, `download_url`, `audio_download_url`, `download_url_expiry` won't be generated for a recording. - `StorageConfig MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfig` - `Type MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigType` Type of storage media. - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigTypeAws MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigType = "aws"` - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigTypeAzure MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigType = "azure"` - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigTypeDigitalocean MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigType = "digitalocean"` - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigTypeGcs MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigType = "gcs"` - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigTypeSftp MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigType = "sftp"` - `AccessKey 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. - `AuthMethod MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethod` Authentication method used for "sftp" type storage medium - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethodKey MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethod = "KEY"` - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethodPassword MeetingUpdateMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethod = "PASSWORD"` - `Bucket string` Name of the storage medium's bucket. - `Host string` SSH destination server host 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. - `Path string` Path relative to the bucket root at which the recording will be placed. - `Port float64` SSH destination server port for SFTP type storage medium - `PrivateKey string` Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY" - `Region string` Region of the storage medium. - `Secret string` Secret key of the storage medium. Similar to `access_key`, it is only writeable by clients, not readable. - `Username string` SSH destination server username for SFTP type storage medium - `VideoConfig MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfig` - `Codec MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigCodec` Codec using which the recording will be encoded. - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigCodecH264 MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigCodec = "H264"` - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigCodecVp8 MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigCodec = "VP8"` - `ExportFile bool` Controls whether to export video file seperately - `Height int64` Height of the recording video in pixels - `Watermark MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigWatermark` Watermark to be added to the recording - `Position MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPosition` Position of the watermark - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPositionLeftTop MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPosition = "left top"` - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPositionRightTop MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPosition = "right top"` - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPositionLeftBottom MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPosition = "left bottom"` - `const MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPositionRightBottom MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPosition = "right bottom"` - `Size MeetingUpdateMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkSize` Size of the watermark - `Height int64` Height of the watermark in px - `Width int64` Width of the watermark in px - `URL string` URL of the watermark image - `Width int64` Width of the recording video in pixels - `SessionKeepAliveTimeInSecs float64` Time in seconds, for which a session remains active, after the last participant has left the meeting. - `Status MeetingUpdateMeetingByIDResponseDataStatus` Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `const MeetingUpdateMeetingByIDResponseDataStatusActive MeetingUpdateMeetingByIDResponseDataStatus = "ACTIVE"` - `const MeetingUpdateMeetingByIDResponseDataStatusInactive MeetingUpdateMeetingByIDResponseDataStatus = "INACTIVE"` - `SummarizeOnEnd bool` Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API. - `Title string` Title of the meeting. ### 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.Meetings.UpdateMeetingByID( context.TODO(), "app_id", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", realtime_kit.MeetingUpdateMeetingByIDParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Success) } ``` #### Response ```json { "success": true, "data": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "updated_at": "2019-12-27T18:11:19.117Z", "ai_config": { "summarization": { "summary_type": "general", "text_format": "plain_text", "word_limit": 150 }, "transcription": { "keywords": [ "string" ], "language": "en-US", "profanity_filter": true } }, "live_stream_on_start": true, "persist_chat": true, "record_on_start": true, "recording_config": { "audio_config": { "channel": "mono", "codec": "MP3", "export_file": true }, "file_name_prefix": "file_name_prefix", "live_streaming_config": { "rtmp_url": "rtmp://a.rtmp.youtube.com/live2" }, "max_seconds": 60, "realtimekit_bucket_config": { "enabled": true }, "storage_config": { "type": "aws", "auth_method": "KEY", "bucket": "bucket", "host": "host", "password": "password", "path": "path", "port": 0, "private_key": "private_key", "region": "us-east-1", "secret": "secret", "username": "username" }, "video_config": { "codec": "H264", "export_file": true, "height": 720, "watermark": { "position": "left top", "size": { "height": 1, "width": 1 }, "url": "https://example.com" }, "width": 1280 } }, "session_keep_alive_time_in_secs": 60, "status": "ACTIVE", "summarize_on_end": true, "title": "title" } } ```