Skip to content
Start here

Meetings

Fetch all meetings for an App
client.realtimeKit.meetings.get(stringappId, MeetingGetParams { account_id, end_time, page_no, 3 more } params, RequestOptionsoptions?): MeetingGetResponse { data, paging, success }
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings
Create a meeting
client.realtimeKit.meetings.create(stringappId, MeetingCreateParams { account_id, ai_config, live_stream_on_start, 6 more } params, RequestOptionsoptions?): MeetingCreateResponse { success, data }
POST/accounts/{account_id}/realtime/kit/{app_id}/meetings
Fetch a meeting for an App
client.realtimeKit.meetings.getMeetingById(stringappId, stringmeetingId, MeetingGetMeetingByIDParams { account_id, name } params, RequestOptionsoptions?): MeetingGetMeetingByIDResponse { success, data }
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}
Update a meeting
client.realtimeKit.meetings.updateMeetingById(stringappId, stringmeetingId, MeetingUpdateMeetingByIDParams { account_id, ai_config, live_stream_on_start, 6 more } params, RequestOptionsoptions?): MeetingUpdateMeetingByIDResponse { success, data }
PATCH/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}
Replace a meeting
client.realtimeKit.meetings.replaceMeetingById(stringappId, stringmeetingId, MeetingReplaceMeetingByIDParams { account_id, ai_config, live_stream_on_start, 6 more } params, RequestOptionsoptions?): MeetingReplaceMeetingByIDResponse { success, data }
PUT/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}
Fetch all participants of a meeting
client.realtimeKit.meetings.getMeetingParticipants(stringappId, stringmeetingId, MeetingGetMeetingParticipantsParams { account_id, page_no, per_page } params, RequestOptionsoptions?): MeetingGetMeetingParticipantsResponse { data, paging, success }
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants
Add a participant
client.realtimeKit.meetings.addParticipant(stringappId, stringmeetingId, MeetingAddParticipantParams { account_id, custom_participant_id, preset_name, 2 more } params, RequestOptionsoptions?): MeetingAddParticipantResponse { success, data }
POST/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants
Fetch a participant's detail
client.realtimeKit.meetings.getMeetingParticipant(stringappId, stringmeetingId, stringparticipantId, MeetingGetMeetingParticipantParams { account_id } params, RequestOptionsoptions?): MeetingGetMeetingParticipantResponse { data, success }
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}
Edit a participant's detail
client.realtimeKit.meetings.editParticipant(stringappId, stringmeetingId, stringparticipantId, MeetingEditParticipantParams { account_id, name, picture, preset_name } params, RequestOptionsoptions?): MeetingEditParticipantResponse { success, data }
PATCH/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}
Delete a participant
client.realtimeKit.meetings.deleteMeetingParticipant(stringappId, stringmeetingId, stringparticipantId, MeetingDeleteMeetingParticipantParams { account_id } params, RequestOptionsoptions?): MeetingDeleteMeetingParticipantResponse { success, data }
DELETE/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}
Refresh participant's authentication token
client.realtimeKit.meetings.refreshParticipantToken(stringappId, stringmeetingId, stringparticipantId, MeetingRefreshParticipantTokenParams { account_id } params, RequestOptionsoptions?): MeetingRefreshParticipantTokenResponse { data, success }
POST/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}/token
ModelsExpand Collapse
MeetingGetResponse { data, paging, success }
data: Array<Data>
id: string

ID of the meeting.

formatuuid
created_at: string

Timestamp the object was created at. The time is returned in ISO format.

formatdate-time
updated_at: string

Timestamp the object was updated at. The time is returned in ISO format.

formatdate-time
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.

maximum600
minimum60
status?: "ACTIVE" | "INACTIVE"

Whether the meeting is ACTIVE or INACTIVE. Users will not be able to join an INACTIVE meeting.

One of the following:
"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, start_offset, total_count }
end_offset: number
start_offset: number
total_count: number
minimum0
success: boolean
MeetingCreateResponse { success, data }
success: boolean

Success status of the operation

data?: Data { id, created_at, updated_at, 9 more }

Data returned by the operation

id: string

ID of the meeting.

formatuuid
created_at: string

Timestamp the object was created at. The time is returned in ISO format.

formatdate-time
updated_at: string

Timestamp the object was updated at. The time is returned in ISO format.

formatdate-time
ai_config?: AIConfig { summarization, transcription }

The AI Config allows you to customize the behavior of meeting transcriptions and summaries

summarization?: Summarization { summary_type, text_format, word_limit }

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.

One of the following:
"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.

One of the following:
"plain_text"
"markdown"
word_limit?: number

Sets the maximum number of words in the meeting summary.

maximum1000
minimum150
transcription?: Transcription { keywords, language, profanity_filter }

Transcription Configurations

keywords?: Array<string>

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.

One of the following:
"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 { audio_config, file_name_prefix, live_streaming_config, 4 more }

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 { channel, codec, export_file }

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.

One of the following:
"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.

One of the following:
"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 }
rtmp_url?: string

RTMP URL to stream to

formaturi
max_seconds?: number

Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours.

maximum86400
minimum60
realtimekit_bucket_config?: RealtimekitBucketConfig { enabled }
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.

One of the following:
"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

One of the following:
"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, export_file, height, 2 more }
codec?: "H264" | "VP8"

Codec using which the recording will be encoded.

One of the following:
"H264"
"VP8"
export_file?: boolean

Controls whether to export video file seperately

height?: number

Height of the recording video in pixels

maximum1920
minimum1
watermark?: Watermark { position, size, url }

Watermark to be added to the recording

position?: "left top" | "right top" | "left bottom" | "right bottom"

Position of the watermark

One of the following:
"left top"
"right top"
"left bottom"
"right bottom"
size?: Size { height, width }

Size of the watermark

height?: number

Height of the watermark in px

minimum1
width?: number

Width of the watermark in px

minimum1
url?: string

URL of the watermark image

formaturi
width?: number

Width of the recording video in pixels

maximum1920
minimum1
session_keep_alive_time_in_secs?: number

Time in seconds, for which a session remains active, after the last participant has left the meeting.

maximum600
minimum60
status?: "ACTIVE" | "INACTIVE"

Whether the meeting is ACTIVE or INACTIVE. Users will not be able to join an INACTIVE meeting.

One of the following:
"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.

MeetingGetMeetingByIDResponse { success, data }
success: boolean

Success status of the operation

data?: Data { id, created_at, updated_at, 9 more }

Data returned by the operation

id: string

ID of the meeting.

formatuuid
created_at: string

Timestamp the object was created at. The time is returned in ISO format.

formatdate-time
updated_at: string

Timestamp the object was updated at. The time is returned in ISO format.

formatdate-time
ai_config?: AIConfig { summarization, transcription }

The AI Config allows you to customize the behavior of meeting transcriptions and summaries

summarization?: Summarization { summary_type, text_format, word_limit }

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.

One of the following:
"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.

One of the following:
"plain_text"
"markdown"
word_limit?: number

Sets the maximum number of words in the meeting summary.

maximum1000
minimum150
transcription?: Transcription { keywords, language, profanity_filter }

Transcription Configurations

keywords?: Array<string>

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.

One of the following:
"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 { audio_config, file_name_prefix, live_streaming_config, 4 more }

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 { channel, codec, export_file }

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.

One of the following:
"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.

One of the following:
"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 }
rtmp_url?: string

RTMP URL to stream to

formaturi
max_seconds?: number

Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours.

maximum86400
minimum60
realtimekit_bucket_config?: RealtimekitBucketConfig { enabled }
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.

One of the following:
"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

One of the following:
"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, export_file, height, 2 more }
codec?: "H264" | "VP8"

Codec using which the recording will be encoded.

One of the following:
"H264"
"VP8"
export_file?: boolean

Controls whether to export video file seperately

height?: number

Height of the recording video in pixels

maximum1920
minimum1
watermark?: Watermark { position, size, url }

Watermark to be added to the recording

position?: "left top" | "right top" | "left bottom" | "right bottom"

Position of the watermark

One of the following:
"left top"
"right top"
"left bottom"
"right bottom"
size?: Size { height, width }

Size of the watermark

height?: number

Height of the watermark in px

minimum1
width?: number

Width of the watermark in px

minimum1
url?: string

URL of the watermark image

formaturi
width?: number

Width of the recording video in pixels

maximum1920
minimum1
session_keep_alive_time_in_secs?: number

Time in seconds, for which a session remains active, after the last participant has left the meeting.

maximum600
minimum60
status?: "ACTIVE" | "INACTIVE"

Whether the meeting is ACTIVE or INACTIVE. Users will not be able to join an INACTIVE meeting.

One of the following:
"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.

MeetingUpdateMeetingByIDResponse { success, data }
success: boolean

Success status of the operation

data?: Data { id, created_at, updated_at, 9 more }

Data returned by the operation

id: string

ID of the meeting.

formatuuid
created_at: string

Timestamp the object was created at. The time is returned in ISO format.

formatdate-time
updated_at: string

Timestamp the object was updated at. The time is returned in ISO format.

formatdate-time
ai_config?: AIConfig { summarization, transcription }

The AI Config allows you to customize the behavior of meeting transcriptions and summaries

summarization?: Summarization { summary_type, text_format, word_limit }

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.

One of the following:
"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.

One of the following:
"plain_text"
"markdown"
word_limit?: number

Sets the maximum number of words in the meeting summary.

maximum1000
minimum150
transcription?: Transcription { keywords, language, profanity_filter }

Transcription Configurations

keywords?: Array<string>

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.

One of the following:
"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 { audio_config, file_name_prefix, live_streaming_config, 4 more }

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 { channel, codec, export_file }

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.

One of the following:
"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.

One of the following:
"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 }
rtmp_url?: string

RTMP URL to stream to

formaturi
max_seconds?: number

Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours.

maximum86400
minimum60
realtimekit_bucket_config?: RealtimekitBucketConfig { enabled }
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.

One of the following:
"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

One of the following:
"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, export_file, height, 2 more }
codec?: "H264" | "VP8"

Codec using which the recording will be encoded.

One of the following:
"H264"
"VP8"
export_file?: boolean

Controls whether to export video file seperately

height?: number

Height of the recording video in pixels

maximum1920
minimum1
watermark?: Watermark { position, size, url }

Watermark to be added to the recording

position?: "left top" | "right top" | "left bottom" | "right bottom"

Position of the watermark

One of the following:
"left top"
"right top"
"left bottom"
"right bottom"
size?: Size { height, width }

Size of the watermark

height?: number

Height of the watermark in px

minimum1
width?: number

Width of the watermark in px

minimum1
url?: string

URL of the watermark image

formaturi
width?: number

Width of the recording video in pixels

maximum1920
minimum1
session_keep_alive_time_in_secs?: number

Time in seconds, for which a session remains active, after the last participant has left the meeting.

maximum600
minimum60
status?: "ACTIVE" | "INACTIVE"

Whether the meeting is ACTIVE or INACTIVE. Users will not be able to join an INACTIVE meeting.

One of the following:
"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.

MeetingReplaceMeetingByIDResponse { success, data }
success: boolean

Success status of the operation

data?: Data { id, created_at, updated_at, 9 more }

Data returned by the operation

id: string

ID of the meeting.

formatuuid
created_at: string

Timestamp the object was created at. The time is returned in ISO format.

formatdate-time
updated_at: string

Timestamp the object was updated at. The time is returned in ISO format.

formatdate-time
ai_config?: AIConfig { summarization, transcription }

The AI Config allows you to customize the behavior of meeting transcriptions and summaries

summarization?: Summarization { summary_type, text_format, word_limit }

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.

One of the following:
"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.

One of the following:
"plain_text"
"markdown"
word_limit?: number

Sets the maximum number of words in the meeting summary.

maximum1000
minimum150
transcription?: Transcription { keywords, language, profanity_filter }

Transcription Configurations

keywords?: Array<string>

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.

One of the following:
"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 { audio_config, file_name_prefix, live_streaming_config, 4 more }

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 { channel, codec, export_file }

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.

One of the following:
"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.

One of the following:
"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 }
rtmp_url?: string

RTMP URL to stream to

formaturi
max_seconds?: number

Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours.

maximum86400
minimum60
realtimekit_bucket_config?: RealtimekitBucketConfig { enabled }
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.

One of the following:
"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

One of the following:
"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, export_file, height, 2 more }
codec?: "H264" | "VP8"

Codec using which the recording will be encoded.

One of the following:
"H264"
"VP8"
export_file?: boolean

Controls whether to export video file seperately

height?: number

Height of the recording video in pixels

maximum1920
minimum1
watermark?: Watermark { position, size, url }

Watermark to be added to the recording

position?: "left top" | "right top" | "left bottom" | "right bottom"

Position of the watermark

One of the following:
"left top"
"right top"
"left bottom"
"right bottom"
size?: Size { height, width }

Size of the watermark

height?: number

Height of the watermark in px

minimum1
width?: number

Width of the watermark in px

minimum1
url?: string

URL of the watermark image

formaturi
width?: number

Width of the recording video in pixels

maximum1920
minimum1
session_keep_alive_time_in_secs?: number

Time in seconds, for which a session remains active, after the last participant has left the meeting.

maximum600
minimum60
status?: "ACTIVE" | "INACTIVE"

Whether the meeting is ACTIVE or INACTIVE. Users will not be able to join an INACTIVE meeting.

One of the following:
"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.

MeetingGetMeetingParticipantsResponse { data, paging, success }
data: Array<Data>
id: string

ID of the participant.

formatuuid
created_at: string

When this object was created. The time is returned in ISO format.

formatdate-time
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.

formatdate-time
name?: string | null

Name of the participant.

picture?: string | null

URL to a picture of the participant.

formaturi
paging: Paging { end_offset, start_offset, total_count }
end_offset: number
start_offset: number
total_count: number
minimum0
success: boolean
MeetingAddParticipantResponse { success, data }
success: boolean

Success status of the operation

data?: Data { id, token, created_at, 5 more }

Represents a participant.

id: string

ID of the participant.

formatuuid
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.

formatdate-time
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.

formatdate-time
name?: string | null

Name of the participant.

picture?: string | null

URL to a picture of the participant.

formaturi
MeetingGetMeetingParticipantResponse { data, success }
data: Data { id, created_at, custom_participant_id, 4 more }

Data returned by the operation

id: string

ID of the participant.

formatuuid
created_at: string

When this object was created. The time is returned in ISO format.

formatdate-time
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.

formatdate-time
name?: string | null

Name of the participant.

picture?: string | null

URL to a picture of the participant.

formaturi
success: boolean

Success status of the operation

MeetingEditParticipantResponse { success, data }
success: boolean

Success status of the operation

data?: Data { id, token, created_at, 5 more }

Represents a participant.

id: string

ID of the participant.

formatuuid
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.

formatdate-time
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.

formatdate-time
name?: string | null

Name of the participant.

picture?: string | null

URL to a picture of the participant.

formaturi
MeetingDeleteMeetingParticipantResponse { success, data }
success: boolean

Success status of the operation

data?: Data { created_at, custom_participant_id, preset_id, updated_at }

Data returned by the operation

created_at: string

Timestamp this object was created at. The time is returned in ISO format.

formatdate-time
custom_participant_id: string

A unique participant ID generated by the client.

preset_id: string

ID of the preset applied to this participant.

formatuuid
updated_at: string

Timestamp this object was updated at. The time is returned in ISO format.

formatdate-time
MeetingRefreshParticipantTokenResponse { data, success }
data: Data { token }

Data returned by the operation

token: string

Regenerated participant's authentication token.

success: boolean

Success status of the operation