Skip to content
Start here

Sessions

Fetch all sessions of an App
client.realtimeKit.sessions.getSessions(stringappId, SessionGetSessionsParams { account_id, associated_id, end_time, 8 more } params, RequestOptionsoptions?): SessionGetSessionsResponse { data, paging, success }
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions
Fetch details of a session
client.realtimeKit.sessions.getSessionDetails(stringappId, stringsessionId, SessionGetSessionDetailsParams { account_id, include_breakout_rooms } params, RequestOptionsoptions?): SessionGetSessionDetailsResponse { data, success }
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}
Fetch participants list of a session
client.realtimeKit.sessions.getSessionParticipants(stringappId, stringsessionId, SessionGetSessionParticipantsParams { account_id, include_peer_events, page_no, 5 more } params, RequestOptionsoptions?): SessionGetSessionParticipantsResponse { data, success }
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/participants
Fetch details of a participant
client.realtimeKit.sessions.getSessionParticipantDetails(stringappId, stringsessionId, stringparticipantId, SessionGetSessionParticipantDetailsParams { account_id, include_peer_events } params, RequestOptionsoptions?): SessionGetSessionParticipantDetailsResponse { data, success }
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/participants/{participant_id}
Fetch all chat messages of a session
client.realtimeKit.sessions.getSessionChat(stringappId, stringsessionId, SessionGetSessionChatParams { account_id } params, RequestOptionsoptions?): SessionGetSessionChatResponse { data, success }
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/chat
Fetch the complete transcript for a session
client.realtimeKit.sessions.getSessionTranscripts(stringappId, stringsessionId, SessionGetSessionTranscriptsParams { account_id, format } params, RequestOptionsoptions?): SessionGetSessionTranscriptsResponse { data, success }
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/transcript
Fetch summary of transcripts for a session
client.realtimeKit.sessions.getSessionSummary(stringappId, stringsessionId, SessionGetSessionSummaryParams { account_id } params, RequestOptionsoptions?): SessionGetSessionSummaryResponse { data, success }
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/summary
Generate summary of Transcripts for the session
client.realtimeKit.sessions.generateSummaryOfTranscripts(stringappId, stringsessionId, SessionGenerateSummaryOfTranscriptsParams { account_id } params, RequestOptionsoptions?): SessionGenerateSummaryOfTranscriptsResponse { data, success }
POST/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/summary
Fetch details of peer
client.realtimeKit.sessions.getParticipantDataFromPeerId(stringappId, stringpeerId, SessionGetParticipantDataFromPeerIDParams { account_id, filters, include_peer_events } params, RequestOptionsoptions?): SessionGetParticipantDataFromPeerIDResponse { data, success }
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/peer-report/{peer_id}
ModelsExpand Collapse
SessionGetSessionsResponse { data, paging, success }
data?: Data { sessions }
sessions?: Array<Session>
id: string

ID of the session

associated_id: string

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: string

timestamp when session created

live_participants: number

number of participants currently in the session

max_concurrent_participants: number

number of maximum participants that were in the session

meeting_display_name: string

Title of the meeting this session belongs to

minutes_consumed: number

number of minutes consumed since the session started

organization_id: string

App id that hosted this session

started_at: string

timestamp when session started

status: "LIVE" | "ENDED"

current status of session

One of the following:
"LIVE"
"ENDED"
type: "meeting" | "livestream" | "participant"

type of session

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

timestamp when session was last updated

breakout_rooms?: Array<unknown>
ended_at?: string

timestamp when session ended

paging?: Paging { end_offset, start_offset, total_count }
end_offset?: number
start_offset?: number
total_count?: number
minimum0
success?: boolean
SessionGetSessionDetailsResponse { data, success }
data?: Data { id, associated_id, created_at, 11 more }
id: string

ID of the session

associated_id: string

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: string

timestamp when session created

live_participants: number

number of participants currently in the session

max_concurrent_participants: number

number of maximum participants that were in the session

meeting_display_name: string

Title of the meeting this session belongs to

minutes_consumed: number

number of minutes consumed since the session started

organization_id: string

App id that hosted this session

started_at: string

timestamp when session started

status: "LIVE" | "ENDED"

current status of session

One of the following:
"LIVE"
"ENDED"
type: "meeting" | "livestream" | "participant"

type of session

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

timestamp when session was last updated

breakout_rooms?: Array<unknown>
ended_at?: string

timestamp when session ended

success?: boolean
SessionGetSessionParticipantsResponse { data, success }
data?: Data { participants }
participants?: Array<Participant>
id?: string

Participant ID. This maps to the corresponding peerId.

created_at?: string

timestamp when this participant was created.

custom_participant_id?: string

ID passed by client to create this participant.

display_name?: string

Display name of participant when joining the session.

duration?: number

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

joined_at?: string

timestamp at which participant joined the session.

left_at?: string

timestamp at which participant left the session.

peer_events?: Array<PeerEvent>

Connection lifecycle events for the participant’s peer. Only included when include_peer_events is true.

id?: string

ID of the peer event.

created_at?: string

Timestamp when this peer event was created.

event_name?: "PEER_CREATED" | "PEER_JOINING" | "PEER_LEAVING"

Name of the peer event.

One of the following:
"PEER_CREATED"
"PEER_JOINING"
"PEER_LEAVING"
minutes_consumed?: number

Minutes consumed attributed to this event.

participant_id?: string | null

ID of the participant this event belongs to.

peer_id?: string

Peer ID this event belongs to.

preset_view_type?: "GROUP_CALL" | "WEBINAR" | "AUDIO_ROOM" | 2 more | null

View type of the preset associated with the peer.

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
"LIVESTREAM"
"CHAT"
session_id?: string | null

ID of the session this event belongs to.

socket_session_id?: string | null

ID of the socket session associated with this event.

updated_at?: string

Timestamp when this peer event was last updated.

preset_name?: string

Name of the preset associated with the participant.

updated_at?: string

timestamp when this participant’s data was last updated.

user_id?: string

User id for this participant.

success?: boolean
SessionGetSessionParticipantDetailsResponse { data, success }
data?: Data { participant }
participant?: Participant { id, created_at, custom_participant_id, 8 more }
id?: string

Participant ID. This maps to the corresponding peerId.

created_at?: string

timestamp when this participant was created.

custom_participant_id?: string

ID passed by client to create this participant.

display_name?: string

Display name of participant when joining the session.

duration?: number

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

joined_at?: string

timestamp at which participant joined the session.

left_at?: string

timestamp at which participant left the session.

peer_events?: Array<PeerEvent>

Connection lifecycle events for the participant’s peer. Only included when include_peer_events is true.

id?: string

ID of the peer event.

created_at?: string

Timestamp when this peer event was created.

event_name?: "PEER_CREATED" | "PEER_JOINING" | "PEER_LEAVING"

Name of the peer event.

One of the following:
"PEER_CREATED"
"PEER_JOINING"
"PEER_LEAVING"
minutes_consumed?: number

Minutes consumed attributed to this event.

participant_id?: string | null

ID of the participant this event belongs to.

peer_id?: string

Peer ID this event belongs to.

preset_view_type?: "GROUP_CALL" | "WEBINAR" | "AUDIO_ROOM" | 2 more | null

View type of the preset associated with the peer.

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
"LIVESTREAM"
"CHAT"
session_id?: string | null

ID of the session this event belongs to.

socket_session_id?: string | null

ID of the socket session associated with this event.

updated_at?: string

Timestamp when this peer event was last updated.

preset_name?: string

Name of the preset associated with the participant.

updated_at?: string

timestamp when this participant’s data was last updated.

user_id?: string

User id for this participant.

success?: boolean
SessionGetSessionChatResponse { data, success }
data?: Data { chat_download_url, chat_download_url_expiry }
chat_download_url: string

URL where the chat logs can be downloaded

chat_download_url_expiry: string

Time when the download URL will expire

success?: boolean
SessionGetSessionTranscriptsResponse { data, success }
data?: Data { sessionId, transcript_download_url, transcript_download_url_expiry }
sessionId: string
transcript_download_url: string

URL where the transcript can be downloaded

transcript_download_url_expiry: string

Time when the download URL will expire

success?: boolean
SessionGetSessionSummaryResponse { data, success }
data?: Data { sessionId, summaryDownloadUrl, summaryDownloadUrlExpiry }
sessionId: string
summaryDownloadUrl: string

URL where the summary of transcripts can be downloaded

summaryDownloadUrlExpiry: string

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

success?: boolean
SessionGenerateSummaryOfTranscriptsResponse { data, success }
data?: Data { session_id, status }
session_id?: string
formatuuid
status?: string
success?: boolean
SessionGetParticipantDataFromPeerIDResponse { data, success }
data?: Data { participant }
participant?: Participant { id, created_at, custom_participant_id, 10 more }
id?: string

ID of the participant.

formatuuid
created_at?: string

timestamp when this participant was created.

custom_participant_id?: string

ID passed by client to create this participant.

display_name?: string

Display name of participant when joining the session.

duration?: number

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

joined_at?: string

timestamp at which participant joined the session.

left_at?: string

timestamp at which participant left the session.

peer_events?: Array<PeerEvent>

Connection lifecycle events for the participant’s peer.

id?: string

ID of the peer event.

created_at?: string

Timestamp when this peer event was created.

event_name?: "PEER_CREATED" | "PEER_JOINING" | "PEER_LEAVING"

Name of the peer event.

One of the following:
"PEER_CREATED"
"PEER_JOINING"
"PEER_LEAVING"
minutes_consumed?: number

Minutes consumed attributed to this event.

participant_id?: string | null

ID of the participant this event belongs to.

peer_id?: string

Peer ID this event belongs to.

preset_view_type?: "GROUP_CALL" | "WEBINAR" | "AUDIO_ROOM" | 2 more | null

View type of the preset associated with the peer.

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
"LIVESTREAM"
"CHAT"
session_id?: string | null

ID of the session this event belongs to.

socket_session_id?: string | null

ID of the socket session associated with this event.

updated_at?: string

Timestamp when this peer event was last updated.

peer_report?: PeerReport { metadata, quality }

Peer call statistics report.

metadata?: Metadata { audio_devices_updates, browser_metadata, candidate_pairs, 12 more }

Connection and device metadata for the participant.

audio_devices_updates?: Array<AudioDevicesUpdate>
added?: Array<Added>

Devices that became available.

device_id?: string

ID of the device.

kind?: string

Kind of device, for example audioinput or videoinput.

label?: string

Human-readable label of the device.

removed?: Array<Removed>

Devices that became unavailable.

device_id?: string

ID of the device.

kind?: string

Kind of device, for example audioinput or videoinput.

label?: string

Human-readable label of the device.

timestamp?: string

Timestamp of the device update.

browser_metadata?: BrowserMetadata { browser, browser_version, engine, 2 more }
browser?: string
browser_version?: string
engine?: string
user_agent?: string
webgl_support?: boolean | null
candidate_pairs?: CandidatePairs { consuming_transport, producing_transport }
consuming_transport?: Array<ConsumingTransport>
available_incoming_bitrate?: number
available_outgoing_bitrate?: number
bytes_discarded_on_send?: number
bytes_received?: number
bytes_sent?: number
current_round_trip_time?: number
last_packet_received_timestamp?: number

Epoch milliseconds when the last packet was received.

last_packet_sent_timestamp?: number

Epoch milliseconds when the last packet was sent.

local_candidate_address?: string
local_candidate_id?: string
local_candidate_network_type?: string
local_candidate_port?: number
local_candidate_protocol?: string
local_candidate_type?: string
local_candidate_url?: string
nominated?: boolean
packets_discarded_on_send?: number
packets_received?: number
packets_sent?: number
remote_candidate_address?: string
remote_candidate_id?: string
remote_candidate_port?: number
remote_candidate_protocol?: string
remote_candidate_type?: string
remote_candidate_url?: string
total_round_trip_time?: number
producing_transport?: Array<ProducingTransport>
available_incoming_bitrate?: number
available_outgoing_bitrate?: number
bytes_discarded_on_send?: number
bytes_received?: number
bytes_sent?: number
current_round_trip_time?: number
last_packet_received_timestamp?: number

Epoch milliseconds when the last packet was received.

last_packet_sent_timestamp?: number

Epoch milliseconds when the last packet was sent.

local_candidate_address?: string
local_candidate_id?: string
local_candidate_network_type?: string
local_candidate_port?: number
local_candidate_protocol?: string
local_candidate_type?: string
local_candidate_url?: string
nominated?: boolean
packets_discarded_on_send?: number
packets_received?: number
packets_sent?: number
remote_candidate_address?: string
remote_candidate_id?: string
remote_candidate_port?: number
remote_candidate_protocol?: string
remote_candidate_type?: string
remote_candidate_url?: string
total_round_trip_time?: number
device_info?: DeviceInfo { cpus, is_mobile, os, os_version }
cpus?: number
is_mobile?: boolean
os?: string
os_version?: string
events?: Array<Event>
metadata?: Record<string, string | number | boolean | null>

Event-specific metadata. Keys vary per event; values are primitive scalars (string, number, boolean, or null).

One of the following:
string
number
boolean
name?: string

Name of the event.

timestamp?: string

Timestamp when the event occurred.

ip_information?: IPInformation { asn, city, country, 4 more }
asn?: ASN { asn, domain, name, 2 more }
asn?: string
domain?: string
name?: string
route?: string
type?: string
city?: string
country?: string
ipv4?: string
org?: string
region?: string
timezone?: string
native_metadata?: NativeMetadata { audio_encoder, video_encoder }
audio_encoder?: string
video_encoder?: string
pc_metadata?: Array<PcMetadata>
effective_network_type?: string
reflexive_connectivity?: boolean
relay_connectivity?: boolean
sdp?: Array<string>
timestamp?: string
turn_connectivity?: boolean
room_view_type?: string
sdk_name?: string
sdk_type?: string
sdk_version?: string
selected_device_updates?: Array<SelectedDeviceUpdate>
device?: Device { device_id, kind, label }

A media device (camera, microphone, or speaker).

device_id?: string

ID of the device.

kind?: string

Kind of device, for example audioinput or videoinput.

label?: string

Human-readable label of the device.

timestamp?: string
speaker_devices_updates?: Array<SpeakerDevicesUpdate>
added?: Array<Added>

Devices that became available.

device_id?: string

ID of the device.

kind?: string

Kind of device, for example audioinput or videoinput.

label?: string

Human-readable label of the device.

removed?: Array<Removed>

Devices that became unavailable.

device_id?: string

ID of the device.

kind?: string

Kind of device, for example audioinput or videoinput.

label?: string

Human-readable label of the device.

timestamp?: string

Timestamp of the device update.

video_devices_updates?: Array<VideoDevicesUpdate>
added?: Array<Added>

Devices that became available.

device_id?: string

ID of the device.

kind?: string

Kind of device, for example audioinput or videoinput.

label?: string

Human-readable label of the device.

removed?: Array<Removed>

Devices that became unavailable.

device_id?: string

ID of the device.

kind?: string

Kind of device, for example audioinput or videoinput.

label?: string

Human-readable label of the device.

timestamp?: string

Timestamp of the device update.

quality?: Quality { audio_consumer, audio_consumer_cumulative, audio_producer, 13 more }

Media quality statistics for the participant.

audio_consumer?: Array<AudioConsumer>
bytes_received?: number
concealment_events?: number
consumer_id?: string
jitter?: number
jitter_buffer_delay?: number
jitter_buffer_emitted_count?: number
mid?: string
mos_quality?: number
packets_lost?: number
packets_received?: number
peer_id?: string
producer_id?: string
ssrc?: number
timestamp?: string
audio_consumer_cumulative?: AudioConsumerCumulative { jitter_buffer_delay, packet_loss, quality_mos }

Aggregated inbound (consumer) audio statistics for the session.

jitter_buffer_delay?: JitterBufferDelay { 100ms_or_greater_event_fraction, 250ms_or_greater_event_fraction, 500ms_or_greater_event_fraction, avg }

Cumulative latency distribution (milliseconds-based thresholds).

"100ms_or_greater_event_fraction"?: number
"250ms_or_greater_event_fraction"?: number
"500ms_or_greater_event_fraction"?: number
avg?: number
packet_loss?: PacketLoss { 10_or_greater_event_fraction, 25_or_greater_event_fraction, 5_or_greater_event_fraction, 2 more }

Cumulative packet loss distribution.

"10_or_greater_event_fraction"?: number
"25_or_greater_event_fraction"?: number
"5_or_greater_event_fraction"?: number
"50_or_greater_event_fraction"?: number
avg?: number
quality_mos?: QualityMos { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
audio_producer?: Array<AudioProducer>
bytes_sent?: number
jitter?: number
mid?: string
mos_quality?: number
packets_lost?: number
packets_sent?: number
producer_id?: string
rtt?: number
ssrc?: number
timestamp?: string
audio_producer_cumulative?: AudioProducerCumulative { packet_loss, quality_mos, rtt }

Aggregated outbound (producer) audio statistics for the session.

packet_loss?: PacketLoss { 10_or_greater_event_fraction, 25_or_greater_event_fraction, 5_or_greater_event_fraction, 2 more }

Cumulative packet loss distribution.

"10_or_greater_event_fraction"?: number
"25_or_greater_event_fraction"?: number
"5_or_greater_event_fraction"?: number
"50_or_greater_event_fraction"?: number
avg?: number
quality_mos?: QualityMos { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
rtt?: RTT { 100ms_or_greater_event_fraction, 250ms_or_greater_event_fraction, 500ms_or_greater_event_fraction, avg }

Cumulative latency distribution (milliseconds-based thresholds).

"100ms_or_greater_event_fraction"?: number
"250ms_or_greater_event_fraction"?: number
"500ms_or_greater_event_fraction"?: number
avg?: number
screenshare_audio_consumer?: Array<ScreenshareAudioConsumer>
bytes_received?: number
concealment_events?: number
consumer_id?: string
jitter?: number
jitter_buffer_delay?: number
jitter_buffer_emitted_count?: number
mid?: string
mos_quality?: number
packets_lost?: number
packets_received?: number
peer_id?: string
producer_id?: string
ssrc?: number
timestamp?: string
screenshare_audio_consumer_cumulative?: ScreenshareAudioConsumerCumulative { jitter_buffer_delay, packet_loss, quality_mos }

Aggregated inbound (consumer) audio statistics for the session.

jitter_buffer_delay?: JitterBufferDelay { 100ms_or_greater_event_fraction, 250ms_or_greater_event_fraction, 500ms_or_greater_event_fraction, avg }

Cumulative latency distribution (milliseconds-based thresholds).

"100ms_or_greater_event_fraction"?: number
"250ms_or_greater_event_fraction"?: number
"500ms_or_greater_event_fraction"?: number
avg?: number
packet_loss?: PacketLoss { 10_or_greater_event_fraction, 25_or_greater_event_fraction, 5_or_greater_event_fraction, 2 more }

Cumulative packet loss distribution.

"10_or_greater_event_fraction"?: number
"25_or_greater_event_fraction"?: number
"5_or_greater_event_fraction"?: number
"50_or_greater_event_fraction"?: number
avg?: number
quality_mos?: QualityMos { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
screenshare_audio_producer?: Array<ScreenshareAudioProducer>
bytes_sent?: number
jitter?: number
mid?: string
mos_quality?: number
packets_lost?: number
packets_sent?: number
producer_id?: string
rtt?: number
ssrc?: number
timestamp?: string
screenshare_audio_producer_cumulative?: ScreenshareAudioProducerCumulative { packet_loss, quality_mos, rtt }

Aggregated outbound (producer) audio statistics for the session.

packet_loss?: PacketLoss { 10_or_greater_event_fraction, 25_or_greater_event_fraction, 5_or_greater_event_fraction, 2 more }

Cumulative packet loss distribution.

"10_or_greater_event_fraction"?: number
"25_or_greater_event_fraction"?: number
"5_or_greater_event_fraction"?: number
"50_or_greater_event_fraction"?: number
avg?: number
quality_mos?: QualityMos { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
rtt?: RTT { 100ms_or_greater_event_fraction, 250ms_or_greater_event_fraction, 500ms_or_greater_event_fraction, avg }

Cumulative latency distribution (milliseconds-based thresholds).

"100ms_or_greater_event_fraction"?: number
"250ms_or_greater_event_fraction"?: number
"500ms_or_greater_event_fraction"?: number
avg?: number
screenshare_video_consumer?: Array<ScreenshareVideoConsumer>
bytes_received?: number
consumer_id?: string
fir_count?: number
frame_height?: number
frame_width?: number
frames_decoded?: number
frames_dropped?: number
frames_per_second?: number
jitter?: number
jitter_buffer_delay?: number
jitter_buffer_emitted_count?: number
key_frames_decoded?: number
mid?: string
mos_quality?: number
packets_lost?: number
packets_received?: number
peer_id?: string
producer_id?: string
ssrc?: number
timestamp?: string
screenshare_video_consumer_cumulative?: ScreenshareVideoConsumerCumulative { frame_per_second, frame_width, issues, 4 more }

Aggregated inbound (consumer) video statistics for the session.

frame_per_second?: FramePerSecond { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
frame_width?: FrameWidth { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
issues?: Issues { lag_fraction, no_video_fraction, poor_resolution_fraction }
lag_fraction?: number
no_video_fraction?: number
poor_resolution_fraction?: number
jitter_buffer_delay?: JitterBufferDelay { 100ms_or_greater_event_fraction, 250ms_or_greater_event_fraction, 500ms_or_greater_event_fraction, avg }

Cumulative latency distribution (milliseconds-based thresholds).

"100ms_or_greater_event_fraction"?: number
"250ms_or_greater_event_fraction"?: number
"500ms_or_greater_event_fraction"?: number
avg?: number
key_frames_decoded_fraction?: number
packet_loss?: PacketLoss { 10_or_greater_event_fraction, 25_or_greater_event_fraction, 5_or_greater_event_fraction, 2 more }

Cumulative packet loss distribution.

"10_or_greater_event_fraction"?: number
"25_or_greater_event_fraction"?: number
"5_or_greater_event_fraction"?: number
"50_or_greater_event_fraction"?: number
avg?: number
quality_mos?: QualityMos { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
screenshare_video_producer?: Array<ScreenshareVideoProducer>
bytes_sent?: number
fir_count?: number
frame_height?: number
frame_width?: number
frames_encoded?: number
frames_per_second?: number
jitter?: number
key_frames_encoded?: number
mid?: string
mos_quality?: number
packets_lost?: number
packets_sent?: number
pli_count?: number
producer_id?: string
quality_limitation_durations?: QualityLimitationDurations { bandwidth, cpu, none, other }
bandwidth?: number
cpu?: number
none?: number
other?: number
quality_limitation_reason?: "cpu" | "bandwidth" | "none" | "other"
One of the following:
"cpu"
"bandwidth"
"none"
"other"
quality_limitation_resolution_changes?: number
rtt?: number
ssrc?: number
timestamp?: string
screenshare_video_producer_cumulative?: ScreenshareVideoProducerCumulative { frame_per_second, frame_width, high_negative_feedback_fraction, 5 more }

Aggregated outbound (producer) video statistics for the session.

frame_per_second?: FramePerSecond { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
frame_width?: FrameWidth { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
high_negative_feedback_fraction?: number
issues?: Issues { bandwidth_quality_limitation_fraction, cpu_quality_limitation_fraction, no_video_fraction, 2 more }
bandwidth_quality_limitation_fraction?: number
cpu_quality_limitation_fraction?: number
no_video_fraction?: number
poor_resolution_fraction?: number
quality_limitation_fraction?: number
key_frames_encoded_fraction?: number
packet_loss?: PacketLoss { 10_or_greater_event_fraction, 25_or_greater_event_fraction, 5_or_greater_event_fraction, 2 more }

Cumulative packet loss distribution.

"10_or_greater_event_fraction"?: number
"25_or_greater_event_fraction"?: number
"5_or_greater_event_fraction"?: number
"50_or_greater_event_fraction"?: number
avg?: number
quality_mos?: QualityMos { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
rtt?: RTT { 100ms_or_greater_event_fraction, 250ms_or_greater_event_fraction, 500ms_or_greater_event_fraction, avg }

Cumulative latency distribution (milliseconds-based thresholds).

"100ms_or_greater_event_fraction"?: number
"250ms_or_greater_event_fraction"?: number
"500ms_or_greater_event_fraction"?: number
avg?: number
video_consumer?: Array<VideoConsumer>
bytes_received?: number
consumer_id?: string
fir_count?: number
frame_height?: number
frame_width?: number
frames_decoded?: number
frames_dropped?: number
frames_per_second?: number
jitter?: number
jitter_buffer_delay?: number
jitter_buffer_emitted_count?: number
key_frames_decoded?: number
mid?: string
mos_quality?: number
packets_lost?: number
packets_received?: number
peer_id?: string
producer_id?: string
ssrc?: number
timestamp?: string
video_consumer_cumulative?: VideoConsumerCumulative { frame_per_second, frame_width, issues, 4 more }

Aggregated inbound (consumer) video statistics for the session.

frame_per_second?: FramePerSecond { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
frame_width?: FrameWidth { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
issues?: Issues { lag_fraction, no_video_fraction, poor_resolution_fraction }
lag_fraction?: number
no_video_fraction?: number
poor_resolution_fraction?: number
jitter_buffer_delay?: JitterBufferDelay { 100ms_or_greater_event_fraction, 250ms_or_greater_event_fraction, 500ms_or_greater_event_fraction, avg }

Cumulative latency distribution (milliseconds-based thresholds).

"100ms_or_greater_event_fraction"?: number
"250ms_or_greater_event_fraction"?: number
"500ms_or_greater_event_fraction"?: number
avg?: number
key_frames_decoded_fraction?: number
packet_loss?: PacketLoss { 10_or_greater_event_fraction, 25_or_greater_event_fraction, 5_or_greater_event_fraction, 2 more }

Cumulative packet loss distribution.

"10_or_greater_event_fraction"?: number
"25_or_greater_event_fraction"?: number
"5_or_greater_event_fraction"?: number
"50_or_greater_event_fraction"?: number
avg?: number
quality_mos?: QualityMos { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
video_producer?: Array<VideoProducer>
bytes_sent?: number
fir_count?: number
frame_height?: number
frame_width?: number
frames_encoded?: number
frames_per_second?: number
jitter?: number
key_frames_encoded?: number
mid?: string
mos_quality?: number
packets_lost?: number
packets_sent?: number
pli_count?: number
producer_id?: string
quality_limitation_durations?: QualityLimitationDurations { bandwidth, cpu, none, other }
bandwidth?: number
cpu?: number
none?: number
other?: number
quality_limitation_reason?: "cpu" | "bandwidth" | "none" | "other"
One of the following:
"cpu"
"bandwidth"
"none"
"other"
quality_limitation_resolution_changes?: number
rtt?: number
ssrc?: number
timestamp?: string
video_producer_cumulative?: VideoProducerCumulative { frame_per_second, frame_width, high_negative_feedback_fraction, 5 more }

Aggregated outbound (producer) video statistics for the session.

frame_per_second?: FramePerSecond { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
frame_width?: FrameWidth { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
high_negative_feedback_fraction?: number
issues?: Issues { bandwidth_quality_limitation_fraction, cpu_quality_limitation_fraction, no_video_fraction, 2 more }
bandwidth_quality_limitation_fraction?: number
cpu_quality_limitation_fraction?: number
no_video_fraction?: number
poor_resolution_fraction?: number
quality_limitation_fraction?: number
key_frames_encoded_fraction?: number
packet_loss?: PacketLoss { 10_or_greater_event_fraction, 25_or_greater_event_fraction, 5_or_greater_event_fraction, 2 more }

Cumulative packet loss distribution.

"10_or_greater_event_fraction"?: number
"25_or_greater_event_fraction"?: number
"5_or_greater_event_fraction"?: number
"50_or_greater_event_fraction"?: number
avg?: number
quality_mos?: QualityMos { avg, p50, p75, p90 }

Distribution summary with average and percentiles.

avg?: number
p50?: number
p75?: number
p90?: number
rtt?: RTT { 100ms_or_greater_event_fraction, 250ms_or_greater_event_fraction, 500ms_or_greater_event_fraction, avg }

Cumulative latency distribution (milliseconds-based thresholds).

"100ms_or_greater_event_fraction"?: number
"250ms_or_greater_event_fraction"?: number
"500ms_or_greater_event_fraction"?: number
avg?: number
role?: string

Name of the preset associated with the participant.

session_id?: string
formatuuid
updated_at?: string

timestamp when this participant’s data was last updated.

user_id?: string

User id for this participant.

success?: boolean