Skip to content
Start here

Realtime Kit

Realtime KitApps

Fetch all apps
realtime_kit.apps.get(AppGetParams**kwargs) -> AppGetResponse
GET/accounts/{account_id}/realtime/kit/apps
Create App
realtime_kit.apps.post(AppPostParams**kwargs) -> AppPostResponse
POST/accounts/{account_id}/realtime/kit/apps
ModelsExpand Collapse
class AppGetResponse:
data: Optional[List[Data]]
id: Optional[str]
created_at: Optional[str]
name: Optional[str]
success: Optional[bool]
class AppPostResponse:
data: Optional[Data]
app: Optional[DataApp]
id: Optional[str]
created_at: Optional[str]
name: Optional[str]
success: Optional[bool]

Realtime KitMeetings

Fetch all meetings for an App
realtime_kit.meetings.get(strapp_id, MeetingGetParams**kwargs) -> MeetingGetResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings
Create a meeting
realtime_kit.meetings.create(strapp_id, MeetingCreateParams**kwargs) -> MeetingCreateResponse
POST/accounts/{account_id}/realtime/kit/{app_id}/meetings
Fetch a meeting for an App
realtime_kit.meetings.get_meeting_by_id(strmeeting_id, MeetingGetMeetingByIDParams**kwargs) -> MeetingGetMeetingByIDResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}
Update a meeting
realtime_kit.meetings.update_meeting_by_id(strmeeting_id, MeetingUpdateMeetingByIDParams**kwargs) -> MeetingUpdateMeetingByIDResponse
PATCH/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}
Replace a meeting
realtime_kit.meetings.replace_meeting_by_id(strmeeting_id, MeetingReplaceMeetingByIDParams**kwargs) -> MeetingReplaceMeetingByIDResponse
PUT/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}
Fetch all participants of a meeting
realtime_kit.meetings.get_meeting_participants(strmeeting_id, MeetingGetMeetingParticipantsParams**kwargs) -> MeetingGetMeetingParticipantsResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants
Add a participant
realtime_kit.meetings.add_participant(strmeeting_id, MeetingAddParticipantParams**kwargs) -> MeetingAddParticipantResponse
POST/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants
Fetch a participant's detail
realtime_kit.meetings.get_meeting_participant(strparticipant_id, MeetingGetMeetingParticipantParams**kwargs) -> MeetingGetMeetingParticipantResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}
Edit a participant's detail
realtime_kit.meetings.edit_participant(strparticipant_id, MeetingEditParticipantParams**kwargs) -> MeetingEditParticipantResponse
PATCH/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}
Delete a participant
realtime_kit.meetings.delete_meeting_participant(strparticipant_id, MeetingDeleteMeetingParticipantParams**kwargs) -> MeetingDeleteMeetingParticipantResponse
DELETE/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}
Refresh participant's authentication token
realtime_kit.meetings.refresh_participant_token(strparticipant_id, MeetingRefreshParticipantTokenParams**kwargs) -> MeetingRefreshParticipantTokenResponse
POST/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/participants/{participant_id}/token
ModelsExpand Collapse
class MeetingGetResponse:
data: List[Data]
id: str

ID of the meeting.

formatuuid
created_at: datetime

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

formatdate-time
updated_at: datetime

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

formatdate-time
live_stream_on_start: Optional[bool]

Specifies if the meeting should start getting livestreamed on start.

persist_chat: Optional[bool]

Specifies if Chat within a meeting should persist for a week.

record_on_start: Optional[bool]

Specifies if the meeting should start getting recorded as soon as someone joins the meeting.

session_keep_alive_time_in_secs: Optional[float]

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

maximum600
minimum60
status: Optional[Literal["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: Optional[bool]

Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API.

title: Optional[str]

Title of the meeting.

paging: Paging
end_offset: float
start_offset: float
total_count: float
minimum0
success: bool
class MeetingCreateResponse:
success: bool

Success status of the operation

data: Optional[Data]

Data returned by the operation

id: str

ID of the meeting.

formatuuid
created_at: datetime

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

formatdate-time
updated_at: datetime

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

formatdate-time
ai_config: Optional[DataAIConfig]

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

summarization: Optional[DataAIConfigSummarization]

Summary Config

summary_type: Optional[Literal["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: Optional[Literal["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: Optional[int]

Sets the maximum number of words in the meeting summary.

maximum1000
minimum150
transcription: Optional[DataAIConfigTranscription]

Transcription Configurations

keywords: Optional[List[str]]

Adds specific terms to improve accurate detection during transcription.

language: Optional[Literal["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: Optional[bool]

Control the inclusion of offensive language in transcriptions.

live_stream_on_start: Optional[bool]

Specifies if the meeting should start getting livestreamed on start.

persist_chat: Optional[bool]

Specifies if Chat within a meeting should persist for a week.

record_on_start: Optional[bool]

Specifies if the meeting should start getting recorded as soon as someone joins the meeting.

recording_config: Optional[DataRecordingConfig]

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: Optional[DataRecordingConfigAudioConfig]

Object containing configuration regarding the audio that is being recorded.

channel: Optional[Literal["mono", "stereo"]]

Audio signal pathway within an audio file that carries a specific sound source.

One of the following:
"mono"
"stereo"
codec: Optional[Literal["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: Optional[bool]

Controls whether to export audio file seperately

file_name_prefix: Optional[str]

Adds a prefix to the beginning of the file name of the recording.

live_streaming_config: Optional[DataRecordingConfigLiveStreamingConfig]
rtmp_url: Optional[str]

RTMP URL to stream to

formaturi
max_seconds: Optional[float]

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: Optional[DataRecordingConfigRealtimekitBucketConfig]
enabled: bool

Controls whether recordings are uploaded to RealtimeKit's bucket. If set to false, download_url, audio_download_url, download_url_expiry won't be generated for a recording.

storage_config: Optional[DataRecordingConfigStorageConfig]
type: Literal["aws", "azure", "digitalocean", 2 more]

Type of storage media.

One of the following:
"aws"
"azure"
"digitalocean"
"gcs"
"sftp"
access_key: Optional[str]

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: Optional[Literal["KEY", "PASSWORD"]]

Authentication method used for "sftp" type storage medium

One of the following:
"KEY"
"PASSWORD"
bucket: Optional[str]

Name of the storage medium's bucket.

host: Optional[str]

SSH destination server host for SFTP type storage medium

password: Optional[str]

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: Optional[str]

Path relative to the bucket root at which the recording will be placed.

port: Optional[float]

SSH destination server port for SFTP type storage medium

private_key: Optional[str]

Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY"

region: Optional[str]

Region of the storage medium.

secret: Optional[str]

Secret key of the storage medium. Similar to access_key, it is only writeable by clients, not readable.

username: Optional[str]

SSH destination server username for SFTP type storage medium

video_config: Optional[DataRecordingConfigVideoConfig]
codec: Optional[Literal["H264", "VP8"]]

Codec using which the recording will be encoded.

One of the following:
"H264"
"VP8"
export_file: Optional[bool]

Controls whether to export video file seperately

height: Optional[int]

Height of the recording video in pixels

maximum1920
minimum1
watermark: Optional[DataRecordingConfigVideoConfigWatermark]

Watermark to be added to the recording

position: Optional[Literal["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: Optional[DataRecordingConfigVideoConfigWatermarkSize]

Size of the watermark

height: Optional[int]

Height of the watermark in px

minimum1
width: Optional[int]

Width of the watermark in px

minimum1
url: Optional[str]

URL of the watermark image

formaturi
width: Optional[int]

Width of the recording video in pixels

maximum1920
minimum1
session_keep_alive_time_in_secs: Optional[float]

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

maximum600
minimum60
status: Optional[Literal["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: Optional[bool]

Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API.

title: Optional[str]

Title of the meeting.

class MeetingGetMeetingByIDResponse:
success: bool

Success status of the operation

data: Optional[Data]

Data returned by the operation

id: str

ID of the meeting.

formatuuid
created_at: datetime

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

formatdate-time
updated_at: datetime

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

formatdate-time
ai_config: Optional[DataAIConfig]

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

summarization: Optional[DataAIConfigSummarization]

Summary Config

summary_type: Optional[Literal["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: Optional[Literal["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: Optional[int]

Sets the maximum number of words in the meeting summary.

maximum1000
minimum150
transcription: Optional[DataAIConfigTranscription]

Transcription Configurations

keywords: Optional[List[str]]

Adds specific terms to improve accurate detection during transcription.

language: Optional[Literal["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: Optional[bool]

Control the inclusion of offensive language in transcriptions.

live_stream_on_start: Optional[bool]

Specifies if the meeting should start getting livestreamed on start.

persist_chat: Optional[bool]

Specifies if Chat within a meeting should persist for a week.

record_on_start: Optional[bool]

Specifies if the meeting should start getting recorded as soon as someone joins the meeting.

recording_config: Optional[DataRecordingConfig]

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: Optional[DataRecordingConfigAudioConfig]

Object containing configuration regarding the audio that is being recorded.

channel: Optional[Literal["mono", "stereo"]]

Audio signal pathway within an audio file that carries a specific sound source.

One of the following:
"mono"
"stereo"
codec: Optional[Literal["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: Optional[bool]

Controls whether to export audio file seperately

file_name_prefix: Optional[str]

Adds a prefix to the beginning of the file name of the recording.

live_streaming_config: Optional[DataRecordingConfigLiveStreamingConfig]
rtmp_url: Optional[str]

RTMP URL to stream to

formaturi
max_seconds: Optional[float]

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: Optional[DataRecordingConfigRealtimekitBucketConfig]
enabled: bool

Controls whether recordings are uploaded to RealtimeKit's bucket. If set to false, download_url, audio_download_url, download_url_expiry won't be generated for a recording.

storage_config: Optional[DataRecordingConfigStorageConfig]
type: Literal["aws", "azure", "digitalocean", 2 more]

Type of storage media.

One of the following:
"aws"
"azure"
"digitalocean"
"gcs"
"sftp"
access_key: Optional[str]

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: Optional[Literal["KEY", "PASSWORD"]]

Authentication method used for "sftp" type storage medium

One of the following:
"KEY"
"PASSWORD"
bucket: Optional[str]

Name of the storage medium's bucket.

host: Optional[str]

SSH destination server host for SFTP type storage medium

password: Optional[str]

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: Optional[str]

Path relative to the bucket root at which the recording will be placed.

port: Optional[float]

SSH destination server port for SFTP type storage medium

private_key: Optional[str]

Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY"

region: Optional[str]

Region of the storage medium.

secret: Optional[str]

Secret key of the storage medium. Similar to access_key, it is only writeable by clients, not readable.

username: Optional[str]

SSH destination server username for SFTP type storage medium

video_config: Optional[DataRecordingConfigVideoConfig]
codec: Optional[Literal["H264", "VP8"]]

Codec using which the recording will be encoded.

One of the following:
"H264"
"VP8"
export_file: Optional[bool]

Controls whether to export video file seperately

height: Optional[int]

Height of the recording video in pixels

maximum1920
minimum1
watermark: Optional[DataRecordingConfigVideoConfigWatermark]

Watermark to be added to the recording

position: Optional[Literal["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: Optional[DataRecordingConfigVideoConfigWatermarkSize]

Size of the watermark

height: Optional[int]

Height of the watermark in px

minimum1
width: Optional[int]

Width of the watermark in px

minimum1
url: Optional[str]

URL of the watermark image

formaturi
width: Optional[int]

Width of the recording video in pixels

maximum1920
minimum1
session_keep_alive_time_in_secs: Optional[float]

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

maximum600
minimum60
status: Optional[Literal["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: Optional[bool]

Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API.

title: Optional[str]

Title of the meeting.

class MeetingUpdateMeetingByIDResponse:
success: bool

Success status of the operation

data: Optional[Data]

Data returned by the operation

id: str

ID of the meeting.

formatuuid
created_at: datetime

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

formatdate-time
updated_at: datetime

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

formatdate-time
ai_config: Optional[DataAIConfig]

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

summarization: Optional[DataAIConfigSummarization]

Summary Config

summary_type: Optional[Literal["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: Optional[Literal["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: Optional[int]

Sets the maximum number of words in the meeting summary.

maximum1000
minimum150
transcription: Optional[DataAIConfigTranscription]

Transcription Configurations

keywords: Optional[List[str]]

Adds specific terms to improve accurate detection during transcription.

language: Optional[Literal["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: Optional[bool]

Control the inclusion of offensive language in transcriptions.

live_stream_on_start: Optional[bool]

Specifies if the meeting should start getting livestreamed on start.

persist_chat: Optional[bool]

Specifies if Chat within a meeting should persist for a week.

record_on_start: Optional[bool]

Specifies if the meeting should start getting recorded as soon as someone joins the meeting.

recording_config: Optional[DataRecordingConfig]

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: Optional[DataRecordingConfigAudioConfig]

Object containing configuration regarding the audio that is being recorded.

channel: Optional[Literal["mono", "stereo"]]

Audio signal pathway within an audio file that carries a specific sound source.

One of the following:
"mono"
"stereo"
codec: Optional[Literal["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: Optional[bool]

Controls whether to export audio file seperately

file_name_prefix: Optional[str]

Adds a prefix to the beginning of the file name of the recording.

live_streaming_config: Optional[DataRecordingConfigLiveStreamingConfig]
rtmp_url: Optional[str]

RTMP URL to stream to

formaturi
max_seconds: Optional[float]

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: Optional[DataRecordingConfigRealtimekitBucketConfig]
enabled: bool

Controls whether recordings are uploaded to RealtimeKit's bucket. If set to false, download_url, audio_download_url, download_url_expiry won't be generated for a recording.

storage_config: Optional[DataRecordingConfigStorageConfig]
type: Literal["aws", "azure", "digitalocean", 2 more]

Type of storage media.

One of the following:
"aws"
"azure"
"digitalocean"
"gcs"
"sftp"
access_key: Optional[str]

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: Optional[Literal["KEY", "PASSWORD"]]

Authentication method used for "sftp" type storage medium

One of the following:
"KEY"
"PASSWORD"
bucket: Optional[str]

Name of the storage medium's bucket.

host: Optional[str]

SSH destination server host for SFTP type storage medium

password: Optional[str]

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: Optional[str]

Path relative to the bucket root at which the recording will be placed.

port: Optional[float]

SSH destination server port for SFTP type storage medium

private_key: Optional[str]

Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY"

region: Optional[str]

Region of the storage medium.

secret: Optional[str]

Secret key of the storage medium. Similar to access_key, it is only writeable by clients, not readable.

username: Optional[str]

SSH destination server username for SFTP type storage medium

video_config: Optional[DataRecordingConfigVideoConfig]
codec: Optional[Literal["H264", "VP8"]]

Codec using which the recording will be encoded.

One of the following:
"H264"
"VP8"
export_file: Optional[bool]

Controls whether to export video file seperately

height: Optional[int]

Height of the recording video in pixels

maximum1920
minimum1
watermark: Optional[DataRecordingConfigVideoConfigWatermark]

Watermark to be added to the recording

position: Optional[Literal["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: Optional[DataRecordingConfigVideoConfigWatermarkSize]

Size of the watermark

height: Optional[int]

Height of the watermark in px

minimum1
width: Optional[int]

Width of the watermark in px

minimum1
url: Optional[str]

URL of the watermark image

formaturi
width: Optional[int]

Width of the recording video in pixels

maximum1920
minimum1
session_keep_alive_time_in_secs: Optional[float]

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

maximum600
minimum60
status: Optional[Literal["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: Optional[bool]

Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API.

title: Optional[str]

Title of the meeting.

class MeetingReplaceMeetingByIDResponse:
success: bool

Success status of the operation

data: Optional[Data]

Data returned by the operation

id: str

ID of the meeting.

formatuuid
created_at: datetime

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

formatdate-time
updated_at: datetime

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

formatdate-time
ai_config: Optional[DataAIConfig]

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

summarization: Optional[DataAIConfigSummarization]

Summary Config

summary_type: Optional[Literal["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: Optional[Literal["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: Optional[int]

Sets the maximum number of words in the meeting summary.

maximum1000
minimum150
transcription: Optional[DataAIConfigTranscription]

Transcription Configurations

keywords: Optional[List[str]]

Adds specific terms to improve accurate detection during transcription.

language: Optional[Literal["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: Optional[bool]

Control the inclusion of offensive language in transcriptions.

live_stream_on_start: Optional[bool]

Specifies if the meeting should start getting livestreamed on start.

persist_chat: Optional[bool]

Specifies if Chat within a meeting should persist for a week.

record_on_start: Optional[bool]

Specifies if the meeting should start getting recorded as soon as someone joins the meeting.

recording_config: Optional[DataRecordingConfig]

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: Optional[DataRecordingConfigAudioConfig]

Object containing configuration regarding the audio that is being recorded.

channel: Optional[Literal["mono", "stereo"]]

Audio signal pathway within an audio file that carries a specific sound source.

One of the following:
"mono"
"stereo"
codec: Optional[Literal["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: Optional[bool]

Controls whether to export audio file seperately

file_name_prefix: Optional[str]

Adds a prefix to the beginning of the file name of the recording.

live_streaming_config: Optional[DataRecordingConfigLiveStreamingConfig]
rtmp_url: Optional[str]

RTMP URL to stream to

formaturi
max_seconds: Optional[float]

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: Optional[DataRecordingConfigRealtimekitBucketConfig]
enabled: bool

Controls whether recordings are uploaded to RealtimeKit's bucket. If set to false, download_url, audio_download_url, download_url_expiry won't be generated for a recording.

storage_config: Optional[DataRecordingConfigStorageConfig]
type: Literal["aws", "azure", "digitalocean", 2 more]

Type of storage media.

One of the following:
"aws"
"azure"
"digitalocean"
"gcs"
"sftp"
access_key: Optional[str]

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: Optional[Literal["KEY", "PASSWORD"]]

Authentication method used for "sftp" type storage medium

One of the following:
"KEY"
"PASSWORD"
bucket: Optional[str]

Name of the storage medium's bucket.

host: Optional[str]

SSH destination server host for SFTP type storage medium

password: Optional[str]

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: Optional[str]

Path relative to the bucket root at which the recording will be placed.

port: Optional[float]

SSH destination server port for SFTP type storage medium

private_key: Optional[str]

Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY"

region: Optional[str]

Region of the storage medium.

secret: Optional[str]

Secret key of the storage medium. Similar to access_key, it is only writeable by clients, not readable.

username: Optional[str]

SSH destination server username for SFTP type storage medium

video_config: Optional[DataRecordingConfigVideoConfig]
codec: Optional[Literal["H264", "VP8"]]

Codec using which the recording will be encoded.

One of the following:
"H264"
"VP8"
export_file: Optional[bool]

Controls whether to export video file seperately

height: Optional[int]

Height of the recording video in pixels

maximum1920
minimum1
watermark: Optional[DataRecordingConfigVideoConfigWatermark]

Watermark to be added to the recording

position: Optional[Literal["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: Optional[DataRecordingConfigVideoConfigWatermarkSize]

Size of the watermark

height: Optional[int]

Height of the watermark in px

minimum1
width: Optional[int]

Width of the watermark in px

minimum1
url: Optional[str]

URL of the watermark image

formaturi
width: Optional[int]

Width of the recording video in pixels

maximum1920
minimum1
session_keep_alive_time_in_secs: Optional[float]

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

maximum600
minimum60
status: Optional[Literal["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: Optional[bool]

Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API.

title: Optional[str]

Title of the meeting.

class MeetingGetMeetingParticipantsResponse:
data: List[Data]
id: str

ID of the participant.

formatuuid
created_at: datetime

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

formatdate-time
custom_participant_id: str

A unique participant ID generated by the client.

preset_name: str

Preset applied to the participant.

updated_at: datetime

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

formatdate-time
name: Optional[str]

Name of the participant.

picture: Optional[str]

URL to a picture of the participant.

formaturi
paging: Paging
end_offset: float
start_offset: float
total_count: float
minimum0
success: bool
class MeetingAddParticipantResponse:
success: bool

Success status of the operation

data: Optional[Data]

Represents a participant.

id: str

ID of the participant.

formatuuid
token: str

The participant's auth token that can be used for joining a meeting from the client side.

created_at: datetime

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

formatdate-time
custom_participant_id: str

A unique participant ID generated by the client.

preset_name: str

Preset applied to the participant.

updated_at: datetime

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

formatdate-time
name: Optional[str]

Name of the participant.

picture: Optional[str]

URL to a picture of the participant.

formaturi
class MeetingGetMeetingParticipantResponse:
data: Data

Data returned by the operation

id: str

ID of the participant.

formatuuid
created_at: datetime

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

formatdate-time
custom_participant_id: str

A unique participant ID generated by the client.

preset_name: str

Preset applied to the participant.

updated_at: datetime

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

formatdate-time
name: Optional[str]

Name of the participant.

picture: Optional[str]

URL to a picture of the participant.

formaturi
success: bool

Success status of the operation

class MeetingEditParticipantResponse:
success: bool

Success status of the operation

data: Optional[Data]

Represents a participant.

id: str

ID of the participant.

formatuuid
token: str

The participant's auth token that can be used for joining a meeting from the client side.

created_at: datetime

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

formatdate-time
custom_participant_id: str

A unique participant ID generated by the client.

preset_name: str

Preset applied to the participant.

updated_at: datetime

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

formatdate-time
name: Optional[str]

Name of the participant.

picture: Optional[str]

URL to a picture of the participant.

formaturi
class MeetingDeleteMeetingParticipantResponse:
success: bool

Success status of the operation

data: Optional[Data]

Data returned by the operation

created_at: datetime

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

formatdate-time
custom_participant_id: str

A unique participant ID generated by the client.

preset_id: str

ID of the preset applied to this participant.

formatuuid
updated_at: datetime

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

formatdate-time
class MeetingRefreshParticipantTokenResponse:
data: Data

Data returned by the operation

token: str

Regenerated participant's authentication token.

success: bool

Success status of the operation

Realtime KitPresets

Fetch all presets
realtime_kit.presets.get(strapp_id, PresetGetParams**kwargs) -> PresetGetResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/presets
Create a preset
realtime_kit.presets.create(strapp_id, PresetCreateParams**kwargs) -> PresetCreateResponse
POST/accounts/{account_id}/realtime/kit/{app_id}/presets
Fetch details of a preset
realtime_kit.presets.get_preset_by_id(strpreset_id, PresetGetPresetByIDParams**kwargs) -> PresetGetPresetByIDResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/presets/{preset_id}
Delete a preset
realtime_kit.presets.delete(strpreset_id, PresetDeleteParams**kwargs) -> PresetDeleteResponse
DELETE/accounts/{account_id}/realtime/kit/{app_id}/presets/{preset_id}
Update a preset
realtime_kit.presets.update(strpreset_id, PresetUpdateParams**kwargs) -> PresetUpdateResponse
PATCH/accounts/{account_id}/realtime/kit/{app_id}/presets/{preset_id}
ModelsExpand Collapse
class PresetGetResponse:
data: List[Data]
id: Optional[str]

ID of the preset

formatuuid
created_at: Optional[datetime]

Timestamp this preset was created at

formatdate-time
name: Optional[str]

Name of the preset

updated_at: Optional[datetime]

Timestamp this preset was last updated

formatdate-time
paging: Paging
end_offset: float
start_offset: float
total_count: float
minimum0
success: bool
class PresetCreateResponse:
data: Data

Data returned by the operation

id: str

ID of the preset

formatuuid
config: DataConfig
max_screenshare_count: int

Maximum number of screen shares that can be active at a given time

max_video_streams: DataConfigMaxVideoStreams

Maximum number of streams that are visible on a device

desktop: int

Maximum number of video streams visible on desktop devices

mobile: int

Maximum number of streams visible on mobile devices

media: DataConfigMedia

Media configuration options. eg: Video quality

screenshare: DataConfigMediaScreenshare

Configuration options for participant screen shares

frame_rate: int

Frame rate of screen share

quality: Literal["hd", "vga", "qvga"]

Quality of screen share

One of the following:
"hd"
"vga"
"qvga"
video: DataConfigMediaVideo

Configuration options for participant videos

frame_rate: int

Frame rate of participants' video

maximum30
quality: Literal["hd", "vga", "qvga"]

Video quality of participants

One of the following:
"hd"
"vga"
"qvga"
audio: Optional[DataConfigMediaAudio]

Control options for Audio quality.

enable_high_bitrate: Optional[bool]

Enable High Quality Audio for your meetings

enable_stereo: Optional[bool]

Enable Stereo for your meetings

view_type: Literal["GROUP_CALL", "WEBINAR", "AUDIO_ROOM"]

Type of the meeting

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
name: str

Name of the preset

ui: DataUI
design_tokens: DataUIDesignTokens
border_radius: Literal["rounded"]
border_width: Literal["thin"]
colors: DataUIDesignTokensColors
background: DataUIDesignTokensColorsBackground
_1000: str
_600: str
_700: str
_800: str
_900: str
brand: DataUIDesignTokensColorsBrand
_300: str
_400: str
_500: str
_600: str
_700: str
danger: str
success: str
text: str
text_on_brand: str
video_bg: str
warning: str
spacing_base: float
theme: Literal["dark"]
config_diff: Optional[object]
permissions: Optional[DataPermissions]
accept_waiting_requests: bool

Whether this participant can accept waiting requests

can_accept_production_requests: bool
can_change_participant_permissions: bool
can_edit_display_name: bool
can_livestream: bool
can_record: bool
can_spotlight: bool
chat: DataPermissionsChat

Chat permissions

private: DataPermissionsChatPrivate
can_receive: bool
can_send: bool
files: bool
text: bool
public: DataPermissionsChatPublic
can_send: bool

Can send messages in general

files: bool

Can send file messages

text: bool

Can send text messages

connected_meetings: DataPermissionsConnectedMeetings
can_alter_connected_meetings: bool
can_switch_connected_meetings: bool
can_switch_to_parent_meeting: bool
disable_participant_audio: bool
disable_participant_screensharing: bool
disable_participant_video: bool
hidden_participant: bool

Whether this participant is visible to others or not

kick_participant: bool
media: DataPermissionsMedia

Media permissions

audio: DataPermissionsMediaAudio

Audio permissions

can_produce: Literal["ALLOWED", "NOT_ALLOWED", "CAN_REQUEST"]

Can produce audio

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
screenshare: DataPermissionsMediaScreenshare

Screenshare permissions

can_produce: Literal["ALLOWED", "NOT_ALLOWED", "CAN_REQUEST"]

Can produce screen share video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
video: DataPermissionsMediaVideo

Video permissions

can_produce: Literal["ALLOWED", "NOT_ALLOWED", "CAN_REQUEST"]

Can produce video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
pin_participant: bool
plugins: DataPermissionsPlugins

Plugin permissions

can_close: bool

Can close plugins that are already open

can_edit_config: bool

Can edit plugin config

can_start: bool

Can start plugins

config: DataPermissionsPluginsConfig
One of the following:
str
class DataPermissionsPluginsConfigUnionMember1:
access_control: Literal["FULL_ACCESS", "VIEW_ONLY"]
One of the following:
"FULL_ACCESS"
"VIEW_ONLY"
handles_view_only: bool
polls: DataPermissionsPolls

Poll permissions

can_create: bool

Can create polls

can_view: bool

Can view polls

can_vote: bool

Can vote on polls

recorder_type: Literal["RECORDER", "LIVESTREAMER", "NONE"]

Type of the recording peer

One of the following:
"RECORDER"
"LIVESTREAMER"
"NONE"
show_participant_list: bool
waiting_room_type: Literal["SKIP", "ON_PRIVILEGED_USER_ENTRY", "SKIP_ON_ACCEPT"]

Waiting room type

One of the following:
"SKIP"
"ON_PRIVILEGED_USER_ENTRY"
"SKIP_ON_ACCEPT"
is_recorder: Optional[bool]
success: bool

Success status of the operation

class PresetGetPresetByIDResponse:
data: Data

Data returned by the operation

id: str

ID of the preset

formatuuid
config: DataConfig
max_screenshare_count: int

Maximum number of screen shares that can be active at a given time

max_video_streams: DataConfigMaxVideoStreams

Maximum number of streams that are visible on a device

desktop: int

Maximum number of video streams visible on desktop devices

mobile: int

Maximum number of streams visible on mobile devices

media: DataConfigMedia

Media configuration options. eg: Video quality

screenshare: DataConfigMediaScreenshare

Configuration options for participant screen shares

frame_rate: int

Frame rate of screen share

quality: Literal["hd", "vga", "qvga"]

Quality of screen share

One of the following:
"hd"
"vga"
"qvga"
video: DataConfigMediaVideo

Configuration options for participant videos

frame_rate: int

Frame rate of participants' video

maximum30
quality: Literal["hd", "vga", "qvga"]

Video quality of participants

One of the following:
"hd"
"vga"
"qvga"
audio: Optional[DataConfigMediaAudio]

Control options for Audio quality.

enable_high_bitrate: Optional[bool]

Enable High Quality Audio for your meetings

enable_stereo: Optional[bool]

Enable Stereo for your meetings

view_type: Literal["GROUP_CALL", "WEBINAR", "AUDIO_ROOM"]

Type of the meeting

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
name: str

Name of the preset

ui: DataUI
design_tokens: DataUIDesignTokens
border_radius: Literal["rounded"]
border_width: Literal["thin"]
colors: DataUIDesignTokensColors
background: DataUIDesignTokensColorsBackground
_1000: str
_600: str
_700: str
_800: str
_900: str
brand: DataUIDesignTokensColorsBrand
_300: str
_400: str
_500: str
_600: str
_700: str
danger: str
success: str
text: str
text_on_brand: str
video_bg: str
warning: str
spacing_base: float
theme: Literal["dark"]
config_diff: Optional[object]
permissions: Optional[DataPermissions]
accept_waiting_requests: bool

Whether this participant can accept waiting requests

can_accept_production_requests: bool
can_change_participant_permissions: bool
can_edit_display_name: bool
can_livestream: bool
can_record: bool
can_spotlight: bool
chat: DataPermissionsChat

Chat permissions

private: DataPermissionsChatPrivate
can_receive: bool
can_send: bool
files: bool
text: bool
public: DataPermissionsChatPublic
can_send: bool

Can send messages in general

files: bool

Can send file messages

text: bool

Can send text messages

connected_meetings: DataPermissionsConnectedMeetings
can_alter_connected_meetings: bool
can_switch_connected_meetings: bool
can_switch_to_parent_meeting: bool
disable_participant_audio: bool
disable_participant_screensharing: bool
disable_participant_video: bool
hidden_participant: bool

Whether this participant is visible to others or not

kick_participant: bool
media: DataPermissionsMedia

Media permissions

audio: DataPermissionsMediaAudio

Audio permissions

can_produce: Literal["ALLOWED", "NOT_ALLOWED", "CAN_REQUEST"]

Can produce audio

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
screenshare: DataPermissionsMediaScreenshare

Screenshare permissions

can_produce: Literal["ALLOWED", "NOT_ALLOWED", "CAN_REQUEST"]

Can produce screen share video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
video: DataPermissionsMediaVideo

Video permissions

can_produce: Literal["ALLOWED", "NOT_ALLOWED", "CAN_REQUEST"]

Can produce video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
pin_participant: bool
plugins: DataPermissionsPlugins

Plugin permissions

can_close: bool

Can close plugins that are already open

can_edit_config: bool

Can edit plugin config

can_start: bool

Can start plugins

config: DataPermissionsPluginsConfig
One of the following:
str
class DataPermissionsPluginsConfigUnionMember1:
access_control: Literal["FULL_ACCESS", "VIEW_ONLY"]
One of the following:
"FULL_ACCESS"
"VIEW_ONLY"
handles_view_only: bool
polls: DataPermissionsPolls

Poll permissions

can_create: bool

Can create polls

can_view: bool

Can view polls

can_vote: bool

Can vote on polls

recorder_type: Literal["RECORDER", "LIVESTREAMER", "NONE"]

Type of the recording peer

One of the following:
"RECORDER"
"LIVESTREAMER"
"NONE"
show_participant_list: bool
waiting_room_type: Literal["SKIP", "ON_PRIVILEGED_USER_ENTRY", "SKIP_ON_ACCEPT"]

Waiting room type

One of the following:
"SKIP"
"ON_PRIVILEGED_USER_ENTRY"
"SKIP_ON_ACCEPT"
is_recorder: Optional[bool]
success: bool

Success status of the operation

class PresetDeleteResponse:
data: Data

Data returned by the operation

id: str

ID of the preset

formatuuid
config: DataConfig
max_screenshare_count: int

Maximum number of screen shares that can be active at a given time

max_video_streams: DataConfigMaxVideoStreams

Maximum number of streams that are visible on a device

desktop: int

Maximum number of video streams visible on desktop devices

mobile: int

Maximum number of streams visible on mobile devices

media: DataConfigMedia

Media configuration options. eg: Video quality

screenshare: DataConfigMediaScreenshare

Configuration options for participant screen shares

frame_rate: int

Frame rate of screen share

quality: Literal["hd", "vga", "qvga"]

Quality of screen share

One of the following:
"hd"
"vga"
"qvga"
video: DataConfigMediaVideo

Configuration options for participant videos

frame_rate: int

Frame rate of participants' video

maximum30
quality: Literal["hd", "vga", "qvga"]

Video quality of participants

One of the following:
"hd"
"vga"
"qvga"
audio: Optional[DataConfigMediaAudio]

Control options for Audio quality.

enable_high_bitrate: Optional[bool]

Enable High Quality Audio for your meetings

enable_stereo: Optional[bool]

Enable Stereo for your meetings

view_type: Literal["GROUP_CALL", "WEBINAR", "AUDIO_ROOM"]

Type of the meeting

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
name: str

Name of the preset

ui: DataUI
design_tokens: DataUIDesignTokens
border_radius: Literal["rounded"]
border_width: Literal["thin"]
colors: DataUIDesignTokensColors
background: DataUIDesignTokensColorsBackground
_1000: str
_600: str
_700: str
_800: str
_900: str
brand: DataUIDesignTokensColorsBrand
_300: str
_400: str
_500: str
_600: str
_700: str
danger: str
success: str
text: str
text_on_brand: str
video_bg: str
warning: str
spacing_base: float
theme: Literal["dark"]
config_diff: Optional[object]
permissions: Optional[DataPermissions]
accept_waiting_requests: bool

Whether this participant can accept waiting requests

can_accept_production_requests: bool
can_change_participant_permissions: bool
can_edit_display_name: bool
can_livestream: bool
can_record: bool
can_spotlight: bool
chat: DataPermissionsChat

Chat permissions

private: DataPermissionsChatPrivate
can_receive: bool
can_send: bool
files: bool
text: bool
public: DataPermissionsChatPublic
can_send: bool

Can send messages in general

files: bool

Can send file messages

text: bool

Can send text messages

connected_meetings: DataPermissionsConnectedMeetings
can_alter_connected_meetings: bool
can_switch_connected_meetings: bool
can_switch_to_parent_meeting: bool
disable_participant_audio: bool
disable_participant_screensharing: bool
disable_participant_video: bool
hidden_participant: bool

Whether this participant is visible to others or not

kick_participant: bool
media: DataPermissionsMedia

Media permissions

audio: DataPermissionsMediaAudio

Audio permissions

can_produce: Literal["ALLOWED", "NOT_ALLOWED", "CAN_REQUEST"]

Can produce audio

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
screenshare: DataPermissionsMediaScreenshare

Screenshare permissions

can_produce: Literal["ALLOWED", "NOT_ALLOWED", "CAN_REQUEST"]

Can produce screen share video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
video: DataPermissionsMediaVideo

Video permissions

can_produce: Literal["ALLOWED", "NOT_ALLOWED", "CAN_REQUEST"]

Can produce video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
pin_participant: bool
plugins: DataPermissionsPlugins

Plugin permissions

can_close: bool

Can close plugins that are already open

can_edit_config: bool

Can edit plugin config

can_start: bool

Can start plugins

config: DataPermissionsPluginsConfig
One of the following:
str
class DataPermissionsPluginsConfigUnionMember1:
access_control: Literal["FULL_ACCESS", "VIEW_ONLY"]
One of the following:
"FULL_ACCESS"
"VIEW_ONLY"
handles_view_only: bool
polls: DataPermissionsPolls

Poll permissions

can_create: bool

Can create polls

can_view: bool

Can view polls

can_vote: bool

Can vote on polls

recorder_type: Literal["RECORDER", "LIVESTREAMER", "NONE"]

Type of the recording peer

One of the following:
"RECORDER"
"LIVESTREAMER"
"NONE"
show_participant_list: bool
waiting_room_type: Literal["SKIP", "ON_PRIVILEGED_USER_ENTRY", "SKIP_ON_ACCEPT"]

Waiting room type

One of the following:
"SKIP"
"ON_PRIVILEGED_USER_ENTRY"
"SKIP_ON_ACCEPT"
is_recorder: Optional[bool]
success: bool

Success status of the operation

class PresetUpdateResponse:
data: Data

Data returned by the operation

id: str

ID of the preset

formatuuid
config: DataConfig
max_screenshare_count: int

Maximum number of screen shares that can be active at a given time

max_video_streams: DataConfigMaxVideoStreams

Maximum number of streams that are visible on a device

desktop: int

Maximum number of video streams visible on desktop devices

mobile: int

Maximum number of streams visible on mobile devices

media: DataConfigMedia

Media configuration options. eg: Video quality

screenshare: DataConfigMediaScreenshare

Configuration options for participant screen shares

frame_rate: int

Frame rate of screen share

quality: Literal["hd", "vga", "qvga"]

Quality of screen share

One of the following:
"hd"
"vga"
"qvga"
video: DataConfigMediaVideo

Configuration options for participant videos

frame_rate: int

Frame rate of participants' video

maximum30
quality: Literal["hd", "vga", "qvga"]

Video quality of participants

One of the following:
"hd"
"vga"
"qvga"
audio: Optional[DataConfigMediaAudio]

Control options for Audio quality.

enable_high_bitrate: Optional[bool]

Enable High Quality Audio for your meetings

enable_stereo: Optional[bool]

Enable Stereo for your meetings

view_type: Literal["GROUP_CALL", "WEBINAR", "AUDIO_ROOM"]

Type of the meeting

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
name: str

Name of the preset

ui: DataUI
design_tokens: DataUIDesignTokens
border_radius: Literal["rounded"]
border_width: Literal["thin"]
colors: DataUIDesignTokensColors
background: DataUIDesignTokensColorsBackground
_1000: str
_600: str
_700: str
_800: str
_900: str
brand: DataUIDesignTokensColorsBrand
_300: str
_400: str
_500: str
_600: str
_700: str
danger: str
success: str
text: str
text_on_brand: str
video_bg: str
warning: str
spacing_base: float
theme: Literal["dark"]
config_diff: Optional[object]
permissions: Optional[DataPermissions]
accept_waiting_requests: bool

Whether this participant can accept waiting requests

can_accept_production_requests: bool
can_change_participant_permissions: bool
can_edit_display_name: bool
can_livestream: bool
can_record: bool
can_spotlight: bool
chat: DataPermissionsChat

Chat permissions

private: DataPermissionsChatPrivate
can_receive: bool
can_send: bool
files: bool
text: bool
public: DataPermissionsChatPublic
can_send: bool

Can send messages in general

files: bool

Can send file messages

text: bool

Can send text messages

connected_meetings: DataPermissionsConnectedMeetings
can_alter_connected_meetings: bool
can_switch_connected_meetings: bool
can_switch_to_parent_meeting: bool
disable_participant_audio: bool
disable_participant_screensharing: bool
disable_participant_video: bool
hidden_participant: bool

Whether this participant is visible to others or not

kick_participant: bool
media: DataPermissionsMedia

Media permissions

audio: DataPermissionsMediaAudio

Audio permissions

can_produce: Literal["ALLOWED", "NOT_ALLOWED", "CAN_REQUEST"]

Can produce audio

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
screenshare: DataPermissionsMediaScreenshare

Screenshare permissions

can_produce: Literal["ALLOWED", "NOT_ALLOWED", "CAN_REQUEST"]

Can produce screen share video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
video: DataPermissionsMediaVideo

Video permissions

can_produce: Literal["ALLOWED", "NOT_ALLOWED", "CAN_REQUEST"]

Can produce video

One of the following:
"ALLOWED"
"NOT_ALLOWED"
"CAN_REQUEST"
pin_participant: bool
plugins: DataPermissionsPlugins

Plugin permissions

can_close: bool

Can close plugins that are already open

can_edit_config: bool

Can edit plugin config

can_start: bool

Can start plugins

config: DataPermissionsPluginsConfig
One of the following:
str
class DataPermissionsPluginsConfigUnionMember1:
access_control: Literal["FULL_ACCESS", "VIEW_ONLY"]
One of the following:
"FULL_ACCESS"
"VIEW_ONLY"
handles_view_only: bool
polls: DataPermissionsPolls

Poll permissions

can_create: bool

Can create polls

can_view: bool

Can view polls

can_vote: bool

Can vote on polls

recorder_type: Literal["RECORDER", "LIVESTREAMER", "NONE"]

Type of the recording peer

One of the following:
"RECORDER"
"LIVESTREAMER"
"NONE"
show_participant_list: bool
waiting_room_type: Literal["SKIP", "ON_PRIVILEGED_USER_ENTRY", "SKIP_ON_ACCEPT"]

Waiting room type

One of the following:
"SKIP"
"ON_PRIVILEGED_USER_ENTRY"
"SKIP_ON_ACCEPT"
is_recorder: Optional[bool]
success: bool

Success status of the operation

Realtime KitSessions

Fetch all sessions of an App
realtime_kit.sessions.get_sessions(strapp_id, SessionGetSessionsParams**kwargs) -> SessionGetSessionsResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions
Fetch details of a session
realtime_kit.sessions.get_session_details(strsession_id, SessionGetSessionDetailsParams**kwargs) -> SessionGetSessionDetailsResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}
Fetch participants list of a session
realtime_kit.sessions.get_session_participants(strsession_id, SessionGetSessionParticipantsParams**kwargs) -> SessionGetSessionParticipantsResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/participants
Fetch details of a participant
realtime_kit.sessions.get_session_participant_details(strparticipant_id, SessionGetSessionParticipantDetailsParams**kwargs) -> SessionGetSessionParticipantDetailsResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/participants/{participant_id}
Fetch all chat messages of a session
realtime_kit.sessions.get_session_chat(strsession_id, SessionGetSessionChatParams**kwargs) -> SessionGetSessionChatResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/chat
Fetch the complete transcript for a session
realtime_kit.sessions.get_session_transcripts(strsession_id, SessionGetSessionTranscriptsParams**kwargs) -> SessionGetSessionTranscriptsResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/transcript
Fetch summary of transcripts for a session
realtime_kit.sessions.get_session_summary(strsession_id, SessionGetSessionSummaryParams**kwargs) -> SessionGetSessionSummaryResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/summary
Generate summary of Transcripts for the session
realtime_kit.sessions.generate_summary_of_transcripts(strsession_id, SessionGenerateSummaryOfTranscriptsParams**kwargs)
POST/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/summary
Fetch details of peer
realtime_kit.sessions.get_participant_data_from_peer_id(strpeer_id, SessionGetParticipantDataFromPeerIDParams**kwargs) -> SessionGetParticipantDataFromPeerIDResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/peer-report/{peer_id}
ModelsExpand Collapse
class SessionGetSessionsResponse:
data: Optional[Data]
sessions: Optional[List[DataSession]]
id: str

ID of the session

associated_id: str

ID of the meeting this session is associated with. In the case of V2 meetings, it is always a UUID. In V1 meetings, it is a room name of the form abcdef-ghijkl

created_at: str

timestamp when session created

live_participants: float

number of participants currently in the session

max_concurrent_participants: float

number of maximum participants that were in the session

meeting_display_name: str

Title of the meeting this session belongs to

minutes_consumed: float

number of minutes consumed since the session started

organization_id: str

App id that hosted this session

started_at: str

timestamp when session started

status: Literal["LIVE", "ENDED"]

current status of session

One of the following:
"LIVE"
"ENDED"
type: Literal["meeting", "livestream", "participant"]

type of session

One of the following:
"meeting"
"livestream"
"participant"
updated_at: str

timestamp when session was last updated

breakout_rooms: Optional[List[object]]
ended_at: Optional[str]

timestamp when session ended

meta: Optional[object]

Any meta data about session.

success: Optional[bool]
class SessionGetSessionDetailsResponse:
data: Optional[Data]
session: Optional[DataSession]
id: str

ID of the session

associated_id: str

ID of the meeting this session is associated with. In the case of V2 meetings, it is always a UUID. In V1 meetings, it is a room name of the form abcdef-ghijkl

created_at: str

timestamp when session created

live_participants: float

number of participants currently in the session

max_concurrent_participants: float

number of maximum participants that were in the session

meeting_display_name: str

Title of the meeting this session belongs to

minutes_consumed: float

number of minutes consumed since the session started

organization_id: str

App id that hosted this session

started_at: str

timestamp when session started

status: Literal["LIVE", "ENDED"]

current status of session

One of the following:
"LIVE"
"ENDED"
type: Literal["meeting", "livestream", "participant"]

type of session

One of the following:
"meeting"
"livestream"
"participant"
updated_at: str

timestamp when session was last updated

breakout_rooms: Optional[List[object]]
ended_at: Optional[str]

timestamp when session ended

meta: Optional[object]

Any meta data about session.

success: Optional[bool]
class SessionGetSessionParticipantsResponse:
data: Optional[Data]
participants: Optional[List[DataParticipant]]
id: Optional[str]

Participant ID. This maps to the corresponding peerId.

created_at: Optional[str]

timestamp when this participant was created.

custom_participant_id: Optional[str]

ID passed by client to create this participant.

display_name: Optional[str]

Display name of participant when joining the session.

duration: Optional[float]

number of minutes for which the participant was in the session.

joined_at: Optional[str]

timestamp at which participant joined the session.

left_at: Optional[str]

timestamp at which participant left the session.

preset_name: Optional[str]

Name of the preset associated with the participant.

updated_at: Optional[str]

timestamp when this participant's data was last updated.

user_id: Optional[str]

User id for this participant.

success: Optional[bool]
class SessionGetSessionParticipantDetailsResponse:
data: Optional[Data]
participant: Optional[DataParticipant]
id: Optional[str]

Participant ID. This maps to the corresponding peerId.

created_at: Optional[str]

timestamp when this participant was created.

custom_participant_id: Optional[str]

ID passed by client to create this participant.

display_name: Optional[str]

Display name of participant when joining the session.

duration: Optional[float]

number of minutes for which the participant was in the session.

joined_at: Optional[str]

timestamp at which participant joined the session.

left_at: Optional[str]

timestamp at which participant left the session.

peer_stats: Optional[DataParticipantPeerStats]
config: Optional[str]
device_info: Optional[DataParticipantPeerStatsDeviceInfo]
browser: Optional[str]
browser_version: Optional[str]
cpus: Optional[float]
engine: Optional[str]
is_mobile: Optional[bool]
memory: Optional[float]
os: Optional[str]
os_version: Optional[str]
sdk_name: Optional[str]
sdk_version: Optional[str]
user_agent: Optional[str]
webgl_support: Optional[str]
events: Optional[List[DataParticipantPeerStatsEvent]]
timestamp: Optional[str]
type: Optional[str]
ip_information: Optional[DataParticipantPeerStatsIPInformation]
city: Optional[str]
country: Optional[str]
ip_location: Optional[str]
ipv4: Optional[str]
org: Optional[str]
portal: Optional[str]
region: Optional[str]
timezone: Optional[str]
precall_network_information: Optional[DataParticipantPeerStatsPrecallNetworkInformation]
backend_rtt: Optional[float]
effective_networktype: Optional[str]
fractional_loss: Optional[float]
jitter: Optional[float]
reflexive_connectivity: Optional[bool]
relay_connectivity: Optional[bool]
rtt: Optional[float]
throughtput: Optional[float]
turn_connectivity: Optional[bool]
status: Optional[str]
preset_name: Optional[str]

Name of the preset associated with the participant.

quality_stats: Optional[List[DataParticipantQualityStat]]
audio_bandwidth: Optional[float]
audio_packet_loss: Optional[float]
audio_stats: Optional[List[DataParticipantQualityStatAudioStat]]
concealment_events: Optional[float]
jitter: Optional[float]
packets_lost: Optional[float]
quality: Optional[float]
timestamp: Optional[str]
average_quality: Optional[float]
end: Optional[str]
peer_id: Optional[str]
start: Optional[str]
video_bandwidth: Optional[float]
video_packet_loss: Optional[float]
video_stats: Optional[List[DataParticipantQualityStatVideoStat]]
frame_height: Optional[float]
frame_width: Optional[float]
frames_dropped: Optional[float]
frames_per_second: Optional[float]
jitter: Optional[float]
packets_lost: Optional[float]
quality: Optional[float]
timestamp: Optional[str]
updated_at: Optional[str]

timestamp when this participant's data was last updated.

user_id: Optional[str]

User id for this participant.

success: Optional[bool]
class SessionGetSessionChatResponse:
data: Optional[Data]
chat_download_url: str

URL where the chat logs can be downloaded

chat_download_url_expiry: str

Time when the download URL will expire

success: Optional[bool]
class SessionGetSessionTranscriptsResponse:
data: Optional[Data]
session_id: str
transcript_download_url: str

URL where the transcript can be downloaded

transcript_download_url_expiry: str

Time when the download URL will expire

success: Optional[bool]
class SessionGetSessionSummaryResponse:
data: Optional[Data]
session_id: str
summary_download_url: str

URL where the summary of transcripts can be downloaded

summary_download_url_expiry: str

Time of Expiry before when you need to download the csv file.

success: Optional[bool]
class SessionGetParticipantDataFromPeerIDResponse:
data: Optional[Data]
participant: Optional[DataParticipant]
id: Optional[str]
created_at: Optional[str]
custom_participant_id: Optional[str]
display_name: Optional[str]
duration: Optional[float]
joined_at: Optional[str]
left_at: Optional[str]
peer_report: Optional[DataParticipantPeerReport]
metadata: Optional[DataParticipantPeerReportMetadata]
audio_devices_updates: Optional[List[object]]
browser_metadata: Optional[DataParticipantPeerReportMetadataBrowserMetadata]
browser: Optional[str]
browser_version: Optional[str]
engine: Optional[str]
user_agent: Optional[str]
webgl_support: Optional[str]
candidate_pairs: Optional[DataParticipantPeerReportMetadataCandidatePairs]
consuming_transport: Optional[List[object]]
producing_transport: Optional[List[DataParticipantPeerReportMetadataCandidatePairsProducingTransport]]
available_outgoing_bitrate: Optional[int]
bytes_discarded_on_send: Optional[int]
bytes_received: Optional[int]
bytes_sent: Optional[int]
current_round_trip_time: Optional[float]
last_packet_received_timestamp: Optional[int]
last_packet_sent_timestamp: Optional[int]
local_candidate_address: Optional[str]
local_candidate_id: Optional[str]
local_candidate_network_type: Optional[str]
local_candidate_port: Optional[int]
local_candidate_protocol: Optional[str]
local_candidate_type: Optional[str]
nominated: Optional[bool]
packets_discarded_on_send: Optional[int]
packets_received: Optional[int]
packets_sent: Optional[int]
remote_candidate_address: Optional[str]
remote_candidate_id: Optional[str]
remote_candidate_port: Optional[int]
remote_candidate_protocol: Optional[str]
remote_candidate_type: Optional[str]
total_round_trip_time: Optional[float]
device_info: Optional[DataParticipantPeerReportMetadataDeviceInfo]
cpus: Optional[int]
is_mobile: Optional[bool]
os: Optional[str]
os_version: Optional[str]
events: Optional[List[DataParticipantPeerReportMetadataEvent]]
name: Optional[str]
timestamp: Optional[str]
ip_information: Optional[DataParticipantPeerReportMetadataIPInformation]
asn: Optional[DataParticipantPeerReportMetadataIPInformationASN]
asn: Optional[str]
city: Optional[str]
country: Optional[str]
ipv4: Optional[str]
region: Optional[str]
timezone: Optional[str]
pc_metadata: Optional[List[DataParticipantPeerReportMetadataPcMetadata]]
effective_network_type: Optional[str]
reflexive_connectivity: Optional[bool]
relay_connectivity: Optional[bool]
timestamp: Optional[str]
turn_connectivity: Optional[bool]
room_view_type: Optional[str]
sdk_name: Optional[str]
sdk_version: Optional[str]
selected_device_updates: Optional[List[object]]
speaker_devices_updates: Optional[List[object]]
video_devices_updates: Optional[List[object]]
quality: Optional[DataParticipantPeerReportQuality]
audio_consumer: Optional[List[object]]
audio_consumer_cumulative: Optional[object]
audio_producer: Optional[List[DataParticipantPeerReportQualityAudioProducer]]
bytes_sent: Optional[int]
jitter: Optional[int]
mid: Optional[str]
mos_quality: Optional[int]
packets_lost: Optional[int]
packets_sent: Optional[int]
producer_id: Optional[str]
rtt: Optional[float]
ssrc: Optional[int]
timestamp: Optional[str]
audio_producer_cumulative: Optional[DataParticipantPeerReportQualityAudioProducerCumulative]
packet_loss: Optional[DataParticipantPeerReportQualityAudioProducerCumulativePacketLoss]
_10_or_greater_event_fraction: Optional[int]
_25_or_greater_event_fraction: Optional[int]
_5_or_greater_event_fraction: Optional[int]
_50_or_greater_event_fraction: Optional[int]
avg: Optional[int]
quality_mos: Optional[DataParticipantPeerReportQualityAudioProducerCumulativeQualityMos]
avg: Optional[int]
p50: Optional[int]
p75: Optional[int]
p90: Optional[int]
rtt: Optional[DataParticipantPeerReportQualityAudioProducerCumulativeRTT]
_100ms_or_greater_event_fraction: Optional[float]
_250ms_or_greater_event_fraction: Optional[float]
_500ms_or_greater_event_fraction: Optional[float]
avg: Optional[float]
screenshare_audio_consumer: Optional[List[object]]
screenshare_audio_consumer_cumulative: Optional[object]
screenshare_audio_producer: Optional[List[object]]
screenshare_audio_producer_cumulative: Optional[object]
screenshare_video_consumer: Optional[List[object]]
screenshare_video_consumer_cumulative: Optional[object]
screenshare_video_producer: Optional[List[object]]
screenshare_video_producer_cumulative: Optional[object]
video_consumer: Optional[List[object]]
video_consumer_cumulative: Optional[object]
video_producer: Optional[List[object]]
video_producer_cumulative: Optional[object]
peer_stats: Optional[DataParticipantPeerStats]
device_info: Optional[DataParticipantPeerStatsDeviceInfo]
browser: Optional[str]
browser_version: Optional[str]
cpus: Optional[int]
engine: Optional[str]
is_mobile: Optional[bool]
os: Optional[str]
os_version: Optional[str]
sdk_name: Optional[str]
sdk_version: Optional[str]
user_agent: Optional[str]
webgl_support: Optional[str]
events: Optional[List[DataParticipantPeerStatsEvent]]
metadata: Optional[DataParticipantPeerStatsEventMetadata]
connection_info: Optional[DataParticipantPeerStatsEventMetadataConnectionInfo]
backend_r_t_t: Optional[float]
connectivity: Optional[DataParticipantPeerStatsEventMetadataConnectionInfoConnectivity]
host: Optional[bool]
reflexive: Optional[bool]
relay: Optional[bool]
effective_network_type: Optional[str]
fractional_loss: Optional[int]
ip_details: Optional[DataParticipantPeerStatsEventMetadataConnectionInfoIPDetails]
asn: Optional[DataParticipantPeerStatsEventMetadataConnectionInfoIPDetailsASN]
asn: Optional[str]
city: Optional[str]
country: Optional[str]
ip: Optional[str]
loc: Optional[str]
postal: Optional[str]
region: Optional[str]
timezone: Optional[str]
jitter: Optional[int]
location: Optional[DataParticipantPeerStatsEventMetadataConnectionInfoLocation]
coords: Optional[DataParticipantPeerStatsEventMetadataConnectionInfoLocationCoords]
latitude: Optional[float]
longitude: Optional[float]
r_t_t: Optional[float]
throughput: Optional[int]
turn_connectivity: Optional[bool]
timestamp: Optional[str]
type: Optional[str]
ip_information: Optional[DataParticipantPeerStatsIPInformation]
asn: Optional[DataParticipantPeerStatsIPInformationASN]
asn: Optional[str]
city: Optional[str]
country: Optional[str]
ip_location: Optional[str]
ipv4: Optional[str]
org: Optional[str]
region: Optional[str]
timezone: Optional[str]
precall_network_information: Optional[DataParticipantPeerStatsPrecallNetworkInformation]
backend_rtt: Optional[float]
effective_networktype: Optional[str]
fractional_loss: Optional[int]
jitter: Optional[int]
reflexive_connectivity: Optional[bool]
relay_connectivity: Optional[bool]
rtt: Optional[float]
throughput: Optional[int]
turn_connectivity: Optional[bool]
quality_stats: Optional[DataParticipantQualityStats]
audio_bandwidth: Optional[int]
audio_stats: Optional[List[object]]
average_quality: Optional[int]
end: Optional[str]
first_audio_packet_received: Optional[str]
first_video_packet_received: Optional[str]
last_audio_packet_received: Optional[str]
last_video_packet_received: Optional[str]
peer_ids: Optional[List[str]]
start: Optional[str]
total_audio_packets: Optional[int]
total_audio_packets_lost: Optional[int]
total_video_packets: Optional[int]
total_video_packets_lost: Optional[int]
video_bandwidth: Optional[int]
video_stats: Optional[List[object]]
role: Optional[str]
updated_at: Optional[str]
user_id: Optional[str]
success: Optional[bool]

Realtime KitRecordings

Fetch all recordings for an App
realtime_kit.recordings.get_recordings(strapp_id, RecordingGetRecordingsParams**kwargs) -> RecordingGetRecordingsResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/recordings
Start recording a meeting
realtime_kit.recordings.start_recordings(strapp_id, RecordingStartRecordingsParams**kwargs) -> RecordingStartRecordingsResponse
POST/accounts/{account_id}/realtime/kit/{app_id}/recordings
Fetch active recording
realtime_kit.recordings.get_active_recordings(strmeeting_id, RecordingGetActiveRecordingsParams**kwargs) -> RecordingGetActiveRecordingsResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/recordings/active-recording/{meeting_id}
Fetch details of a recording
realtime_kit.recordings.get_one_recording(strrecording_id, RecordingGetOneRecordingParams**kwargs) -> RecordingGetOneRecordingResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/recordings/{recording_id}
Pause/Resume/Stop recording
realtime_kit.recordings.pause_resume_stop_recording(strrecording_id, RecordingPauseResumeStopRecordingParams**kwargs) -> RecordingPauseResumeStopRecordingResponse
PUT/accounts/{account_id}/realtime/kit/{app_id}/recordings/{recording_id}
Start recording audio and video tracks
realtime_kit.recordings.start_track_recording(strapp_id, RecordingStartTrackRecordingParams**kwargs)
POST/accounts/{account_id}/realtime/kit/{app_id}/recordings/track
ModelsExpand Collapse
class RecordingGetRecordingsResponse:
data: List[Data]
id: str

ID of the recording

formatuuid
audio_download_url: Optional[str]

If the audio_config is passed, the URL for downloading the audio recording is returned.

formaturi
download_url: Optional[str]

URL where the recording can be downloaded.

formaturi
download_url_expiry: Optional[datetime]

Timestamp when the download URL expires.

formatdate-time
file_size: Optional[float]

File size of the recording, in bytes.

invoked_time: datetime

Timestamp when this recording was invoked.

formatdate-time
output_file_name: str

File name of the recording.

session_id: Optional[str]

ID of the meeting session this recording is for.

formatuuid
started_time: Optional[datetime]

Timestamp when this recording actually started after being invoked. Usually a few seconds after invoked_time.

formatdate-time
status: Literal["INVOKED", "RECORDING", "UPLOADING", 3 more]

Current status of the recording.

One of the following:
"INVOKED"
"RECORDING"
"UPLOADING"
"UPLOADED"
"ERRORED"
"PAUSED"
stopped_time: Optional[datetime]

Timestamp when this recording was stopped. Optional; is present only when the recording has actually been stopped.

formatdate-time
meeting: Optional[DataMeeting]
id: str

ID of the meeting.

formatuuid
created_at: datetime

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

formatdate-time
updated_at: datetime

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

formatdate-time
live_stream_on_start: Optional[bool]

Specifies if the meeting should start getting livestreamed on start.

persist_chat: Optional[bool]

Specifies if Chat within a meeting should persist for a week.

record_on_start: Optional[bool]

Specifies if the meeting should start getting recorded as soon as someone joins the meeting.

session_keep_alive_time_in_secs: Optional[float]

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

maximum600
minimum60
status: Optional[Literal["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: Optional[bool]

Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API.

title: Optional[str]

Title of the meeting.

recording_duration: Optional[int]

Total recording time in seconds.

storage_config: Optional[DataStorageConfig]
type: Literal["aws", "azure", "digitalocean", 2 more]

Type of storage media.

One of the following:
"aws"
"azure"
"digitalocean"
"gcs"
"sftp"
access_key: Optional[str]

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: Optional[Literal["KEY", "PASSWORD"]]

Authentication method used for "sftp" type storage medium

One of the following:
"KEY"
"PASSWORD"
bucket: Optional[str]

Name of the storage medium's bucket.

host: Optional[str]

SSH destination server host for SFTP type storage medium

password: Optional[str]

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: Optional[str]

Path relative to the bucket root at which the recording will be placed.

port: Optional[float]

SSH destination server port for SFTP type storage medium

private_key: Optional[str]

Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY"

region: Optional[str]

Region of the storage medium.

secret: Optional[str]

Secret key of the storage medium. Similar to access_key, it is only writeable by clients, not readable.

username: Optional[str]

SSH destination server username for SFTP type storage medium

paging: Paging
end_offset: float
start_offset: float
total_count: float
minimum0
success: bool
class RecordingStartRecordingsResponse:
success: bool

Success status of the operation

data: Optional[Data]

Data returned by the operation

id: str

ID of the recording

formatuuid
audio_download_url: Optional[str]

If the audio_config is passed, the URL for downloading the audio recording is returned.

formaturi
download_url: Optional[str]

URL where the recording can be downloaded.

formaturi
download_url_expiry: Optional[datetime]

Timestamp when the download URL expires.

formatdate-time
file_size: Optional[float]

File size of the recording, in bytes.

invoked_time: datetime

Timestamp when this recording was invoked.

formatdate-time
output_file_name: str

File name of the recording.

session_id: Optional[str]

ID of the meeting session this recording is for.

formatuuid
started_time: Optional[datetime]

Timestamp when this recording actually started after being invoked. Usually a few seconds after invoked_time.

formatdate-time
status: Literal["INVOKED", "RECORDING", "UPLOADING", 3 more]

Current status of the recording.

One of the following:
"INVOKED"
"RECORDING"
"UPLOADING"
"UPLOADED"
"ERRORED"
"PAUSED"
stopped_time: Optional[datetime]

Timestamp when this recording was stopped. Optional; is present only when the recording has actually been stopped.

formatdate-time
recording_duration: Optional[int]

Total recording time in seconds.

start_reason: Optional[DataStartReason]
caller: Optional[DataStartReasonCaller]
name: Optional[str]

Name of the user who started the recording.

type: Optional[Literal["ORGANIZATION", "USER"]]

The type can be an App or a user. If the type is user, then only the user_Id and name are returned.

One of the following:
"ORGANIZATION"
"USER"
user_id: Optional[str]

The user ID of the person who started the recording.

formatuuid
reason: Optional[Literal["API_CALL", "RECORD_ON_START"]]

Specifies if the recording was started using the "Start a Recording"API or using the parameter RECORD_ON_START in the "Create a meeting" API.

If the recording is initiated using the "RECORD_ON_START" parameter, the user details will not be populated.

One of the following:
"API_CALL"
"RECORD_ON_START"
stop_reason: Optional[DataStopReason]
caller: Optional[DataStopReasonCaller]
name: Optional[str]

Name of the user who stopped the recording.

type: Optional[Literal["ORGANIZATION", "USER"]]

The type can be an App or a user. If the type is user, then only the user_Id and name are returned.

One of the following:
"ORGANIZATION"
"USER"
user_id: Optional[str]

The user ID of the person who stopped the recording.

formatuuid
reason: Optional[Literal["API_CALL", "INTERNAL_ERROR", "ALL_PEERS_LEFT"]]

Specifies the reason why the recording stopped.

One of the following:
"API_CALL"
"INTERNAL_ERROR"
"ALL_PEERS_LEFT"
storage_config: Optional[DataStorageConfig]
type: Literal["aws", "azure", "digitalocean", 2 more]

Type of storage media.

One of the following:
"aws"
"azure"
"digitalocean"
"gcs"
"sftp"
access_key: Optional[str]

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: Optional[Literal["KEY", "PASSWORD"]]

Authentication method used for "sftp" type storage medium

One of the following:
"KEY"
"PASSWORD"
bucket: Optional[str]

Name of the storage medium's bucket.

host: Optional[str]

SSH destination server host for SFTP type storage medium

password: Optional[str]

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: Optional[str]

Path relative to the bucket root at which the recording will be placed.

port: Optional[float]

SSH destination server port for SFTP type storage medium

private_key: Optional[str]

Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY"

region: Optional[str]

Region of the storage medium.

secret: Optional[str]

Secret key of the storage medium. Similar to access_key, it is only writeable by clients, not readable.

username: Optional[str]

SSH destination server username for SFTP type storage medium

class RecordingGetActiveRecordingsResponse:
data: Data

Data returned by the operation

id: str

ID of the recording

formatuuid
audio_download_url: Optional[str]

If the audio_config is passed, the URL for downloading the audio recording is returned.

formaturi
download_url: Optional[str]

URL where the recording can be downloaded.

formaturi
download_url_expiry: Optional[datetime]

Timestamp when the download URL expires.

formatdate-time
file_size: Optional[float]

File size of the recording, in bytes.

invoked_time: datetime

Timestamp when this recording was invoked.

formatdate-time
output_file_name: str

File name of the recording.

session_id: Optional[str]

ID of the meeting session this recording is for.

formatuuid
started_time: Optional[datetime]

Timestamp when this recording actually started after being invoked. Usually a few seconds after invoked_time.

formatdate-time
status: Literal["INVOKED", "RECORDING", "UPLOADING", 3 more]

Current status of the recording.

One of the following:
"INVOKED"
"RECORDING"
"UPLOADING"
"UPLOADED"
"ERRORED"
"PAUSED"
stopped_time: Optional[datetime]

Timestamp when this recording was stopped. Optional; is present only when the recording has actually been stopped.

formatdate-time
recording_duration: Optional[int]

Total recording time in seconds.

success: bool

Success status of the operation

class RecordingGetOneRecordingResponse:
success: bool

Success status of the operation

data: Optional[Data]

Data returned by the operation

id: str

ID of the recording

formatuuid
audio_download_url: Optional[str]

If the audio_config is passed, the URL for downloading the audio recording is returned.

formaturi
download_url: Optional[str]

URL where the recording can be downloaded.

formaturi
download_url_expiry: Optional[datetime]

Timestamp when the download URL expires.

formatdate-time
file_size: Optional[float]

File size of the recording, in bytes.

invoked_time: datetime

Timestamp when this recording was invoked.

formatdate-time
output_file_name: str

File name of the recording.

session_id: Optional[str]

ID of the meeting session this recording is for.

formatuuid
started_time: Optional[datetime]

Timestamp when this recording actually started after being invoked. Usually a few seconds after invoked_time.

formatdate-time
status: Literal["INVOKED", "RECORDING", "UPLOADING", 3 more]

Current status of the recording.

One of the following:
"INVOKED"
"RECORDING"
"UPLOADING"
"UPLOADED"
"ERRORED"
"PAUSED"
stopped_time: Optional[datetime]

Timestamp when this recording was stopped. Optional; is present only when the recording has actually been stopped.

formatdate-time
recording_duration: Optional[int]

Total recording time in seconds.

start_reason: Optional[DataStartReason]
caller: Optional[DataStartReasonCaller]
name: Optional[str]

Name of the user who started the recording.

type: Optional[Literal["ORGANIZATION", "USER"]]

The type can be an App or a user. If the type is user, then only the user_Id and name are returned.

One of the following:
"ORGANIZATION"
"USER"
user_id: Optional[str]

The user ID of the person who started the recording.

formatuuid
reason: Optional[Literal["API_CALL", "RECORD_ON_START"]]

Specifies if the recording was started using the "Start a Recording"API or using the parameter RECORD_ON_START in the "Create a meeting" API.

If the recording is initiated using the "RECORD_ON_START" parameter, the user details will not be populated.

One of the following:
"API_CALL"
"RECORD_ON_START"
stop_reason: Optional[DataStopReason]
caller: Optional[DataStopReasonCaller]
name: Optional[str]

Name of the user who stopped the recording.

type: Optional[Literal["ORGANIZATION", "USER"]]

The type can be an App or a user. If the type is user, then only the user_Id and name are returned.

One of the following:
"ORGANIZATION"
"USER"
user_id: Optional[str]

The user ID of the person who stopped the recording.

formatuuid
reason: Optional[Literal["API_CALL", "INTERNAL_ERROR", "ALL_PEERS_LEFT"]]

Specifies the reason why the recording stopped.

One of the following:
"API_CALL"
"INTERNAL_ERROR"
"ALL_PEERS_LEFT"
storage_config: Optional[DataStorageConfig]
type: Literal["aws", "azure", "digitalocean", 2 more]

Type of storage media.

One of the following:
"aws"
"azure"
"digitalocean"
"gcs"
"sftp"
access_key: Optional[str]

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: Optional[Literal["KEY", "PASSWORD"]]

Authentication method used for "sftp" type storage medium

One of the following:
"KEY"
"PASSWORD"
bucket: Optional[str]

Name of the storage medium's bucket.

host: Optional[str]

SSH destination server host for SFTP type storage medium

password: Optional[str]

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: Optional[str]

Path relative to the bucket root at which the recording will be placed.

port: Optional[float]

SSH destination server port for SFTP type storage medium

private_key: Optional[str]

Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY"

region: Optional[str]

Region of the storage medium.

secret: Optional[str]

Secret key of the storage medium. Similar to access_key, it is only writeable by clients, not readable.

username: Optional[str]

SSH destination server username for SFTP type storage medium

class RecordingPauseResumeStopRecordingResponse:
success: bool

Success status of the operation

data: Optional[Data]

Data returned by the operation

id: str

ID of the recording

formatuuid
audio_download_url: Optional[str]

If the audio_config is passed, the URL for downloading the audio recording is returned.

formaturi
download_url: Optional[str]

URL where the recording can be downloaded.

formaturi
download_url_expiry: Optional[datetime]

Timestamp when the download URL expires.

formatdate-time
file_size: Optional[float]

File size of the recording, in bytes.

invoked_time: datetime

Timestamp when this recording was invoked.

formatdate-time
output_file_name: str

File name of the recording.

session_id: Optional[str]

ID of the meeting session this recording is for.

formatuuid
started_time: Optional[datetime]

Timestamp when this recording actually started after being invoked. Usually a few seconds after invoked_time.

formatdate-time
status: Literal["INVOKED", "RECORDING", "UPLOADING", 3 more]

Current status of the recording.

One of the following:
"INVOKED"
"RECORDING"
"UPLOADING"
"UPLOADED"
"ERRORED"
"PAUSED"
stopped_time: Optional[datetime]

Timestamp when this recording was stopped. Optional; is present only when the recording has actually been stopped.

formatdate-time
recording_duration: Optional[int]

Total recording time in seconds.

start_reason: Optional[DataStartReason]
caller: Optional[DataStartReasonCaller]
name: Optional[str]

Name of the user who started the recording.

type: Optional[Literal["ORGANIZATION", "USER"]]

The type can be an App or a user. If the type is user, then only the user_Id and name are returned.

One of the following:
"ORGANIZATION"
"USER"
user_id: Optional[str]

The user ID of the person who started the recording.

formatuuid
reason: Optional[Literal["API_CALL", "RECORD_ON_START"]]

Specifies if the recording was started using the "Start a Recording"API or using the parameter RECORD_ON_START in the "Create a meeting" API.

If the recording is initiated using the "RECORD_ON_START" parameter, the user details will not be populated.

One of the following:
"API_CALL"
"RECORD_ON_START"
stop_reason: Optional[DataStopReason]
caller: Optional[DataStopReasonCaller]
name: Optional[str]

Name of the user who stopped the recording.

type: Optional[Literal["ORGANIZATION", "USER"]]

The type can be an App or a user. If the type is user, then only the user_Id and name are returned.

One of the following:
"ORGANIZATION"
"USER"
user_id: Optional[str]

The user ID of the person who stopped the recording.

formatuuid
reason: Optional[Literal["API_CALL", "INTERNAL_ERROR", "ALL_PEERS_LEFT"]]

Specifies the reason why the recording stopped.

One of the following:
"API_CALL"
"INTERNAL_ERROR"
"ALL_PEERS_LEFT"
storage_config: Optional[DataStorageConfig]
type: Literal["aws", "azure", "digitalocean", 2 more]

Type of storage media.

One of the following:
"aws"
"azure"
"digitalocean"
"gcs"
"sftp"
access_key: Optional[str]

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: Optional[Literal["KEY", "PASSWORD"]]

Authentication method used for "sftp" type storage medium

One of the following:
"KEY"
"PASSWORD"
bucket: Optional[str]

Name of the storage medium's bucket.

host: Optional[str]

SSH destination server host for SFTP type storage medium

password: Optional[str]

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: Optional[str]

Path relative to the bucket root at which the recording will be placed.

port: Optional[float]

SSH destination server port for SFTP type storage medium

private_key: Optional[str]

Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY"

region: Optional[str]

Region of the storage medium.

secret: Optional[str]

Secret key of the storage medium. Similar to access_key, it is only writeable by clients, not readable.

username: Optional[str]

SSH destination server username for SFTP type storage medium

Realtime KitWebhooks

Fetch all webhooks details
realtime_kit.webhooks.get_webhooks(strapp_id, WebhookGetWebhooksParams**kwargs) -> WebhookGetWebhooksResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/webhooks
Add a webhook
realtime_kit.webhooks.create_webhook(strapp_id, WebhookCreateWebhookParams**kwargs) -> WebhookCreateWebhookResponse
POST/accounts/{account_id}/realtime/kit/{app_id}/webhooks
Fetch details of a webhook
realtime_kit.webhooks.get_webhook_by_id(strwebhook_id, WebhookGetWebhookByIDParams**kwargs) -> WebhookGetWebhookByIDResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/webhooks/{webhook_id}
Replace a webhook
realtime_kit.webhooks.replace_webhook(strwebhook_id, WebhookReplaceWebhookParams**kwargs) -> WebhookReplaceWebhookResponse
PUT/accounts/{account_id}/realtime/kit/{app_id}/webhooks/{webhook_id}
Edit a webhook
realtime_kit.webhooks.edit_webhook(strwebhook_id, WebhookEditWebhookParams**kwargs) -> WebhookEditWebhookResponse
PATCH/accounts/{account_id}/realtime/kit/{app_id}/webhooks/{webhook_id}
Delete a webhook
realtime_kit.webhooks.delete_webhook(strwebhook_id, WebhookDeleteWebhookParams**kwargs) -> WebhookDeleteWebhookResponse
DELETE/accounts/{account_id}/realtime/kit/{app_id}/webhooks/{webhook_id}
ModelsExpand Collapse
class WebhookGetWebhooksResponse:
data: List[Data]
id: str

ID of the webhook

formatuuid
created_at: datetime

Timestamp when this webhook was created

formatdate-time
enabled: bool

Set to true if the webhook is active

events: List[Literal["meeting.started", "meeting.ended", "meeting.participantJoined", 6 more]]

Events this webhook will send updates for

One of the following:
"meeting.started"
"meeting.ended"
"meeting.participantJoined"
"meeting.participantLeft"
"meeting.chatSynced"
"recording.statusUpdate"
"livestreaming.statusUpdate"
"meeting.transcript"
"meeting.summary"
name: str

Name of the webhook

updated_at: datetime

Timestamp when this webhook was updated

formatdate-time
url: str

URL the webhook will send events to

formaturi
success: bool
class WebhookCreateWebhookResponse:
data: Data
id: str

ID of the webhook

formatuuid
created_at: datetime

Timestamp when this webhook was created

formatdate-time
enabled: bool

Set to true if the webhook is active

events: List[Literal["meeting.started", "meeting.ended", "meeting.participantJoined", 6 more]]

Events this webhook will send updates for

One of the following:
"meeting.started"
"meeting.ended"
"meeting.participantJoined"
"meeting.participantLeft"
"meeting.chatSynced"
"recording.statusUpdate"
"livestreaming.statusUpdate"
"meeting.transcript"
"meeting.summary"
name: str

Name of the webhook

updated_at: datetime

Timestamp when this webhook was updated

formatdate-time
url: str

URL the webhook will send events to

formaturi
success: bool
class WebhookGetWebhookByIDResponse:
data: Data
id: str

ID of the webhook

formatuuid
created_at: datetime

Timestamp when this webhook was created

formatdate-time
enabled: bool

Set to true if the webhook is active

events: List[Literal["meeting.started", "meeting.ended", "meeting.participantJoined", 6 more]]

Events this webhook will send updates for

One of the following:
"meeting.started"
"meeting.ended"
"meeting.participantJoined"
"meeting.participantLeft"
"meeting.chatSynced"
"recording.statusUpdate"
"livestreaming.statusUpdate"
"meeting.transcript"
"meeting.summary"
name: str

Name of the webhook

updated_at: datetime

Timestamp when this webhook was updated

formatdate-time
url: str

URL the webhook will send events to

formaturi
success: bool
class WebhookReplaceWebhookResponse:
data: Data
id: str

ID of the webhook

formatuuid
created_at: datetime

Timestamp when this webhook was created

formatdate-time
enabled: bool

Set to true if the webhook is active

events: List[Literal["meeting.started", "meeting.ended", "meeting.participantJoined", 6 more]]

Events this webhook will send updates for

One of the following:
"meeting.started"
"meeting.ended"
"meeting.participantJoined"
"meeting.participantLeft"
"meeting.chatSynced"
"recording.statusUpdate"
"livestreaming.statusUpdate"
"meeting.transcript"
"meeting.summary"
name: str

Name of the webhook

updated_at: datetime

Timestamp when this webhook was updated

formatdate-time
url: str

URL the webhook will send events to

formaturi
success: bool
class WebhookEditWebhookResponse:
data: Data
id: str

ID of the webhook

formatuuid
created_at: datetime

Timestamp when this webhook was created

formatdate-time
enabled: bool

Set to true if the webhook is active

events: List[Literal["meeting.started", "meeting.ended", "meeting.participantJoined", 6 more]]

Events this webhook will send updates for

One of the following:
"meeting.started"
"meeting.ended"
"meeting.participantJoined"
"meeting.participantLeft"
"meeting.chatSynced"
"recording.statusUpdate"
"livestreaming.statusUpdate"
"meeting.transcript"
"meeting.summary"
name: str

Name of the webhook

updated_at: datetime

Timestamp when this webhook was updated

formatdate-time
url: str

URL the webhook will send events to

formaturi
success: bool
class WebhookDeleteWebhookResponse:
data: Data
id: str

ID of the webhook

formatuuid
created_at: datetime

Timestamp when this webhook was created

formatdate-time
enabled: bool

Set to true if the webhook is active

events: List[Literal["meeting.started", "meeting.ended", "meeting.participantJoined", 6 more]]

Events this webhook will send updates for

One of the following:
"meeting.started"
"meeting.ended"
"meeting.participantJoined"
"meeting.participantLeft"
"meeting.chatSynced"
"recording.statusUpdate"
"livestreaming.statusUpdate"
"meeting.transcript"
"meeting.summary"
name: str

Name of the webhook

updated_at: datetime

Timestamp when this webhook was updated

formatdate-time
url: str

URL the webhook will send events to

formaturi
success: bool

Realtime KitActive Session

Fetch details of an active session
realtime_kit.active_session.get_active_session(strmeeting_id, ActiveSessionGetActiveSessionParams**kwargs) -> ActiveSessionGetActiveSessionResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/active-session
Kick participants from an active session
realtime_kit.active_session.kick_participants(strmeeting_id, ActiveSessionKickParticipantsParams**kwargs) -> ActiveSessionKickParticipantsResponse
POST/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/active-session/kick
Kick all participants
realtime_kit.active_session.kick_all_participants(strmeeting_id, ActiveSessionKickAllParticipantsParams**kwargs) -> ActiveSessionKickAllParticipantsResponse
POST/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/active-session/kick-all
Create a poll
realtime_kit.active_session.create_poll(strmeeting_id, ActiveSessionCreatePollParams**kwargs) -> ActiveSessionCreatePollResponse
POST/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/active-session/poll
ModelsExpand Collapse
class ActiveSessionGetActiveSessionResponse:
data: Optional[Data]
id: str

ID of the session

associated_id: str

ID of the meeting this session is associated with. In the case of V2 meetings, it is always a UUID. In V1 meetings, it is a room name of the form abcdef-ghijkl

created_at: str

timestamp when session created

live_participants: float

number of participants currently in the session

max_concurrent_participants: float

number of maximum participants that were in the session

meeting_display_name: str

Title of the meeting this session belongs to

minutes_consumed: float

number of minutes consumed since the session started

organization_id: str

App id that hosted this session

started_at: str

timestamp when session started

status: Literal["LIVE", "ENDED"]

current status of session

One of the following:
"LIVE"
"ENDED"
type: Literal["meeting", "livestream", "participant"]

type of session

One of the following:
"meeting"
"livestream"
"participant"
updated_at: str

timestamp when session was last updated

breakout_rooms: Optional[List[object]]
ended_at: Optional[str]

timestamp when session ended

meta: Optional[object]

Any meta data about session.

success: Optional[bool]
class ActiveSessionKickParticipantsResponse:
data: Optional[Data]
action: Optional[str]
participants: Optional[List[DataParticipant]]
id: str

ID of the session participant

created_at: str
updated_at: str
email: Optional[str]

Email of the session participant.

name: Optional[str]

Name of the session participant.

picture: Optional[str]

A URL pointing to a picture of the participant.

success: Optional[bool]
class ActiveSessionKickAllParticipantsResponse:
data: Optional[Data]
action: Optional[str]
kicked_participants_count: Optional[float]
success: Optional[bool]
class ActiveSessionCreatePollResponse:
data: Optional[Data]
action: Optional[str]
poll: Optional[DataPoll]
id: str

ID of the poll

options: List[DataPollOption]

Answer options

count: float
text: str

Text of the answer option

votes: List[DataPollOptionVote]
id: str
name: str
question: str

Question asked by the poll

anonymous: Optional[bool]
created_by: Optional[str]
hide_votes: Optional[bool]
voted: Optional[List[str]]
success: Optional[bool]

Realtime KitLivestreams

Create an independent livestream
realtime_kit.livestreams.create_independent_livestream(strapp_id, LivestreamCreateIndependentLivestreamParams**kwargs) -> LivestreamCreateIndependentLivestreamResponse
POST/accounts/{account_id}/realtime/kit/{app_id}/livestreams
Fetch all livestreams
realtime_kit.livestreams.get_all_livestreams(strapp_id, LivestreamGetAllLivestreamsParams**kwargs) -> LivestreamGetAllLivestreamsResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/livestreams
Stop livestreaming a meeting
realtime_kit.livestreams.stop_livestreaming_a_meeting(strmeeting_id, LivestreamStopLivestreamingAMeetingParams**kwargs) -> LivestreamStopLivestreamingAMeetingResponse
POST/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/active-livestream/stop
Start livestreaming a meeting
realtime_kit.livestreams.start_livestreaming_a_meeting(strmeeting_id, LivestreamStartLivestreamingAMeetingParams**kwargs) -> LivestreamStartLivestreamingAMeetingResponse
POST/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/livestreams
Fetch complete analytics data for your livestreams
realtime_kit.livestreams.get_livestream_analytics_complete(strapp_id, LivestreamGetLivestreamAnalyticsCompleteParams**kwargs) -> LivestreamGetLivestreamAnalyticsCompleteResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/analytics/livestreams/overall
Fetch day-wise session and recording analytics data for an App
realtime_kit.livestreams.get_org_analytics(strapp_id, LivestreamGetOrgAnalyticsParams**kwargs) -> LivestreamGetOrgAnalyticsResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/analytics/daywise
Fetch active livestreams for a meeting
realtime_kit.livestreams.get_meeting_active_livestreams(strmeeting_id, LivestreamGetMeetingActiveLivestreamsParams**kwargs) -> LivestreamGetMeetingActiveLivestreamsResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/active-livestream
Fetch livestream session details using livestream session ID
realtime_kit.livestreams.get_livestream_session_details_for_session_id(strlivestream_session_id, LivestreamGetLivestreamSessionDetailsForSessionIDParams**kwargs) -> LivestreamGetLivestreamSessionDetailsForSessionIDResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/livestreams/sessions/{livestream-session-id}
Fetch active livestream session details
realtime_kit.livestreams.get_active_livestreams_for_livestream_id(strlivestream_id, LivestreamGetActiveLivestreamsForLivestreamIDParams**kwargs) -> LivestreamGetActiveLivestreamsForLivestreamIDResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/livestreams/{livestream_id}/active-livestream-session
Fetch livestream details using livestream ID
realtime_kit.livestreams.get_livestream_session_for_livestream_id(strlivestream_id, LivestreamGetLivestreamSessionForLivestreamIDParams**kwargs) -> LivestreamGetLivestreamSessionForLivestreamIDResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/livestreams/{livestream_id}
ModelsExpand Collapse
class LivestreamCreateIndependentLivestreamResponse:
data: Optional[Data]
id: Optional[str]

The livestream ID.

disabled: Optional[bool]

Specifies if the livestream was disabled.

ingest_server: Optional[str]

The server URL to which the RTMP encoder should send the video and audio data.

meeting_id: Optional[str]
name: Optional[str]
playback_url: Optional[str]

The web address that viewers can use to watch the livestream.

status: Optional[Literal["LIVE", "IDLE", "ERRORED", "INVOKED"]]
One of the following:
"LIVE"
"IDLE"
"ERRORED"
"INVOKED"
stream_key: Optional[str]

Unique key for accessing each livestream.

success: Optional[bool]
class LivestreamGetAllLivestreamsResponse:
data: Optional[Data]
id: Optional[str]

The ID of the livestream.

formatuuid
created_at: Optional[datetime]

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

formatdate-time
disabled: Optional[str]

Specifies if the livestream was disabled.

ingest_server: Optional[str]

The server URL to which the RTMP encoder sends the video and audio data.

meeting_id: Optional[str]

ID of the meeting.

name: Optional[str]

Name of the livestream.

paging: Optional[DataPaging]
end_offset: Optional[int]
start_offset: Optional[int]
total_count: Optional[int]
playback_url: Optional[str]

The web address that viewers can use to watch the livestream.

status: Optional[Literal["LIVE", "IDLE", "ERRORED", "INVOKED"]]
One of the following:
"LIVE"
"IDLE"
"ERRORED"
"INVOKED"
stream_key: Optional[str]

Unique key for accessing each livestream.

updated_at: Optional[datetime]

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

formatdate-time
success: Optional[bool]
class LivestreamStopLivestreamingAMeetingResponse:
data: Optional[Data]
message: Optional[str]
success: Optional[bool]
class LivestreamStartLivestreamingAMeetingResponse:
data: Optional[Data]
id: Optional[str]

The livestream ID.

ingest_server: Optional[str]

The server URL to which the RTMP encoder sends the video and audio data.

playback_url: Optional[str]

The web address that viewers can use to watch the livestream.

status: Optional[Literal["LIVE", "IDLE", "ERRORED", "INVOKED"]]
One of the following:
"LIVE"
"IDLE"
"ERRORED"
"INVOKED"
stream_key: Optional[str]

Unique key for accessing each livestream.

success: Optional[bool]
class LivestreamGetLivestreamAnalyticsCompleteResponse:
data: Optional[Data]
count: Optional[int]

Count of total livestreams.

total_ingest_seconds: Optional[int]

Total time duration for which the input was given or the meeting was streamed.

total_viewer_seconds: Optional[int]

Total view time for which the viewers watched the stream.

success: Optional[bool]
class LivestreamGetOrgAnalyticsResponse:
data: Optional[Data]
recording_stats: Optional[DataRecordingStats]

Recording statistics of an App during the range specified

day_stats: Optional[List[DataRecordingStatsDayStat]]

Day wise recording stats

day: Optional[str]
total_recording_minutes: Optional[int]

Total recording minutes for a specific day

total_recordings: Optional[int]

Total number of recordings for a specific day

recording_count: Optional[int]

Total number of recordings during the range specified

recording_minutes_consumed: Optional[float]

Total recording minutes during the range specified

session_stats: Optional[DataSessionStats]

Session statistics of an App during the range specified

day_stats: Optional[List[DataSessionStatsDayStat]]

Day wise session stats

day: Optional[str]
total_session_minutes: Optional[float]

Total session minutes for a specific day

total_sessions: Optional[int]

Total number of sessions for a specific day

sessions_count: Optional[int]

Total number of sessions during the range specified

sessions_minutes_consumed: Optional[float]

Total session minutes during the range specified

success: Optional[bool]
class LivestreamGetMeetingActiveLivestreamsResponse:
data: Optional[Data]
id: Optional[str]

The livestream ID.

created_at: Optional[datetime]

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

formatdate-time
disabled: Optional[str]

Specifies if the livestream was disabled.

ingest_server: Optional[str]

The server URL to which the RTMP encoder sends the video and audio data.

meeting_id: Optional[str]
name: Optional[str]

Name of the livestream.

playback_url: Optional[str]

The web address that viewers can use to watch the livestream.

status: Optional[Literal["LIVE", "IDLE", "ERRORED", "INVOKED"]]
One of the following:
"LIVE"
"IDLE"
"ERRORED"
"INVOKED"
stream_key: Optional[str]

Unique key for accessing each livestream.

updated_at: Optional[datetime]

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

formatdate-time
success: Optional[bool]
class LivestreamGetLivestreamSessionDetailsForSessionIDResponse:
data: Optional[Data]
id: Optional[str]

The livestream ID.

created_at: Optional[datetime]

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

formatdate-time
err_message: Optional[str]

The server URL to which the RTMP encoder sends the video and audio data.

ingest_seconds: Optional[int]

Name of the livestream.

livestream_id: Optional[str]
started_time: Optional[str]

Unique key for accessing each livestream.

stopped_time: Optional[str]

The web address that viewers can use to watch the livestream.

updated_at: Optional[str]

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

viewer_seconds: Optional[int]

Specifies if the livestream was disabled.

success: Optional[bool]
class LivestreamGetActiveLivestreamsForLivestreamIDResponse:
data: Optional[Data]
livestream: Optional[DataLivestream]
id: Optional[str]
created_at: Optional[datetime]

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

formatdate-time
disabled: Optional[str]

Specifies if the livestream was disabled.

ingest_server: Optional[str]

The server URL to which the RTMP encoder sends the video and audio data.

meeting_id: Optional[str]

ID of the meeting.

name: Optional[str]

Name of the livestream.

playback_url: Optional[str]

The web address that viewers can use to watch the livestream.

status: Optional[Literal["LIVE", "IDLE", "ERRORED", "INVOKED"]]
One of the following:
"LIVE"
"IDLE"
"ERRORED"
"INVOKED"
stream_key: Optional[str]

Unique key for accessing each livestream.

updated_at: Optional[datetime]

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

formatdate-time
session: Optional[DataSession]
id: Optional[str]
created_at: Optional[datetime]

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

formatdate-time
err_message: Optional[str]
ingest_seconds: Optional[str]

The time duration for which the input was given or the meeting was streamed.

invoked_time: Optional[datetime]

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

formatdate-time
livestream_id: Optional[str]
started_time: Optional[datetime]

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

formatdate-time
stopped_time: Optional[datetime]

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

formatdate-time
updated_at: Optional[datetime]

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

formatdate-time
viewer_seconds: Optional[str]

The total view time for which the viewers watched the stream.

success: Optional[bool]
class LivestreamGetLivestreamSessionForLivestreamIDResponse:
data: Optional[Data]
livestream: Optional[DataLivestream]
id: Optional[str]

ID of the livestream.

created_at: Optional[str]

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

disabled: Optional[str]

Specifies if the livestream was disabled.

ingest_server: Optional[str]

The server URL to which the RTMP encoder sends the video and audio data.

meeting_id: Optional[str]

The ID of the meeting.

name: Optional[str]

Name of the livestream.

playback_url: Optional[str]

The web address that viewers can use to watch the livestream.

status: Optional[Literal["LIVE", "IDLE", "ERRORED", "INVOKED"]]
One of the following:
"LIVE"
"IDLE"
"ERRORED"
"INVOKED"
stream_key: Optional[str]

Unique key for accessing each livestream.

updated_at: Optional[str]

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

paging: Optional[DataPaging]
end_offset: Optional[int]
start_offset: Optional[int]
total_count: Optional[int]
session: Optional[DataSession]
id: Optional[str]

ID of the session.

created_at: Optional[datetime]

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

formatdate-time
err_message: Optional[str]
ingest_seconds: Optional[float]

The time duration for which the input was given or the meeting was streamed.

invoked_time: Optional[datetime]

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

formatdate-time
livestream_id: Optional[str]
started_time: Optional[datetime]

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

formatdate-time
stopped_time: Optional[datetime]

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

formatdate-time
updated_at: Optional[datetime]

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

formatdate-time
viewer_seconds: Optional[float]

The total view time for which the viewers watched the stream.

success: Optional[bool]

Realtime KitAnalytics

Fetch day-wise session and recording analytics data for an App
realtime_kit.analytics.get_org_analytics(strapp_id, AnalyticsGetOrgAnalyticsParams**kwargs) -> AnalyticsGetOrgAnalyticsResponse
GET/accounts/{account_id}/realtime/kit/{app_id}/analytics/daywise
ModelsExpand Collapse
class AnalyticsGetOrgAnalyticsResponse:
data: Optional[Data]
recording_stats: Optional[DataRecordingStats]

Recording statistics of an App during the range specified

day_stats: Optional[List[DataRecordingStatsDayStat]]

Day wise recording stats

day: Optional[str]
total_recording_minutes: Optional[int]

Total recording minutes for a specific day

total_recordings: Optional[int]

Total number of recordings for a specific day

recording_count: Optional[int]

Total number of recordings during the range specified

recording_minutes_consumed: Optional[float]

Total recording minutes during the range specified

session_stats: Optional[DataSessionStats]

Session statistics of an App during the range specified

day_stats: Optional[List[DataSessionStatsDayStat]]

Day wise session stats

day: Optional[str]
total_session_minutes: Optional[float]

Total session minutes for a specific day

total_sessions: Optional[int]

Total number of sessions for a specific day

sessions_count: Optional[int]

Total number of sessions during the range specified

sessions_minutes_consumed: Optional[float]

Total session minutes during the range specified

success: Optional[bool]