# Meetings ## Fetch all meetings for an App `client.realtimeKit.meetings.get(stringappId, MeetingGetParamsparams, RequestOptionsoptions?): MeetingGetResponse` **get** `/accounts/{account_id}/realtime/kit/{app_id}/meetings` Returns all meetings for the given App ID. ### Parameters - `appId: string` The app identifier tag. - `params: MeetingGetParams` - `account_id: string` Path param: The account identifier tag. - `end_time?: string` Query param: The end time range for which you want to retrieve the meetings. The time must be specified in ISO format. - `page_no?: number` Query param: The page number from which you want your page search results to be displayed. - `per_page?: number` Query param: Number of results per page - `search?: string` Query param: The search query string. You can search using the meeting ID or title. - `start_time?: string` Query param: The start time range for which you want to retrieve the meetings. The time must be specified in ISO format. ### Returns - `MeetingGetResponse` - `data: Array` - `id: string` ID of the meeting. - `created_at: string` Timestamp the object was created at. The time is returned in ISO format. - `updated_at: string` 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. - `record_on_start?: boolean` Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `session_keep_alive_time_in_secs?: number` Time in seconds, for which a session remains active, after the last participant has left the meeting. - `status?: "ACTIVE" | "INACTIVE"` Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `"ACTIVE"` - `"INACTIVE"` - `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. - `title?: string` Title of the meeting. - `paging: Paging` - `end_offset: number` - `start_offset: number` - `total_count: number` - `success: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const meeting = await client.realtimeKit.meetings.get('app_id', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(meeting.data); ``` #### Response ```json { "data": [ { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "updated_at": "2019-12-27T18:11:19.117Z", "live_stream_on_start": true, "persist_chat": true, "record_on_start": true, "session_keep_alive_time_in_secs": 60, "status": "ACTIVE", "summarize_on_end": true, "title": "title" } ], "paging": { "end_offset": 30, "start_offset": 1, "total_count": 30 }, "success": true } ``` ## Create a meeting `client.realtimeKit.meetings.create(stringappId, MeetingCreateParamsparams, RequestOptionsoptions?): MeetingCreateResponse` **post** `/accounts/{account_id}/realtime/kit/{app_id}/meetings` Create a meeting for the given App ID. ### Parameters - `appId: string` The app identifier tag. - `params: MeetingCreateParams` - `account_id: string` Path param: The account identifier tag. - `ai_config?: AIConfig` Body param: The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `summarization?: Summarization` Summary Config - `summary_type?: "general" | "team_meeting" | "sales_call" | 6 more` Defines the style of the summary, such as general, team meeting, or sales call. - `"general"` - `"team_meeting"` - `"sales_call"` - `"client_check_in"` - `"interview"` - `"daily_standup"` - `"one_on_one_meeting"` - `"lecture"` - `"code_review"` - `text_format?: "plain_text" | "markdown"` Determines the text format of the summary, such as plain text or markdown. - `"plain_text"` - `"markdown"` - `word_limit?: number` Sets the maximum number of words in the meeting summary. - `transcription?: Transcription` Transcription Configurations - `keywords?: Array` Adds specific terms to improve accurate detection during transcription. - `language?: "en-US" | "en-IN" | "de" | 7 more` Specifies the language code for transcription to ensure accurate results. - `"en-US"` - `"en-IN"` - `"de"` - `"hi"` - `"sv"` - `"ru"` - `"pl"` - `"el"` - `"fr"` - `"nl"` - `profanity_filter?: boolean` Control the inclusion of offensive language in transcriptions. - `live_stream_on_start?: boolean | null` Body param: Specifies if the meeting should start getting livestreamed on start. - `persist_chat?: boolean` Body param: If a meeting is set to persist_chat, meeting chat would remain for a week within the meeting space. - `record_on_start?: boolean | null` Body param: Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `recording_config?: RecordingConfig` Body param: Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal. - `audio_config?: AudioConfig` Object containing configuration regarding the audio that is being recorded. - `channel?: "mono" | "stereo"` Audio signal pathway within an audio file that carries a specific sound source. - `"mono"` - `"stereo"` - `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. - `"MP3"` - `"AAC"` - `export_file?: boolean` Controls whether to export audio file seperately - `file_name_prefix?: string` Adds a prefix to the beginning of the file name of the recording. - `live_streaming_config?: LiveStreamingConfig` - `rtmp_url?: string` RTMP URL to stream to - `max_seconds?: number` Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours. - `realtimekit_bucket_config?: RealtimekitBucketConfig` - `enabled: boolean` 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. - `storage_config?: StorageConfig | null` - `type: "aws" | "azure" | "digitalocean" | 2 more` Type of storage media. - `"aws"` - `"azure"` - `"digitalocean"` - `"gcs"` - `"sftp"` - `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. - `auth_method?: "KEY" | "PASSWORD"` Authentication method used for "sftp" type storage medium - `"KEY"` - `"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?: 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" - `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 - `video_config?: VideoConfig` - `codec?: "H264" | "VP8"` Codec using which the recording will be encoded. - `"H264"` - `"VP8"` - `export_file?: boolean` Controls whether to export video file seperately - `height?: number` Height of the recording video in pixels - `watermark?: Watermark` Watermark to be added to the recording - `position?: "left top" | "right top" | "left bottom" | "right bottom"` Position of the watermark - `"left top"` - `"right top"` - `"left bottom"` - `"right bottom"` - `size?: Size` Size of the watermark - `height?: number` Height of the watermark in px - `width?: number` Width of the watermark in px - `url?: string` URL of the watermark image - `width?: number` Width of the recording video in pixels - `session_keep_alive_time_in_secs?: number` Body param: Time in seconds, for which a session remains active, after the last participant has left the meeting. - `summarize_on_end?: boolean` Body param: Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API. - `title?: string | null` Body param: Title of the meeting ### Returns - `MeetingCreateResponse` - `success: boolean` Success status of the operation - `data?: Data` Data returned by the operation - `id: string` ID of the meeting. - `created_at: string` Timestamp the object was created at. The time is returned in ISO format. - `updated_at: string` Timestamp the object was updated at. The time is returned in ISO format. - `ai_config?: AIConfig` The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `summarization?: Summarization` Summary Config - `summary_type?: "general" | "team_meeting" | "sales_call" | 6 more` Defines the style of the summary, such as general, team meeting, or sales call. - `"general"` - `"team_meeting"` - `"sales_call"` - `"client_check_in"` - `"interview"` - `"daily_standup"` - `"one_on_one_meeting"` - `"lecture"` - `"code_review"` - `text_format?: "plain_text" | "markdown"` Determines the text format of the summary, such as plain text or markdown. - `"plain_text"` - `"markdown"` - `word_limit?: number` Sets the maximum number of words in the meeting summary. - `transcription?: Transcription` Transcription Configurations - `keywords?: Array` Adds specific terms to improve accurate detection during transcription. - `language?: "en-US" | "en-IN" | "de" | 7 more` Specifies the language code for transcription to ensure accurate results. - `"en-US"` - `"en-IN"` - `"de"` - `"hi"` - `"sv"` - `"ru"` - `"pl"` - `"el"` - `"fr"` - `"nl"` - `profanity_filter?: boolean` Control the inclusion of offensive language in transcriptions. - `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. - `record_on_start?: boolean` Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `recording_config?: RecordingConfig` Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal. - `audio_config?: AudioConfig` Object containing configuration regarding the audio that is being recorded. - `channel?: "mono" | "stereo"` Audio signal pathway within an audio file that carries a specific sound source. - `"mono"` - `"stereo"` - `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. - `"MP3"` - `"AAC"` - `export_file?: boolean` Controls whether to export audio file seperately - `file_name_prefix?: string` Adds a prefix to the beginning of the file name of the recording. - `live_streaming_config?: LiveStreamingConfig` - `rtmp_url?: string` RTMP URL to stream to - `max_seconds?: number` Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours. - `realtimekit_bucket_config?: RealtimekitBucketConfig` - `enabled: boolean` 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. - `storage_config?: StorageConfig | null` - `type: "aws" | "azure" | "digitalocean" | 2 more` Type of storage media. - `"aws"` - `"azure"` - `"digitalocean"` - `"gcs"` - `"sftp"` - `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. - `auth_method?: "KEY" | "PASSWORD"` Authentication method used for "sftp" type storage medium - `"KEY"` - `"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?: 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" - `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 - `video_config?: VideoConfig` - `codec?: "H264" | "VP8"` Codec using which the recording will be encoded. - `"H264"` - `"VP8"` - `export_file?: boolean` Controls whether to export video file seperately - `height?: number` Height of the recording video in pixels - `watermark?: Watermark` Watermark to be added to the recording - `position?: "left top" | "right top" | "left bottom" | "right bottom"` Position of the watermark - `"left top"` - `"right top"` - `"left bottom"` - `"right bottom"` - `size?: Size` Size of the watermark - `height?: number` Height of the watermark in px - `width?: number` Width of the watermark in px - `url?: string` URL of the watermark image - `width?: number` Width of the recording video in pixels - `session_keep_alive_time_in_secs?: number` Time in seconds, for which a session remains active, after the last participant has left the meeting. - `status?: "ACTIVE" | "INACTIVE"` Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `"ACTIVE"` - `"INACTIVE"` - `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. - `title?: string` Title of the meeting. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const meeting = await client.realtimeKit.meetings.create('app_id', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(meeting.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" } } ``` ## Fetch a meeting for an App `client.realtimeKit.meetings.getMeetingById(stringappId, stringmeetingId, MeetingGetMeetingByIDParamsparams, RequestOptionsoptions?): MeetingGetMeetingByIDResponse` **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` - `account_id: string` Path param: The account identifier tag. - `name?: string` Query param ### Returns - `MeetingGetMeetingByIDResponse` - `success: boolean` Success status of the operation - `data?: Data` Data returned by the operation - `id: string` ID of the meeting. - `created_at: string` Timestamp the object was created at. The time is returned in ISO format. - `updated_at: string` Timestamp the object was updated at. The time is returned in ISO format. - `ai_config?: AIConfig` The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `summarization?: Summarization` Summary Config - `summary_type?: "general" | "team_meeting" | "sales_call" | 6 more` Defines the style of the summary, such as general, team meeting, or sales call. - `"general"` - `"team_meeting"` - `"sales_call"` - `"client_check_in"` - `"interview"` - `"daily_standup"` - `"one_on_one_meeting"` - `"lecture"` - `"code_review"` - `text_format?: "plain_text" | "markdown"` Determines the text format of the summary, such as plain text or markdown. - `"plain_text"` - `"markdown"` - `word_limit?: number` Sets the maximum number of words in the meeting summary. - `transcription?: Transcription` Transcription Configurations - `keywords?: Array` Adds specific terms to improve accurate detection during transcription. - `language?: "en-US" | "en-IN" | "de" | 7 more` Specifies the language code for transcription to ensure accurate results. - `"en-US"` - `"en-IN"` - `"de"` - `"hi"` - `"sv"` - `"ru"` - `"pl"` - `"el"` - `"fr"` - `"nl"` - `profanity_filter?: boolean` Control the inclusion of offensive language in transcriptions. - `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. - `record_on_start?: boolean` Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `recording_config?: RecordingConfig` Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal. - `audio_config?: AudioConfig` Object containing configuration regarding the audio that is being recorded. - `channel?: "mono" | "stereo"` Audio signal pathway within an audio file that carries a specific sound source. - `"mono"` - `"stereo"` - `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. - `"MP3"` - `"AAC"` - `export_file?: boolean` Controls whether to export audio file seperately - `file_name_prefix?: string` Adds a prefix to the beginning of the file name of the recording. - `live_streaming_config?: LiveStreamingConfig` - `rtmp_url?: string` RTMP URL to stream to - `max_seconds?: number` Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours. - `realtimekit_bucket_config?: RealtimekitBucketConfig` - `enabled: boolean` 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. - `storage_config?: StorageConfig | null` - `type: "aws" | "azure" | "digitalocean" | 2 more` Type of storage media. - `"aws"` - `"azure"` - `"digitalocean"` - `"gcs"` - `"sftp"` - `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. - `auth_method?: "KEY" | "PASSWORD"` Authentication method used for "sftp" type storage medium - `"KEY"` - `"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?: 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" - `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 - `video_config?: VideoConfig` - `codec?: "H264" | "VP8"` Codec using which the recording will be encoded. - `"H264"` - `"VP8"` - `export_file?: boolean` Controls whether to export video file seperately - `height?: number` Height of the recording video in pixels - `watermark?: Watermark` Watermark to be added to the recording - `position?: "left top" | "right top" | "left bottom" | "right bottom"` Position of the watermark - `"left top"` - `"right top"` - `"left bottom"` - `"right bottom"` - `size?: Size` Size of the watermark - `height?: number` Height of the watermark in px - `width?: number` Width of the watermark in px - `url?: string` URL of the watermark image - `width?: number` Width of the recording video in pixels - `session_keep_alive_time_in_secs?: number` Time in seconds, for which a session remains active, after the last participant has left the meeting. - `status?: "ACTIVE" | "INACTIVE"` Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `"ACTIVE"` - `"INACTIVE"` - `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. - `title?: string` Title of the meeting. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.meetings.getMeetingById( 'app_id', '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(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" } } ``` ## Update a meeting `client.realtimeKit.meetings.updateMeetingById(stringappId, stringmeetingId, MeetingUpdateMeetingByIDParamsparams, RequestOptionsoptions?): MeetingUpdateMeetingByIDResponse` **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` - `account_id: string` Path param: The account identifier tag. - `ai_config?: AIConfig` Body param: The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `summarization?: Summarization` Summary Config - `summary_type?: "general" | "team_meeting" | "sales_call" | 6 more` Defines the style of the summary, such as general, team meeting, or sales call. - `"general"` - `"team_meeting"` - `"sales_call"` - `"client_check_in"` - `"interview"` - `"daily_standup"` - `"one_on_one_meeting"` - `"lecture"` - `"code_review"` - `text_format?: "plain_text" | "markdown"` Determines the text format of the summary, such as plain text or markdown. - `"plain_text"` - `"markdown"` - `word_limit?: number` Sets the maximum number of words in the meeting summary. - `transcription?: Transcription` Transcription Configurations - `keywords?: Array` Adds specific terms to improve accurate detection during transcription. - `language?: "en-US" | "en-IN" | "de" | 7 more` Specifies the language code for transcription to ensure accurate results. - `"en-US"` - `"en-IN"` - `"de"` - `"hi"` - `"sv"` - `"ru"` - `"pl"` - `"el"` - `"fr"` - `"nl"` - `profanity_filter?: boolean` Control the inclusion of offensive language in transcriptions. - `live_stream_on_start?: boolean` Body param: Specifies if the meeting should start getting livestreamed on start. - `persist_chat?: boolean` Body param: If a meeting is updated to persist_chat, meeting chat would remain for a week within the meeting space. - `record_on_start?: boolean` Body param: Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `session_keep_alive_time_in_secs?: number` Body param: Time in seconds, for which a session remains active, after the last participant has left the meeting. - `status?: "ACTIVE" | "INACTIVE"` Body param: Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `"ACTIVE"` - `"INACTIVE"` - `summarize_on_end?: boolean` Body param: Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API. - `title?: string` Body param: Title of the meeting ### Returns - `MeetingUpdateMeetingByIDResponse` - `success: boolean` Success status of the operation - `data?: Data` Data returned by the operation - `id: string` ID of the meeting. - `created_at: string` Timestamp the object was created at. The time is returned in ISO format. - `updated_at: string` Timestamp the object was updated at. The time is returned in ISO format. - `ai_config?: AIConfig` The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `summarization?: Summarization` Summary Config - `summary_type?: "general" | "team_meeting" | "sales_call" | 6 more` Defines the style of the summary, such as general, team meeting, or sales call. - `"general"` - `"team_meeting"` - `"sales_call"` - `"client_check_in"` - `"interview"` - `"daily_standup"` - `"one_on_one_meeting"` - `"lecture"` - `"code_review"` - `text_format?: "plain_text" | "markdown"` Determines the text format of the summary, such as plain text or markdown. - `"plain_text"` - `"markdown"` - `word_limit?: number` Sets the maximum number of words in the meeting summary. - `transcription?: Transcription` Transcription Configurations - `keywords?: Array` Adds specific terms to improve accurate detection during transcription. - `language?: "en-US" | "en-IN" | "de" | 7 more` Specifies the language code for transcription to ensure accurate results. - `"en-US"` - `"en-IN"` - `"de"` - `"hi"` - `"sv"` - `"ru"` - `"pl"` - `"el"` - `"fr"` - `"nl"` - `profanity_filter?: boolean` Control the inclusion of offensive language in transcriptions. - `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. - `record_on_start?: boolean` Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `recording_config?: RecordingConfig` Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal. - `audio_config?: AudioConfig` Object containing configuration regarding the audio that is being recorded. - `channel?: "mono" | "stereo"` Audio signal pathway within an audio file that carries a specific sound source. - `"mono"` - `"stereo"` - `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. - `"MP3"` - `"AAC"` - `export_file?: boolean` Controls whether to export audio file seperately - `file_name_prefix?: string` Adds a prefix to the beginning of the file name of the recording. - `live_streaming_config?: LiveStreamingConfig` - `rtmp_url?: string` RTMP URL to stream to - `max_seconds?: number` Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours. - `realtimekit_bucket_config?: RealtimekitBucketConfig` - `enabled: boolean` 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. - `storage_config?: StorageConfig | null` - `type: "aws" | "azure" | "digitalocean" | 2 more` Type of storage media. - `"aws"` - `"azure"` - `"digitalocean"` - `"gcs"` - `"sftp"` - `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. - `auth_method?: "KEY" | "PASSWORD"` Authentication method used for "sftp" type storage medium - `"KEY"` - `"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?: 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" - `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 - `video_config?: VideoConfig` - `codec?: "H264" | "VP8"` Codec using which the recording will be encoded. - `"H264"` - `"VP8"` - `export_file?: boolean` Controls whether to export video file seperately - `height?: number` Height of the recording video in pixels - `watermark?: Watermark` Watermark to be added to the recording - `position?: "left top" | "right top" | "left bottom" | "right bottom"` Position of the watermark - `"left top"` - `"right top"` - `"left bottom"` - `"right bottom"` - `size?: Size` Size of the watermark - `height?: number` Height of the watermark in px - `width?: number` Width of the watermark in px - `url?: string` URL of the watermark image - `width?: number` Width of the recording video in pixels - `session_keep_alive_time_in_secs?: number` Time in seconds, for which a session remains active, after the last participant has left the meeting. - `status?: "ACTIVE" | "INACTIVE"` Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `"ACTIVE"` - `"INACTIVE"` - `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. - `title?: string` Title of the meeting. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.meetings.updateMeetingById( 'app_id', '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(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" } } ``` ## Replace a meeting `client.realtimeKit.meetings.replaceMeetingById(stringappId, stringmeetingId, MeetingReplaceMeetingByIDParamsparams, RequestOptionsoptions?): MeetingReplaceMeetingByIDResponse` **put** `/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}` Replaces all the details for the given meeting ID. ### Parameters - `appId: string` The app identifier tag. - `meetingId: string` - `params: MeetingReplaceMeetingByIDParams` - `account_id: string` Path param: The account identifier tag. - `ai_config?: AIConfig` Body param: The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `summarization?: Summarization` Summary Config - `summary_type?: "general" | "team_meeting" | "sales_call" | 6 more` Defines the style of the summary, such as general, team meeting, or sales call. - `"general"` - `"team_meeting"` - `"sales_call"` - `"client_check_in"` - `"interview"` - `"daily_standup"` - `"one_on_one_meeting"` - `"lecture"` - `"code_review"` - `text_format?: "plain_text" | "markdown"` Determines the text format of the summary, such as plain text or markdown. - `"plain_text"` - `"markdown"` - `word_limit?: number` Sets the maximum number of words in the meeting summary. - `transcription?: Transcription` Transcription Configurations - `keywords?: Array` Adds specific terms to improve accurate detection during transcription. - `language?: "en-US" | "en-IN" | "de" | 7 more` Specifies the language code for transcription to ensure accurate results. - `"en-US"` - `"en-IN"` - `"de"` - `"hi"` - `"sv"` - `"ru"` - `"pl"` - `"el"` - `"fr"` - `"nl"` - `profanity_filter?: boolean` Control the inclusion of offensive language in transcriptions. - `live_stream_on_start?: boolean | null` Body param: Specifies if the meeting should start getting livestreamed on start. - `persist_chat?: boolean` Body param: If a meeting is set to persist_chat, meeting chat would remain for a week within the meeting space. - `record_on_start?: boolean | null` Body param: Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `recording_config?: RecordingConfig` Body param: Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal. - `audio_config?: AudioConfig` Object containing configuration regarding the audio that is being recorded. - `channel?: "mono" | "stereo"` Audio signal pathway within an audio file that carries a specific sound source. - `"mono"` - `"stereo"` - `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. - `"MP3"` - `"AAC"` - `export_file?: boolean` Controls whether to export audio file seperately - `file_name_prefix?: string` Adds a prefix to the beginning of the file name of the recording. - `live_streaming_config?: LiveStreamingConfig` - `rtmp_url?: string` RTMP URL to stream to - `max_seconds?: number` Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours. - `realtimekit_bucket_config?: RealtimekitBucketConfig` - `enabled: boolean` 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. - `storage_config?: StorageConfig | null` - `type: "aws" | "azure" | "digitalocean" | 2 more` Type of storage media. - `"aws"` - `"azure"` - `"digitalocean"` - `"gcs"` - `"sftp"` - `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. - `auth_method?: "KEY" | "PASSWORD"` Authentication method used for "sftp" type storage medium - `"KEY"` - `"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?: 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" - `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 - `video_config?: VideoConfig` - `codec?: "H264" | "VP8"` Codec using which the recording will be encoded. - `"H264"` - `"VP8"` - `export_file?: boolean` Controls whether to export video file seperately - `height?: number` Height of the recording video in pixels - `watermark?: Watermark` Watermark to be added to the recording - `position?: "left top" | "right top" | "left bottom" | "right bottom"` Position of the watermark - `"left top"` - `"right top"` - `"left bottom"` - `"right bottom"` - `size?: Size` Size of the watermark - `height?: number` Height of the watermark in px - `width?: number` Width of the watermark in px - `url?: string` URL of the watermark image - `width?: number` Width of the recording video in pixels - `session_keep_alive_time_in_secs?: number` Body param: Time in seconds, for which a session remains active, after the last participant has left the meeting. - `summarize_on_end?: boolean` Body param: Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API. - `title?: string | null` Body param: Title of the meeting ### Returns - `MeetingReplaceMeetingByIDResponse` - `success: boolean` Success status of the operation - `data?: Data` Data returned by the operation - `id: string` ID of the meeting. - `created_at: string` Timestamp the object was created at. The time is returned in ISO format. - `updated_at: string` Timestamp the object was updated at. The time is returned in ISO format. - `ai_config?: AIConfig` The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `summarization?: Summarization` Summary Config - `summary_type?: "general" | "team_meeting" | "sales_call" | 6 more` Defines the style of the summary, such as general, team meeting, or sales call. - `"general"` - `"team_meeting"` - `"sales_call"` - `"client_check_in"` - `"interview"` - `"daily_standup"` - `"one_on_one_meeting"` - `"lecture"` - `"code_review"` - `text_format?: "plain_text" | "markdown"` Determines the text format of the summary, such as plain text or markdown. - `"plain_text"` - `"markdown"` - `word_limit?: number` Sets the maximum number of words in the meeting summary. - `transcription?: Transcription` Transcription Configurations - `keywords?: Array` Adds specific terms to improve accurate detection during transcription. - `language?: "en-US" | "en-IN" | "de" | 7 more` Specifies the language code for transcription to ensure accurate results. - `"en-US"` - `"en-IN"` - `"de"` - `"hi"` - `"sv"` - `"ru"` - `"pl"` - `"el"` - `"fr"` - `"nl"` - `profanity_filter?: boolean` Control the inclusion of offensive language in transcriptions. - `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. - `record_on_start?: boolean` Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `recording_config?: RecordingConfig` Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal. - `audio_config?: AudioConfig` Object containing configuration regarding the audio that is being recorded. - `channel?: "mono" | "stereo"` Audio signal pathway within an audio file that carries a specific sound source. - `"mono"` - `"stereo"` - `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. - `"MP3"` - `"AAC"` - `export_file?: boolean` Controls whether to export audio file seperately - `file_name_prefix?: string` Adds a prefix to the beginning of the file name of the recording. - `live_streaming_config?: LiveStreamingConfig` - `rtmp_url?: string` RTMP URL to stream to - `max_seconds?: number` Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours. - `realtimekit_bucket_config?: RealtimekitBucketConfig` - `enabled: boolean` 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. - `storage_config?: StorageConfig | null` - `type: "aws" | "azure" | "digitalocean" | 2 more` Type of storage media. - `"aws"` - `"azure"` - `"digitalocean"` - `"gcs"` - `"sftp"` - `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. - `auth_method?: "KEY" | "PASSWORD"` Authentication method used for "sftp" type storage medium - `"KEY"` - `"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?: 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" - `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 - `video_config?: VideoConfig` - `codec?: "H264" | "VP8"` Codec using which the recording will be encoded. - `"H264"` - `"VP8"` - `export_file?: boolean` Controls whether to export video file seperately - `height?: number` Height of the recording video in pixels - `watermark?: Watermark` Watermark to be added to the recording - `position?: "left top" | "right top" | "left bottom" | "right bottom"` Position of the watermark - `"left top"` - `"right top"` - `"left bottom"` - `"right bottom"` - `size?: Size` Size of the watermark - `height?: number` Height of the watermark in px - `width?: number` Width of the watermark in px - `url?: string` URL of the watermark image - `width?: number` Width of the recording video in pixels - `session_keep_alive_time_in_secs?: number` Time in seconds, for which a session remains active, after the last participant has left the meeting. - `status?: "ACTIVE" | "INACTIVE"` Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `"ACTIVE"` - `"INACTIVE"` - `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. - `title?: string` Title of the meeting. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.meetings.replaceMeetingById( 'app_id', '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(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" } } ``` ## Fetch all participants of a meeting `client.realtimeKit.meetings.getMeetingParticipants(stringappId, stringmeetingId, MeetingGetMeetingParticipantsParamsparams, RequestOptionsoptions?): MeetingGetMeetingParticipantsResponse` **get** `/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants` Returns all participants detail for the given meeting ID. ### Parameters - `appId: string` The app identifier tag. - `meetingId: string` - `params: MeetingGetMeetingParticipantsParams` - `account_id: string` Path param: The account identifier tag. - `page_no?: number` Query param: The page number from which you want your page search results to be displayed. - `per_page?: number` Query param: Number of results per page ### Returns - `MeetingGetMeetingParticipantsResponse` - `data: Array` - `id: string` ID of the participant. - `created_at: string` When this object was created. The time is returned in ISO format. - `custom_participant_id: string` A unique participant ID generated by the client. - `preset_name: string` Preset applied to the participant. - `updated_at: string` When this object was updated. The time is returned in ISO format. - `name?: string | null` Name of the participant. - `picture?: string | null` URL to a picture of the participant. - `paging: Paging` - `end_offset: number` - `start_offset: number` - `total_count: number` - `success: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.meetings.getMeetingParticipants( 'app_id', '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.data); ``` #### Response ```json { "data": [ { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "custom_participant_id": "custom_participant_id", "preset_name": "preset_name", "updated_at": "2019-12-27T18:11:19.117Z", "name": "name", "picture": "https://example.com" } ], "paging": { "end_offset": 30, "start_offset": 1, "total_count": 30 }, "success": true } ``` ## Add a participant `client.realtimeKit.meetings.addParticipant(stringappId, stringmeetingId, MeetingAddParticipantParamsparams, RequestOptionsoptions?): MeetingAddParticipantResponse` **post** `/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants` Adds a participant to the given meeting ID. ### Parameters - `appId: string` The app identifier tag. - `meetingId: string` - `params: MeetingAddParticipantParams` - `account_id: string` Path param: The account identifier tag. - `custom_participant_id: string` Body param: A unique participant ID. You must specify a unique ID for the participant, for example, UUID, email address, and so on. - `preset_name: string` Body param: Name of the preset to apply to this participant. - `name?: string | null` Body param: (Optional) Name of the participant. - `picture?: string | null` Body param: (Optional) A URL to a picture to be used for the participant. ### Returns - `MeetingAddParticipantResponse` - `success: boolean` Success status of the operation - `data?: Data` Represents a participant. - `id: string` ID of the participant. - `token: string` The participant's auth token that can be used for joining a meeting from the client side. - `created_at: string` When this object was created. The time is returned in ISO format. - `custom_participant_id: string` A unique participant ID generated by the client. - `preset_name: string` Preset applied to the participant. - `updated_at: string` When this object was updated. The time is returned in ISO format. - `name?: string | null` Name of the participant. - `picture?: string | null` URL to a picture of the participant. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.meetings.addParticipant( 'app_id', '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', custom_participant_id: 'custom_participant_id', preset_name: 'preset_name', }, ); console.log(response.success); ``` #### Response ```json { "success": true, "data": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "token": "token", "created_at": "2019-12-27T18:11:19.117Z", "custom_participant_id": "custom_participant_id", "preset_name": "preset_name", "updated_at": "2019-12-27T18:11:19.117Z", "name": "name", "picture": "https://example.com" } } ``` ## Fetch a participant's detail `client.realtimeKit.meetings.getMeetingParticipant(stringappId, stringmeetingId, stringparticipantId, MeetingGetMeetingParticipantParamsparams, RequestOptionsoptions?): MeetingGetMeetingParticipantResponse` **get** `/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}` Returns a participant details for the given meeting and participant ID. ### Parameters - `appId: string` The app identifier tag. - `meetingId: string` - `participantId: string` - `params: MeetingGetMeetingParticipantParams` - `account_id: string` The account identifier tag. ### Returns - `MeetingGetMeetingParticipantResponse` - `data: Data` Data returned by the operation - `id: string` ID of the participant. - `created_at: string` When this object was created. The time is returned in ISO format. - `custom_participant_id: string` A unique participant ID generated by the client. - `preset_name: string` Preset applied to the participant. - `updated_at: string` When this object was updated. The time is returned in ISO format. - `name?: string | null` Name of the participant. - `picture?: string | null` URL to a picture of the participant. - `success: boolean` Success status of the operation ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.meetings.getMeetingParticipant( 'app_id', '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', 'participant_id', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.data); ``` #### Response ```json { "data": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "custom_participant_id": "custom_participant_id", "preset_name": "preset_name", "updated_at": "2019-12-27T18:11:19.117Z", "name": "name", "picture": "https://example.com" }, "success": true } ``` ## Edit a participant's detail `client.realtimeKit.meetings.editParticipant(stringappId, stringmeetingId, stringparticipantId, MeetingEditParticipantParamsparams, RequestOptionsoptions?): MeetingEditParticipantResponse` **patch** `/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}` Updates a participant's details for the given meeting and participant ID. ### Parameters - `appId: string` The app identifier tag. - `meetingId: string` - `participantId: string` - `params: MeetingEditParticipantParams` - `account_id: string` Path param: The account identifier tag. - `name?: string | null` Body param: (Optional) Name of the participant. - `picture?: string | null` Body param: (Optional) A URL to a picture to be used for the participant. - `preset_name?: string | null` Body param: (Optional) Name of the preset to apply to this participant. ### Returns - `MeetingEditParticipantResponse` - `success: boolean` Success status of the operation - `data?: Data` Represents a participant. - `id: string` ID of the participant. - `token: string` The participant's auth token that can be used for joining a meeting from the client side. - `created_at: string` When this object was created. The time is returned in ISO format. - `custom_participant_id: string` A unique participant ID generated by the client. - `preset_name: string` Preset applied to the participant. - `updated_at: string` When this object was updated. The time is returned in ISO format. - `name?: string | null` Name of the participant. - `picture?: string | null` URL to a picture of the participant. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.meetings.editParticipant( 'app_id', '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', 'participant_id', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.success); ``` #### Response ```json { "success": true, "data": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "token": "token", "created_at": "2019-12-27T18:11:19.117Z", "custom_participant_id": "custom_participant_id", "preset_name": "preset_name", "updated_at": "2019-12-27T18:11:19.117Z", "name": "name", "picture": "https://example.com" } } ``` ## Delete a participant `client.realtimeKit.meetings.deleteMeetingParticipant(stringappId, stringmeetingId, stringparticipantId, MeetingDeleteMeetingParticipantParamsparams, RequestOptionsoptions?): MeetingDeleteMeetingParticipantResponse` **delete** `/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}` Deletes a participant for the given meeting and participant ID. ### Parameters - `appId: string` The app identifier tag. - `meetingId: string` - `participantId: string` - `params: MeetingDeleteMeetingParticipantParams` - `account_id: string` The account identifier tag. ### Returns - `MeetingDeleteMeetingParticipantResponse` - `success: boolean` Success status of the operation - `data?: Data` Data returned by the operation - `created_at: string` Timestamp this object was created at. The time is returned in ISO format. - `custom_participant_id: string` A unique participant ID generated by the client. - `preset_id: string` ID of the preset applied to this participant. - `updated_at: string` Timestamp this object was updated at. The time is returned in ISO format. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.meetings.deleteMeetingParticipant( 'app_id', '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', 'participant_id', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.success); ``` #### Response ```json { "success": true, "data": { "created_at": "2019-12-27T18:11:19.117Z", "custom_participant_id": "custom_participant_id", "preset_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "updated_at": "2019-12-27T18:11:19.117Z" } } ``` ## Refresh participant's authentication token `client.realtimeKit.meetings.refreshParticipantToken(stringappId, stringmeetingId, stringparticipantId, MeetingRefreshParticipantTokenParamsparams, RequestOptionsoptions?): MeetingRefreshParticipantTokenResponse` **post** `/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}/token` Regenerates participant's authentication token for the given meeting and participant ID. ### Parameters - `appId: string` The app identifier tag. - `meetingId: string` - `participantId: string` - `params: MeetingRefreshParticipantTokenParams` - `account_id: string` The account identifier tag. ### Returns - `MeetingRefreshParticipantTokenResponse` - `data: Data` Data returned by the operation - `token: string` Regenerated participant's authentication token. - `success: boolean` Success status of the operation ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.meetings.refreshParticipantToken( 'app_id', '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', 'participant_id', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.data); ``` #### Response ```json { "data": { "token": "token" }, "success": true } ``` ## Domain Types ### Meeting Get Response - `MeetingGetResponse` - `data: Array` - `id: string` ID of the meeting. - `created_at: string` Timestamp the object was created at. The time is returned in ISO format. - `updated_at: string` 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. - `record_on_start?: boolean` Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `session_keep_alive_time_in_secs?: number` Time in seconds, for which a session remains active, after the last participant has left the meeting. - `status?: "ACTIVE" | "INACTIVE"` Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `"ACTIVE"` - `"INACTIVE"` - `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. - `title?: string` Title of the meeting. - `paging: Paging` - `end_offset: number` - `start_offset: number` - `total_count: number` - `success: boolean` ### Meeting Create Response - `MeetingCreateResponse` - `success: boolean` Success status of the operation - `data?: Data` Data returned by the operation - `id: string` ID of the meeting. - `created_at: string` Timestamp the object was created at. The time is returned in ISO format. - `updated_at: string` Timestamp the object was updated at. The time is returned in ISO format. - `ai_config?: AIConfig` The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `summarization?: Summarization` Summary Config - `summary_type?: "general" | "team_meeting" | "sales_call" | 6 more` Defines the style of the summary, such as general, team meeting, or sales call. - `"general"` - `"team_meeting"` - `"sales_call"` - `"client_check_in"` - `"interview"` - `"daily_standup"` - `"one_on_one_meeting"` - `"lecture"` - `"code_review"` - `text_format?: "plain_text" | "markdown"` Determines the text format of the summary, such as plain text or markdown. - `"plain_text"` - `"markdown"` - `word_limit?: number` Sets the maximum number of words in the meeting summary. - `transcription?: Transcription` Transcription Configurations - `keywords?: Array` Adds specific terms to improve accurate detection during transcription. - `language?: "en-US" | "en-IN" | "de" | 7 more` Specifies the language code for transcription to ensure accurate results. - `"en-US"` - `"en-IN"` - `"de"` - `"hi"` - `"sv"` - `"ru"` - `"pl"` - `"el"` - `"fr"` - `"nl"` - `profanity_filter?: boolean` Control the inclusion of offensive language in transcriptions. - `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. - `record_on_start?: boolean` Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `recording_config?: RecordingConfig` Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal. - `audio_config?: AudioConfig` Object containing configuration regarding the audio that is being recorded. - `channel?: "mono" | "stereo"` Audio signal pathway within an audio file that carries a specific sound source. - `"mono"` - `"stereo"` - `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. - `"MP3"` - `"AAC"` - `export_file?: boolean` Controls whether to export audio file seperately - `file_name_prefix?: string` Adds a prefix to the beginning of the file name of the recording. - `live_streaming_config?: LiveStreamingConfig` - `rtmp_url?: string` RTMP URL to stream to - `max_seconds?: number` Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours. - `realtimekit_bucket_config?: RealtimekitBucketConfig` - `enabled: boolean` 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. - `storage_config?: StorageConfig | null` - `type: "aws" | "azure" | "digitalocean" | 2 more` Type of storage media. - `"aws"` - `"azure"` - `"digitalocean"` - `"gcs"` - `"sftp"` - `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. - `auth_method?: "KEY" | "PASSWORD"` Authentication method used for "sftp" type storage medium - `"KEY"` - `"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?: 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" - `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 - `video_config?: VideoConfig` - `codec?: "H264" | "VP8"` Codec using which the recording will be encoded. - `"H264"` - `"VP8"` - `export_file?: boolean` Controls whether to export video file seperately - `height?: number` Height of the recording video in pixels - `watermark?: Watermark` Watermark to be added to the recording - `position?: "left top" | "right top" | "left bottom" | "right bottom"` Position of the watermark - `"left top"` - `"right top"` - `"left bottom"` - `"right bottom"` - `size?: Size` Size of the watermark - `height?: number` Height of the watermark in px - `width?: number` Width of the watermark in px - `url?: string` URL of the watermark image - `width?: number` Width of the recording video in pixels - `session_keep_alive_time_in_secs?: number` Time in seconds, for which a session remains active, after the last participant has left the meeting. - `status?: "ACTIVE" | "INACTIVE"` Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `"ACTIVE"` - `"INACTIVE"` - `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. - `title?: string` Title of the meeting. ### Meeting Get Meeting By ID Response - `MeetingGetMeetingByIDResponse` - `success: boolean` Success status of the operation - `data?: Data` Data returned by the operation - `id: string` ID of the meeting. - `created_at: string` Timestamp the object was created at. The time is returned in ISO format. - `updated_at: string` Timestamp the object was updated at. The time is returned in ISO format. - `ai_config?: AIConfig` The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `summarization?: Summarization` Summary Config - `summary_type?: "general" | "team_meeting" | "sales_call" | 6 more` Defines the style of the summary, such as general, team meeting, or sales call. - `"general"` - `"team_meeting"` - `"sales_call"` - `"client_check_in"` - `"interview"` - `"daily_standup"` - `"one_on_one_meeting"` - `"lecture"` - `"code_review"` - `text_format?: "plain_text" | "markdown"` Determines the text format of the summary, such as plain text or markdown. - `"plain_text"` - `"markdown"` - `word_limit?: number` Sets the maximum number of words in the meeting summary. - `transcription?: Transcription` Transcription Configurations - `keywords?: Array` Adds specific terms to improve accurate detection during transcription. - `language?: "en-US" | "en-IN" | "de" | 7 more` Specifies the language code for transcription to ensure accurate results. - `"en-US"` - `"en-IN"` - `"de"` - `"hi"` - `"sv"` - `"ru"` - `"pl"` - `"el"` - `"fr"` - `"nl"` - `profanity_filter?: boolean` Control the inclusion of offensive language in transcriptions. - `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. - `record_on_start?: boolean` Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `recording_config?: RecordingConfig` Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal. - `audio_config?: AudioConfig` Object containing configuration regarding the audio that is being recorded. - `channel?: "mono" | "stereo"` Audio signal pathway within an audio file that carries a specific sound source. - `"mono"` - `"stereo"` - `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. - `"MP3"` - `"AAC"` - `export_file?: boolean` Controls whether to export audio file seperately - `file_name_prefix?: string` Adds a prefix to the beginning of the file name of the recording. - `live_streaming_config?: LiveStreamingConfig` - `rtmp_url?: string` RTMP URL to stream to - `max_seconds?: number` Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours. - `realtimekit_bucket_config?: RealtimekitBucketConfig` - `enabled: boolean` 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. - `storage_config?: StorageConfig | null` - `type: "aws" | "azure" | "digitalocean" | 2 more` Type of storage media. - `"aws"` - `"azure"` - `"digitalocean"` - `"gcs"` - `"sftp"` - `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. - `auth_method?: "KEY" | "PASSWORD"` Authentication method used for "sftp" type storage medium - `"KEY"` - `"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?: 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" - `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 - `video_config?: VideoConfig` - `codec?: "H264" | "VP8"` Codec using which the recording will be encoded. - `"H264"` - `"VP8"` - `export_file?: boolean` Controls whether to export video file seperately - `height?: number` Height of the recording video in pixels - `watermark?: Watermark` Watermark to be added to the recording - `position?: "left top" | "right top" | "left bottom" | "right bottom"` Position of the watermark - `"left top"` - `"right top"` - `"left bottom"` - `"right bottom"` - `size?: Size` Size of the watermark - `height?: number` Height of the watermark in px - `width?: number` Width of the watermark in px - `url?: string` URL of the watermark image - `width?: number` Width of the recording video in pixels - `session_keep_alive_time_in_secs?: number` Time in seconds, for which a session remains active, after the last participant has left the meeting. - `status?: "ACTIVE" | "INACTIVE"` Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `"ACTIVE"` - `"INACTIVE"` - `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. - `title?: string` Title of the meeting. ### Meeting Update Meeting By ID Response - `MeetingUpdateMeetingByIDResponse` - `success: boolean` Success status of the operation - `data?: Data` Data returned by the operation - `id: string` ID of the meeting. - `created_at: string` Timestamp the object was created at. The time is returned in ISO format. - `updated_at: string` Timestamp the object was updated at. The time is returned in ISO format. - `ai_config?: AIConfig` The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `summarization?: Summarization` Summary Config - `summary_type?: "general" | "team_meeting" | "sales_call" | 6 more` Defines the style of the summary, such as general, team meeting, or sales call. - `"general"` - `"team_meeting"` - `"sales_call"` - `"client_check_in"` - `"interview"` - `"daily_standup"` - `"one_on_one_meeting"` - `"lecture"` - `"code_review"` - `text_format?: "plain_text" | "markdown"` Determines the text format of the summary, such as plain text or markdown. - `"plain_text"` - `"markdown"` - `word_limit?: number` Sets the maximum number of words in the meeting summary. - `transcription?: Transcription` Transcription Configurations - `keywords?: Array` Adds specific terms to improve accurate detection during transcription. - `language?: "en-US" | "en-IN" | "de" | 7 more` Specifies the language code for transcription to ensure accurate results. - `"en-US"` - `"en-IN"` - `"de"` - `"hi"` - `"sv"` - `"ru"` - `"pl"` - `"el"` - `"fr"` - `"nl"` - `profanity_filter?: boolean` Control the inclusion of offensive language in transcriptions. - `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. - `record_on_start?: boolean` Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `recording_config?: RecordingConfig` Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal. - `audio_config?: AudioConfig` Object containing configuration regarding the audio that is being recorded. - `channel?: "mono" | "stereo"` Audio signal pathway within an audio file that carries a specific sound source. - `"mono"` - `"stereo"` - `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. - `"MP3"` - `"AAC"` - `export_file?: boolean` Controls whether to export audio file seperately - `file_name_prefix?: string` Adds a prefix to the beginning of the file name of the recording. - `live_streaming_config?: LiveStreamingConfig` - `rtmp_url?: string` RTMP URL to stream to - `max_seconds?: number` Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours. - `realtimekit_bucket_config?: RealtimekitBucketConfig` - `enabled: boolean` 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. - `storage_config?: StorageConfig | null` - `type: "aws" | "azure" | "digitalocean" | 2 more` Type of storage media. - `"aws"` - `"azure"` - `"digitalocean"` - `"gcs"` - `"sftp"` - `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. - `auth_method?: "KEY" | "PASSWORD"` Authentication method used for "sftp" type storage medium - `"KEY"` - `"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?: 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" - `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 - `video_config?: VideoConfig` - `codec?: "H264" | "VP8"` Codec using which the recording will be encoded. - `"H264"` - `"VP8"` - `export_file?: boolean` Controls whether to export video file seperately - `height?: number` Height of the recording video in pixels - `watermark?: Watermark` Watermark to be added to the recording - `position?: "left top" | "right top" | "left bottom" | "right bottom"` Position of the watermark - `"left top"` - `"right top"` - `"left bottom"` - `"right bottom"` - `size?: Size` Size of the watermark - `height?: number` Height of the watermark in px - `width?: number` Width of the watermark in px - `url?: string` URL of the watermark image - `width?: number` Width of the recording video in pixels - `session_keep_alive_time_in_secs?: number` Time in seconds, for which a session remains active, after the last participant has left the meeting. - `status?: "ACTIVE" | "INACTIVE"` Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `"ACTIVE"` - `"INACTIVE"` - `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. - `title?: string` Title of the meeting. ### Meeting Replace Meeting By ID Response - `MeetingReplaceMeetingByIDResponse` - `success: boolean` Success status of the operation - `data?: Data` Data returned by the operation - `id: string` ID of the meeting. - `created_at: string` Timestamp the object was created at. The time is returned in ISO format. - `updated_at: string` Timestamp the object was updated at. The time is returned in ISO format. - `ai_config?: AIConfig` The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `summarization?: Summarization` Summary Config - `summary_type?: "general" | "team_meeting" | "sales_call" | 6 more` Defines the style of the summary, such as general, team meeting, or sales call. - `"general"` - `"team_meeting"` - `"sales_call"` - `"client_check_in"` - `"interview"` - `"daily_standup"` - `"one_on_one_meeting"` - `"lecture"` - `"code_review"` - `text_format?: "plain_text" | "markdown"` Determines the text format of the summary, such as plain text or markdown. - `"plain_text"` - `"markdown"` - `word_limit?: number` Sets the maximum number of words in the meeting summary. - `transcription?: Transcription` Transcription Configurations - `keywords?: Array` Adds specific terms to improve accurate detection during transcription. - `language?: "en-US" | "en-IN" | "de" | 7 more` Specifies the language code for transcription to ensure accurate results. - `"en-US"` - `"en-IN"` - `"de"` - `"hi"` - `"sv"` - `"ru"` - `"pl"` - `"el"` - `"fr"` - `"nl"` - `profanity_filter?: boolean` Control the inclusion of offensive language in transcriptions. - `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. - `record_on_start?: boolean` Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `recording_config?: RecordingConfig` Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal. - `audio_config?: AudioConfig` Object containing configuration regarding the audio that is being recorded. - `channel?: "mono" | "stereo"` Audio signal pathway within an audio file that carries a specific sound source. - `"mono"` - `"stereo"` - `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. - `"MP3"` - `"AAC"` - `export_file?: boolean` Controls whether to export audio file seperately - `file_name_prefix?: string` Adds a prefix to the beginning of the file name of the recording. - `live_streaming_config?: LiveStreamingConfig` - `rtmp_url?: string` RTMP URL to stream to - `max_seconds?: number` Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours. - `realtimekit_bucket_config?: RealtimekitBucketConfig` - `enabled: boolean` 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. - `storage_config?: StorageConfig | null` - `type: "aws" | "azure" | "digitalocean" | 2 more` Type of storage media. - `"aws"` - `"azure"` - `"digitalocean"` - `"gcs"` - `"sftp"` - `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. - `auth_method?: "KEY" | "PASSWORD"` Authentication method used for "sftp" type storage medium - `"KEY"` - `"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?: 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" - `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 - `video_config?: VideoConfig` - `codec?: "H264" | "VP8"` Codec using which the recording will be encoded. - `"H264"` - `"VP8"` - `export_file?: boolean` Controls whether to export video file seperately - `height?: number` Height of the recording video in pixels - `watermark?: Watermark` Watermark to be added to the recording - `position?: "left top" | "right top" | "left bottom" | "right bottom"` Position of the watermark - `"left top"` - `"right top"` - `"left bottom"` - `"right bottom"` - `size?: Size` Size of the watermark - `height?: number` Height of the watermark in px - `width?: number` Width of the watermark in px - `url?: string` URL of the watermark image - `width?: number` Width of the recording video in pixels - `session_keep_alive_time_in_secs?: number` Time in seconds, for which a session remains active, after the last participant has left the meeting. - `status?: "ACTIVE" | "INACTIVE"` Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `"ACTIVE"` - `"INACTIVE"` - `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. - `title?: string` Title of the meeting. ### Meeting Get Meeting Participants Response - `MeetingGetMeetingParticipantsResponse` - `data: Array` - `id: string` ID of the participant. - `created_at: string` When this object was created. The time is returned in ISO format. - `custom_participant_id: string` A unique participant ID generated by the client. - `preset_name: string` Preset applied to the participant. - `updated_at: string` When this object was updated. The time is returned in ISO format. - `name?: string | null` Name of the participant. - `picture?: string | null` URL to a picture of the participant. - `paging: Paging` - `end_offset: number` - `start_offset: number` - `total_count: number` - `success: boolean` ### Meeting Add Participant Response - `MeetingAddParticipantResponse` - `success: boolean` Success status of the operation - `data?: Data` Represents a participant. - `id: string` ID of the participant. - `token: string` The participant's auth token that can be used for joining a meeting from the client side. - `created_at: string` When this object was created. The time is returned in ISO format. - `custom_participant_id: string` A unique participant ID generated by the client. - `preset_name: string` Preset applied to the participant. - `updated_at: string` When this object was updated. The time is returned in ISO format. - `name?: string | null` Name of the participant. - `picture?: string | null` URL to a picture of the participant. ### Meeting Get Meeting Participant Response - `MeetingGetMeetingParticipantResponse` - `data: Data` Data returned by the operation - `id: string` ID of the participant. - `created_at: string` When this object was created. The time is returned in ISO format. - `custom_participant_id: string` A unique participant ID generated by the client. - `preset_name: string` Preset applied to the participant. - `updated_at: string` When this object was updated. The time is returned in ISO format. - `name?: string | null` Name of the participant. - `picture?: string | null` URL to a picture of the participant. - `success: boolean` Success status of the operation ### Meeting Edit Participant Response - `MeetingEditParticipantResponse` - `success: boolean` Success status of the operation - `data?: Data` Represents a participant. - `id: string` ID of the participant. - `token: string` The participant's auth token that can be used for joining a meeting from the client side. - `created_at: string` When this object was created. The time is returned in ISO format. - `custom_participant_id: string` A unique participant ID generated by the client. - `preset_name: string` Preset applied to the participant. - `updated_at: string` When this object was updated. The time is returned in ISO format. - `name?: string | null` Name of the participant. - `picture?: string | null` URL to a picture of the participant. ### Meeting Delete Meeting Participant Response - `MeetingDeleteMeetingParticipantResponse` - `success: boolean` Success status of the operation - `data?: Data` Data returned by the operation - `created_at: string` Timestamp this object was created at. The time is returned in ISO format. - `custom_participant_id: string` A unique participant ID generated by the client. - `preset_id: string` ID of the preset applied to this participant. - `updated_at: string` Timestamp this object was updated at. The time is returned in ISO format. ### Meeting Refresh Participant Token Response - `MeetingRefreshParticipantTokenResponse` - `data: Data` Data returned by the operation - `token: string` Regenerated participant's authentication token. - `success: boolean` Success status of the operation