## Fetch a meeting for an App `client.RealtimeKit.Meetings.GetMeetingByID(ctx, appID, meetingID, params) (*MeetingGetMeetingByIDResponse, error)` **get** `/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}` Returns a meeting details in an App for the given meeting ID. ### Parameters - `appID string` The app identifier tag. - `meetingID string` - `params MeetingGetMeetingByIDParams` - `AccountID param.Field[string]` Path param: The account identifier tag. - `Name param.Field[string]` Query param ### Returns - `type MeetingGetMeetingByIDResponse struct{…}` - `Success bool` Success status of the operation - `Data MeetingGetMeetingByIDResponseData` 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 MeetingGetMeetingByIDResponseDataAIConfig` The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `Summarization MeetingGetMeetingByIDResponseDataAIConfigSummarization` Summary Config - `SummaryType MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType` Defines the style of the summary, such as general, team meeting, or sales call. - `const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeGeneral MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "general"` - `const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeTeamMeeting MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "team_meeting"` - `const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeSalesCall MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "sales_call"` - `const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeClientCheckIn MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "client_check_in"` - `const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeInterview MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "interview"` - `const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeDailyStandup MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "daily_standup"` - `const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeOneOnOneMeeting MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "one_on_one_meeting"` - `const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeLecture MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "lecture"` - `const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeCodeReview MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "code_review"` - `TextFormat MeetingGetMeetingByIDResponseDataAIConfigSummarizationTextFormat` Determines the text format of the summary, such as plain text or markdown. - `const MeetingGetMeetingByIDResponseDataAIConfigSummarizationTextFormatPlainText MeetingGetMeetingByIDResponseDataAIConfigSummarizationTextFormat = "plain_text"` - `const MeetingGetMeetingByIDResponseDataAIConfigSummarizationTextFormatMarkdown MeetingGetMeetingByIDResponseDataAIConfigSummarizationTextFormat = "markdown"` - `WordLimit int64` Sets the maximum number of words in the meeting summary. - `Transcription MeetingGetMeetingByIDResponseDataAIConfigTranscription` Transcription Configurations - `Keywords []string` Adds specific terms to improve accurate detection during transcription. - `Language MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage` Specifies the language code for transcription to ensure accurate results. - `const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageEnUs MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "en-US"` - `const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageEnIn MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "en-IN"` - `const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageDe MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "de"` - `const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageHi MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "hi"` - `const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageSv MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "sv"` - `const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageRu MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "ru"` - `const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguagePl MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "pl"` - `const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageEl MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "el"` - `const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageFr MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "fr"` - `const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageNl MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "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 MeetingGetMeetingByIDResponseDataRecordingConfig` 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 MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfig` Object containing configuration regarding the audio that is being recorded. - `Channel MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigChannel` Audio signal pathway within an audio file that carries a specific sound source. - `const MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigChannelMono MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigChannel = "mono"` - `const MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigChannelStereo MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigChannel = "stereo"` - `Codec MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigCodec` 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 MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigCodecMP3 MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigCodec = "MP3"` - `const MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigCodecAac MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigCodec = "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 MeetingGetMeetingByIDResponseDataRecordingConfigLiveStreamingConfig` - `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 MeetingGetMeetingByIDResponseDataRecordingConfigRealtimekitBucketConfig` - `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 MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfig` - `Type MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigType` Type of storage media. - `const MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigTypeAws MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigType = "aws"` - `const MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigTypeAzure MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigType = "azure"` - `const MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigTypeDigitalocean MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigType = "digitalocean"` - `const MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigTypeGcs MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigType = "gcs"` - `const MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigTypeSftp MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigType = "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 MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethod` Authentication method used for "sftp" type storage medium - `const MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethodKey MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethod = "KEY"` - `const MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethodPassword MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethod = "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 MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfig` - `Codec MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigCodec` Codec using which the recording will be encoded. - `const MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigCodecH264 MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigCodec = "H264"` - `const MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigCodecVp8 MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigCodec = "VP8"` - `ExportFile bool` Controls whether to export video file seperately - `Height int64` Height of the recording video in pixels - `Watermark MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermark` Watermark to be added to the recording - `Position MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPosition` Position of the watermark - `const MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPositionLeftTop MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPosition = "left top"` - `const MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPositionRightTop MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPosition = "right top"` - `const MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPositionLeftBottom MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPosition = "left bottom"` - `const MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPositionRightBottom MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPosition = "right bottom"` - `Size MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkSize` 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 MeetingGetMeetingByIDResponseDataStatus` Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `const MeetingGetMeetingByIDResponseDataStatusActive MeetingGetMeetingByIDResponseDataStatus = "ACTIVE"` - `const MeetingGetMeetingByIDResponseDataStatusInactive MeetingGetMeetingByIDResponseDataStatus = "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.GetMeetingByID( context.TODO(), "app_id", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", realtime_kit.MeetingGetMeetingByIDParams{ 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" } } ```