Skip to content
Start here

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}

Returns participant details for the given peer ID along with call statistics.

Security

API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
Accepted Permissions (at least one required)
Realtime AdminRealtime
ParametersExpand Collapse
account_id: str

The account identifier tag.

maxLength32
app_id: str

The app identifier tag.

maxLength32
peer_id: str
formatuuid
filters: Optional[Literal["device_info", "ip_information", "precall_network_information", 2 more]]

Filter to apply to the peer report.

One of the following:
"device_info"
"ip_information"
"precall_network_information"
"events"
"quality_stats"
include_peer_events: Optional[bool]

if true, response includes all the peer events of participant.

ReturnsExpand Collapse
class SessionGetParticipantDataFromPeerIDResponse:
data: Optional[Data]
participant: Optional[DataParticipant]
id: Optional[str]

ID of the participant.

formatuuid
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_events: Optional[List[DataParticipantPeerEvent]]

Connection lifecycle events for the participant’s peer.

id: Optional[str]

ID of the peer event.

created_at: Optional[str]

Timestamp when this peer event was created.

event_name: Optional[Literal["PEER_CREATED", "PEER_JOINING", "PEER_LEAVING"]]

Name of the peer event.

One of the following:
"PEER_CREATED"
"PEER_JOINING"
"PEER_LEAVING"
minutes_consumed: Optional[float]

Minutes consumed attributed to this event.

participant_id: Optional[str]

ID of the participant this event belongs to.

peer_id: Optional[str]

Peer ID this event belongs to.

preset_view_type: Optional[Literal["GROUP_CALL", "WEBINAR", "AUDIO_ROOM", 2 more]]

View type of the preset associated with the peer.

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
"LIVESTREAM"
"CHAT"
session_id: Optional[str]

ID of the session this event belongs to.

socket_session_id: Optional[str]

ID of the socket session associated with this event.

updated_at: Optional[str]

Timestamp when this peer event was last updated.

peer_report: Optional[DataParticipantPeerReport]

Peer call statistics report.

metadata: Optional[DataParticipantPeerReportMetadata]

Connection and device metadata for the participant.

audio_devices_updates: Optional[List[DataParticipantPeerReportMetadataAudioDevicesUpdate]]
added: Optional[List[DataParticipantPeerReportMetadataAudioDevicesUpdateAdded]]

Devices that became available.

device_id: Optional[str]

ID of the device.

kind: Optional[str]

Kind of device, for example audioinput or videoinput.

label: Optional[str]

Human-readable label of the device.

removed: Optional[List[DataParticipantPeerReportMetadataAudioDevicesUpdateRemoved]]

Devices that became unavailable.

device_id: Optional[str]

ID of the device.

kind: Optional[str]

Kind of device, for example audioinput or videoinput.

label: Optional[str]

Human-readable label of the device.

timestamp: Optional[str]

Timestamp of the device update.

browser_metadata: Optional[DataParticipantPeerReportMetadataBrowserMetadata]
browser: Optional[str]
browser_version: Optional[str]
engine: Optional[str]
user_agent: Optional[str]
webgl_support: Optional[bool]
candidate_pairs: Optional[DataParticipantPeerReportMetadataCandidatePairs]
consuming_transport: Optional[List[DataParticipantPeerReportMetadataCandidatePairsConsumingTransport]]
available_incoming_bitrate: Optional[float]
available_outgoing_bitrate: Optional[float]
bytes_discarded_on_send: Optional[float]
bytes_received: Optional[float]
bytes_sent: Optional[float]
current_round_trip_time: Optional[float]
last_packet_received_timestamp: Optional[float]

Epoch milliseconds when the last packet was received.

last_packet_sent_timestamp: Optional[float]

Epoch milliseconds when the last packet was sent.

local_candidate_address: Optional[str]
local_candidate_id: Optional[str]
local_candidate_network_type: Optional[str]
local_candidate_port: Optional[float]
local_candidate_protocol: Optional[str]
local_candidate_type: Optional[str]
local_candidate_url: Optional[str]
nominated: Optional[bool]
packets_discarded_on_send: Optional[float]
packets_received: Optional[float]
packets_sent: Optional[float]
remote_candidate_address: Optional[str]
remote_candidate_id: Optional[str]
remote_candidate_port: Optional[float]
remote_candidate_protocol: Optional[str]
remote_candidate_type: Optional[str]
remote_candidate_url: Optional[str]
total_round_trip_time: Optional[float]
producing_transport: Optional[List[DataParticipantPeerReportMetadataCandidatePairsProducingTransport]]
available_incoming_bitrate: Optional[float]
available_outgoing_bitrate: Optional[float]
bytes_discarded_on_send: Optional[float]
bytes_received: Optional[float]
bytes_sent: Optional[float]
current_round_trip_time: Optional[float]
last_packet_received_timestamp: Optional[float]

Epoch milliseconds when the last packet was received.

last_packet_sent_timestamp: Optional[float]

Epoch milliseconds when the last packet was sent.

local_candidate_address: Optional[str]
local_candidate_id: Optional[str]
local_candidate_network_type: Optional[str]
local_candidate_port: Optional[float]
local_candidate_protocol: Optional[str]
local_candidate_type: Optional[str]
local_candidate_url: Optional[str]
nominated: Optional[bool]
packets_discarded_on_send: Optional[float]
packets_received: Optional[float]
packets_sent: Optional[float]
remote_candidate_address: Optional[str]
remote_candidate_id: Optional[str]
remote_candidate_port: Optional[float]
remote_candidate_protocol: Optional[str]
remote_candidate_type: Optional[str]
remote_candidate_url: Optional[str]
total_round_trip_time: Optional[float]
device_info: Optional[DataParticipantPeerReportMetadataDeviceInfo]
cpus: Optional[float]
is_mobile: Optional[bool]
os: Optional[str]
os_version: Optional[str]
events: Optional[List[DataParticipantPeerReportMetadataEvent]]
metadata: Optional[Dict[str, Union[str, float, bool, null]]]

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

One of the following:
str
float
bool
name: Optional[str]

Name of the event.

timestamp: Optional[str]

Timestamp when the event occurred.

ip_information: Optional[DataParticipantPeerReportMetadataIPInformation]
asn: Optional[DataParticipantPeerReportMetadataIPInformationASN]
asn: Optional[str]
domain: Optional[str]
name: Optional[str]
route: Optional[str]
type: Optional[str]
city: Optional[str]
country: Optional[str]
ipv4: Optional[str]
org: Optional[str]
region: Optional[str]
timezone: Optional[str]
native_metadata: Optional[DataParticipantPeerReportMetadataNativeMetadata]
audio_encoder: Optional[str]
video_encoder: Optional[str]
pc_metadata: Optional[List[DataParticipantPeerReportMetadataPcMetadata]]
effective_network_type: Optional[str]
reflexive_connectivity: Optional[bool]
relay_connectivity: Optional[bool]
sdp: Optional[List[str]]
timestamp: Optional[str]
turn_connectivity: Optional[bool]
room_view_type: Optional[str]
sdk_name: Optional[str]
sdk_type: Optional[str]
sdk_version: Optional[str]
selected_device_updates: Optional[List[DataParticipantPeerReportMetadataSelectedDeviceUpdate]]
device: Optional[DataParticipantPeerReportMetadataSelectedDeviceUpdateDevice]

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

device_id: Optional[str]

ID of the device.

kind: Optional[str]

Kind of device, for example audioinput or videoinput.

label: Optional[str]

Human-readable label of the device.

timestamp: Optional[str]
speaker_devices_updates: Optional[List[DataParticipantPeerReportMetadataSpeakerDevicesUpdate]]
added: Optional[List[DataParticipantPeerReportMetadataSpeakerDevicesUpdateAdded]]

Devices that became available.

device_id: Optional[str]

ID of the device.

kind: Optional[str]

Kind of device, for example audioinput or videoinput.

label: Optional[str]

Human-readable label of the device.

removed: Optional[List[DataParticipantPeerReportMetadataSpeakerDevicesUpdateRemoved]]

Devices that became unavailable.

device_id: Optional[str]

ID of the device.

kind: Optional[str]

Kind of device, for example audioinput or videoinput.

label: Optional[str]

Human-readable label of the device.

timestamp: Optional[str]

Timestamp of the device update.

video_devices_updates: Optional[List[DataParticipantPeerReportMetadataVideoDevicesUpdate]]
added: Optional[List[DataParticipantPeerReportMetadataVideoDevicesUpdateAdded]]

Devices that became available.

device_id: Optional[str]

ID of the device.

kind: Optional[str]

Kind of device, for example audioinput or videoinput.

label: Optional[str]

Human-readable label of the device.

removed: Optional[List[DataParticipantPeerReportMetadataVideoDevicesUpdateRemoved]]

Devices that became unavailable.

device_id: Optional[str]

ID of the device.

kind: Optional[str]

Kind of device, for example audioinput or videoinput.

label: Optional[str]

Human-readable label of the device.

timestamp: Optional[str]

Timestamp of the device update.

quality: Optional[DataParticipantPeerReportQuality]

Media quality statistics for the participant.

audio_consumer: Optional[List[DataParticipantPeerReportQualityAudioConsumer]]
bytes_received: Optional[float]
concealment_events: Optional[float]
consumer_id: Optional[str]
jitter: Optional[float]
jitter_buffer_delay: Optional[float]
jitter_buffer_emitted_count: Optional[float]
mid: Optional[str]
mos_quality: Optional[float]
packets_lost: Optional[float]
packets_received: Optional[float]
peer_id: Optional[str]
producer_id: Optional[str]
ssrc: Optional[float]
timestamp: Optional[str]
audio_consumer_cumulative: Optional[DataParticipantPeerReportQualityAudioConsumerCumulative]

Aggregated inbound (consumer) audio statistics for the session.

jitter_buffer_delay: Optional[DataParticipantPeerReportQualityAudioConsumerCumulativeJitterBufferDelay]

Cumulative latency distribution (milliseconds-based thresholds).

_100ms_or_greater_event_fraction: Optional[float]
_250ms_or_greater_event_fraction: Optional[float]
_500ms_or_greater_event_fraction: Optional[float]
avg: Optional[float]
packet_loss: Optional[DataParticipantPeerReportQualityAudioConsumerCumulativePacketLoss]

Cumulative packet loss distribution.

_10_or_greater_event_fraction: Optional[float]
_25_or_greater_event_fraction: Optional[float]
_5_or_greater_event_fraction: Optional[float]
_50_or_greater_event_fraction: Optional[float]
avg: Optional[float]
quality_mos: Optional[DataParticipantPeerReportQualityAudioConsumerCumulativeQualityMos]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
audio_producer: Optional[List[DataParticipantPeerReportQualityAudioProducer]]
bytes_sent: Optional[float]
jitter: Optional[float]
mid: Optional[str]
mos_quality: Optional[float]
packets_lost: Optional[float]
packets_sent: Optional[float]
producer_id: Optional[str]
rtt: Optional[float]
ssrc: Optional[float]
timestamp: Optional[str]
audio_producer_cumulative: Optional[DataParticipantPeerReportQualityAudioProducerCumulative]

Aggregated outbound (producer) audio statistics for the session.

packet_loss: Optional[DataParticipantPeerReportQualityAudioProducerCumulativePacketLoss]

Cumulative packet loss distribution.

_10_or_greater_event_fraction: Optional[float]
_25_or_greater_event_fraction: Optional[float]
_5_or_greater_event_fraction: Optional[float]
_50_or_greater_event_fraction: Optional[float]
avg: Optional[float]
quality_mos: Optional[DataParticipantPeerReportQualityAudioProducerCumulativeQualityMos]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
rtt: Optional[DataParticipantPeerReportQualityAudioProducerCumulativeRTT]

Cumulative latency distribution (milliseconds-based thresholds).

_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[DataParticipantPeerReportQualityScreenshareAudioConsumer]]
bytes_received: Optional[float]
concealment_events: Optional[float]
consumer_id: Optional[str]
jitter: Optional[float]
jitter_buffer_delay: Optional[float]
jitter_buffer_emitted_count: Optional[float]
mid: Optional[str]
mos_quality: Optional[float]
packets_lost: Optional[float]
packets_received: Optional[float]
peer_id: Optional[str]
producer_id: Optional[str]
ssrc: Optional[float]
timestamp: Optional[str]
screenshare_audio_consumer_cumulative: Optional[DataParticipantPeerReportQualityScreenshareAudioConsumerCumulative]

Aggregated inbound (consumer) audio statistics for the session.

jitter_buffer_delay: Optional[DataParticipantPeerReportQualityScreenshareAudioConsumerCumulativeJitterBufferDelay]

Cumulative latency distribution (milliseconds-based thresholds).

_100ms_or_greater_event_fraction: Optional[float]
_250ms_or_greater_event_fraction: Optional[float]
_500ms_or_greater_event_fraction: Optional[float]
avg: Optional[float]
packet_loss: Optional[DataParticipantPeerReportQualityScreenshareAudioConsumerCumulativePacketLoss]

Cumulative packet loss distribution.

_10_or_greater_event_fraction: Optional[float]
_25_or_greater_event_fraction: Optional[float]
_5_or_greater_event_fraction: Optional[float]
_50_or_greater_event_fraction: Optional[float]
avg: Optional[float]
quality_mos: Optional[DataParticipantPeerReportQualityScreenshareAudioConsumerCumulativeQualityMos]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
screenshare_audio_producer: Optional[List[DataParticipantPeerReportQualityScreenshareAudioProducer]]
bytes_sent: Optional[float]
jitter: Optional[float]
mid: Optional[str]
mos_quality: Optional[float]
packets_lost: Optional[float]
packets_sent: Optional[float]
producer_id: Optional[str]
rtt: Optional[float]
ssrc: Optional[float]
timestamp: Optional[str]
screenshare_audio_producer_cumulative: Optional[DataParticipantPeerReportQualityScreenshareAudioProducerCumulative]

Aggregated outbound (producer) audio statistics for the session.

packet_loss: Optional[DataParticipantPeerReportQualityScreenshareAudioProducerCumulativePacketLoss]

Cumulative packet loss distribution.

_10_or_greater_event_fraction: Optional[float]
_25_or_greater_event_fraction: Optional[float]
_5_or_greater_event_fraction: Optional[float]
_50_or_greater_event_fraction: Optional[float]
avg: Optional[float]
quality_mos: Optional[DataParticipantPeerReportQualityScreenshareAudioProducerCumulativeQualityMos]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
rtt: Optional[DataParticipantPeerReportQualityScreenshareAudioProducerCumulativeRTT]

Cumulative latency distribution (milliseconds-based thresholds).

_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_video_consumer: Optional[List[DataParticipantPeerReportQualityScreenshareVideoConsumer]]
bytes_received: Optional[float]
consumer_id: Optional[str]
fir_count: Optional[float]
frame_height: Optional[float]
frame_width: Optional[float]
frames_decoded: Optional[float]
frames_dropped: Optional[float]
frames_per_second: Optional[float]
jitter: Optional[float]
jitter_buffer_delay: Optional[float]
jitter_buffer_emitted_count: Optional[float]
key_frames_decoded: Optional[float]
mid: Optional[str]
mos_quality: Optional[float]
packets_lost: Optional[float]
packets_received: Optional[float]
peer_id: Optional[str]
producer_id: Optional[str]
ssrc: Optional[float]
timestamp: Optional[str]
screenshare_video_consumer_cumulative: Optional[DataParticipantPeerReportQualityScreenshareVideoConsumerCumulative]

Aggregated inbound (consumer) video statistics for the session.

frame_per_second: Optional[DataParticipantPeerReportQualityScreenshareVideoConsumerCumulativeFramePerSecond]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
frame_width: Optional[DataParticipantPeerReportQualityScreenshareVideoConsumerCumulativeFrameWidth]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
issues: Optional[DataParticipantPeerReportQualityScreenshareVideoConsumerCumulativeIssues]
lag_fraction: Optional[float]
no_video_fraction: Optional[float]
poor_resolution_fraction: Optional[float]
jitter_buffer_delay: Optional[DataParticipantPeerReportQualityScreenshareVideoConsumerCumulativeJitterBufferDelay]

Cumulative latency distribution (milliseconds-based thresholds).

_100ms_or_greater_event_fraction: Optional[float]
_250ms_or_greater_event_fraction: Optional[float]
_500ms_or_greater_event_fraction: Optional[float]
avg: Optional[float]
key_frames_decoded_fraction: Optional[float]
packet_loss: Optional[DataParticipantPeerReportQualityScreenshareVideoConsumerCumulativePacketLoss]

Cumulative packet loss distribution.

_10_or_greater_event_fraction: Optional[float]
_25_or_greater_event_fraction: Optional[float]
_5_or_greater_event_fraction: Optional[float]
_50_or_greater_event_fraction: Optional[float]
avg: Optional[float]
quality_mos: Optional[DataParticipantPeerReportQualityScreenshareVideoConsumerCumulativeQualityMos]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
screenshare_video_producer: Optional[List[DataParticipantPeerReportQualityScreenshareVideoProducer]]
bytes_sent: Optional[float]
fir_count: Optional[float]
frame_height: Optional[float]
frame_width: Optional[float]
frames_encoded: Optional[float]
frames_per_second: Optional[float]
jitter: Optional[float]
key_frames_encoded: Optional[float]
mid: Optional[str]
mos_quality: Optional[float]
packets_lost: Optional[float]
packets_sent: Optional[float]
pli_count: Optional[float]
producer_id: Optional[str]
quality_limitation_durations: Optional[DataParticipantPeerReportQualityScreenshareVideoProducerQualityLimitationDurations]
bandwidth: Optional[float]
cpu: Optional[float]
none: Optional[float]
other: Optional[float]
quality_limitation_reason: Optional[Literal["cpu", "bandwidth", "none", "other"]]
One of the following:
"cpu"
"bandwidth"
"none"
"other"
quality_limitation_resolution_changes: Optional[float]
rtt: Optional[float]
ssrc: Optional[float]
timestamp: Optional[str]
screenshare_video_producer_cumulative: Optional[DataParticipantPeerReportQualityScreenshareVideoProducerCumulative]

Aggregated outbound (producer) video statistics for the session.

frame_per_second: Optional[DataParticipantPeerReportQualityScreenshareVideoProducerCumulativeFramePerSecond]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
frame_width: Optional[DataParticipantPeerReportQualityScreenshareVideoProducerCumulativeFrameWidth]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
high_negative_feedback_fraction: Optional[float]
issues: Optional[DataParticipantPeerReportQualityScreenshareVideoProducerCumulativeIssues]
bandwidth_quality_limitation_fraction: Optional[float]
cpu_quality_limitation_fraction: Optional[float]
no_video_fraction: Optional[float]
poor_resolution_fraction: Optional[float]
quality_limitation_fraction: Optional[float]
key_frames_encoded_fraction: Optional[float]
packet_loss: Optional[DataParticipantPeerReportQualityScreenshareVideoProducerCumulativePacketLoss]

Cumulative packet loss distribution.

_10_or_greater_event_fraction: Optional[float]
_25_or_greater_event_fraction: Optional[float]
_5_or_greater_event_fraction: Optional[float]
_50_or_greater_event_fraction: Optional[float]
avg: Optional[float]
quality_mos: Optional[DataParticipantPeerReportQualityScreenshareVideoProducerCumulativeQualityMos]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
rtt: Optional[DataParticipantPeerReportQualityScreenshareVideoProducerCumulativeRTT]

Cumulative latency distribution (milliseconds-based thresholds).

_100ms_or_greater_event_fraction: Optional[float]
_250ms_or_greater_event_fraction: Optional[float]
_500ms_or_greater_event_fraction: Optional[float]
avg: Optional[float]
video_consumer: Optional[List[DataParticipantPeerReportQualityVideoConsumer]]
bytes_received: Optional[float]
consumer_id: Optional[str]
fir_count: Optional[float]
frame_height: Optional[float]
frame_width: Optional[float]
frames_decoded: Optional[float]
frames_dropped: Optional[float]
frames_per_second: Optional[float]
jitter: Optional[float]
jitter_buffer_delay: Optional[float]
jitter_buffer_emitted_count: Optional[float]
key_frames_decoded: Optional[float]
mid: Optional[str]
mos_quality: Optional[float]
packets_lost: Optional[float]
packets_received: Optional[float]
peer_id: Optional[str]
producer_id: Optional[str]
ssrc: Optional[float]
timestamp: Optional[str]
video_consumer_cumulative: Optional[DataParticipantPeerReportQualityVideoConsumerCumulative]

Aggregated inbound (consumer) video statistics for the session.

frame_per_second: Optional[DataParticipantPeerReportQualityVideoConsumerCumulativeFramePerSecond]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
frame_width: Optional[DataParticipantPeerReportQualityVideoConsumerCumulativeFrameWidth]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
issues: Optional[DataParticipantPeerReportQualityVideoConsumerCumulativeIssues]
lag_fraction: Optional[float]
no_video_fraction: Optional[float]
poor_resolution_fraction: Optional[float]
jitter_buffer_delay: Optional[DataParticipantPeerReportQualityVideoConsumerCumulativeJitterBufferDelay]

Cumulative latency distribution (milliseconds-based thresholds).

_100ms_or_greater_event_fraction: Optional[float]
_250ms_or_greater_event_fraction: Optional[float]
_500ms_or_greater_event_fraction: Optional[float]
avg: Optional[float]
key_frames_decoded_fraction: Optional[float]
packet_loss: Optional[DataParticipantPeerReportQualityVideoConsumerCumulativePacketLoss]

Cumulative packet loss distribution.

_10_or_greater_event_fraction: Optional[float]
_25_or_greater_event_fraction: Optional[float]
_5_or_greater_event_fraction: Optional[float]
_50_or_greater_event_fraction: Optional[float]
avg: Optional[float]
quality_mos: Optional[DataParticipantPeerReportQualityVideoConsumerCumulativeQualityMos]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
video_producer: Optional[List[DataParticipantPeerReportQualityVideoProducer]]
bytes_sent: Optional[float]
fir_count: Optional[float]
frame_height: Optional[float]
frame_width: Optional[float]
frames_encoded: Optional[float]
frames_per_second: Optional[float]
jitter: Optional[float]
key_frames_encoded: Optional[float]
mid: Optional[str]
mos_quality: Optional[float]
packets_lost: Optional[float]
packets_sent: Optional[float]
pli_count: Optional[float]
producer_id: Optional[str]
quality_limitation_durations: Optional[DataParticipantPeerReportQualityVideoProducerQualityLimitationDurations]
bandwidth: Optional[float]
cpu: Optional[float]
none: Optional[float]
other: Optional[float]
quality_limitation_reason: Optional[Literal["cpu", "bandwidth", "none", "other"]]
One of the following:
"cpu"
"bandwidth"
"none"
"other"
quality_limitation_resolution_changes: Optional[float]
rtt: Optional[float]
ssrc: Optional[float]
timestamp: Optional[str]
video_producer_cumulative: Optional[DataParticipantPeerReportQualityVideoProducerCumulative]

Aggregated outbound (producer) video statistics for the session.

frame_per_second: Optional[DataParticipantPeerReportQualityVideoProducerCumulativeFramePerSecond]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
frame_width: Optional[DataParticipantPeerReportQualityVideoProducerCumulativeFrameWidth]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
high_negative_feedback_fraction: Optional[float]
issues: Optional[DataParticipantPeerReportQualityVideoProducerCumulativeIssues]
bandwidth_quality_limitation_fraction: Optional[float]
cpu_quality_limitation_fraction: Optional[float]
no_video_fraction: Optional[float]
poor_resolution_fraction: Optional[float]
quality_limitation_fraction: Optional[float]
key_frames_encoded_fraction: Optional[float]
packet_loss: Optional[DataParticipantPeerReportQualityVideoProducerCumulativePacketLoss]

Cumulative packet loss distribution.

_10_or_greater_event_fraction: Optional[float]
_25_or_greater_event_fraction: Optional[float]
_5_or_greater_event_fraction: Optional[float]
_50_or_greater_event_fraction: Optional[float]
avg: Optional[float]
quality_mos: Optional[DataParticipantPeerReportQualityVideoProducerCumulativeQualityMos]

Distribution summary with average and percentiles.

avg: Optional[float]
p50: Optional[float]
p75: Optional[float]
p90: Optional[float]
rtt: Optional[DataParticipantPeerReportQualityVideoProducerCumulativeRTT]

Cumulative latency distribution (milliseconds-based thresholds).

_100ms_or_greater_event_fraction: Optional[float]
_250ms_or_greater_event_fraction: Optional[float]
_500ms_or_greater_event_fraction: Optional[float]
avg: Optional[float]
role: Optional[str]

Name of the preset associated with the participant.

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

Fetch details of peer

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
response = client.realtime_kit.sessions.get_participant_data_from_peer_id(
    peer_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    account_id="023e105f4ecef8ad9ca31a8372d0c353",
    app_id="app_id",
)
print(response.data)
{
  "data": {
    "participant": {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "created_at": "created_at",
      "custom_participant_id": "custom_participant_id",
      "display_name": "display_name",
      "duration": 0,
      "joined_at": "joined_at",
      "left_at": "left_at",
      "peer_events": [
        {
          "id": "id",
          "created_at": "created_at",
          "event_name": "PEER_CREATED",
          "minutes_consumed": 0,
          "participant_id": "participant_id",
          "peer_id": "peer_id",
          "preset_view_type": "GROUP_CALL",
          "session_id": "session_id",
          "socket_session_id": "socket_session_id",
          "updated_at": "updated_at"
        }
      ],
      "peer_report": {
        "metadata": {
          "audio_devices_updates": [
            {
              "added": [
                {
                  "device_id": "device_id",
                  "kind": "kind",
                  "label": "label"
                }
              ],
              "removed": [
                {
                  "device_id": "device_id",
                  "kind": "kind",
                  "label": "label"
                }
              ],
              "timestamp": "timestamp"
            }
          ],
          "browser_metadata": {
            "browser": "browser",
            "browser_version": "browser_version",
            "engine": "engine",
            "user_agent": "user_agent",
            "webgl_support": true
          },
          "candidate_pairs": {
            "consuming_transport": [
              {
                "available_incoming_bitrate": 0,
                "available_outgoing_bitrate": 0,
                "bytes_discarded_on_send": 0,
                "bytes_received": 0,
                "bytes_sent": 0,
                "current_round_trip_time": 0,
                "last_packet_received_timestamp": 0,
                "last_packet_sent_timestamp": 0,
                "local_candidate_address": "local_candidate_address",
                "local_candidate_id": "local_candidate_id",
                "local_candidate_network_type": "local_candidate_network_type",
                "local_candidate_port": 0,
                "local_candidate_protocol": "local_candidate_protocol",
                "local_candidate_related_address": "local_candidate_related_address",
                "local_candidate_related_port": 0,
                "local_candidate_type": "local_candidate_type",
                "local_candidate_url": "local_candidate_url",
                "nominated": true,
                "packets_discarded_on_send": 0,
                "packets_received": 0,
                "packets_sent": 0,
                "remote_candidate_address": "remote_candidate_address",
                "remote_candidate_id": "remote_candidate_id",
                "remote_candidate_port": 0,
                "remote_candidate_protocol": "remote_candidate_protocol",
                "remote_candidate_type": "remote_candidate_type",
                "remote_candidate_url": "remote_candidate_url",
                "total_round_trip_time": 0
              }
            ],
            "producing_transport": [
              {
                "available_incoming_bitrate": 0,
                "available_outgoing_bitrate": 0,
                "bytes_discarded_on_send": 0,
                "bytes_received": 0,
                "bytes_sent": 0,
                "current_round_trip_time": 0,
                "last_packet_received_timestamp": 0,
                "last_packet_sent_timestamp": 0,
                "local_candidate_address": "local_candidate_address",
                "local_candidate_id": "local_candidate_id",
                "local_candidate_network_type": "local_candidate_network_type",
                "local_candidate_port": 0,
                "local_candidate_protocol": "local_candidate_protocol",
                "local_candidate_related_address": "local_candidate_related_address",
                "local_candidate_related_port": 0,
                "local_candidate_type": "local_candidate_type",
                "local_candidate_url": "local_candidate_url",
                "nominated": true,
                "packets_discarded_on_send": 0,
                "packets_received": 0,
                "packets_sent": 0,
                "remote_candidate_address": "remote_candidate_address",
                "remote_candidate_id": "remote_candidate_id",
                "remote_candidate_port": 0,
                "remote_candidate_protocol": "remote_candidate_protocol",
                "remote_candidate_type": "remote_candidate_type",
                "remote_candidate_url": "remote_candidate_url",
                "total_round_trip_time": 0
              }
            ]
          },
          "device_info": {
            "cpus": 0,
            "is_mobile": true,
            "os": "os",
            "os_version": "os_version"
          },
          "events": [
            {
              "metadata": {
                "foo": "string"
              },
              "name": "name",
              "timestamp": "timestamp"
            }
          ],
          "ip_information": {
            "asn": {
              "asn": "asn",
              "domain": "domain",
              "name": "name",
              "route": "route",
              "type": "type"
            },
            "city": "city",
            "country": "country",
            "ipv4": "ipv4",
            "org": "org",
            "region": "region",
            "timezone": "timezone"
          },
          "native_metadata": {
            "audio_encoder": "audio_encoder",
            "video_encoder": "video_encoder"
          },
          "pc_metadata": [
            {
              "effective_network_type": "effective_network_type",
              "reflexive_connectivity": true,
              "relay_connectivity": true,
              "sdp": [
                "string"
              ],
              "timestamp": "timestamp",
              "turn_connectivity": true
            }
          ],
          "room_view_type": "room_view_type",
          "sdk_name": "sdk_name",
          "sdk_type": "sdk_type",
          "sdk_version": "sdk_version",
          "selected_device_updates": [
            {
              "device": {
                "device_id": "device_id",
                "kind": "kind",
                "label": "label"
              },
              "timestamp": "timestamp"
            }
          ],
          "speaker_devices_updates": [
            {
              "added": [
                {
                  "device_id": "device_id",
                  "kind": "kind",
                  "label": "label"
                }
              ],
              "removed": [
                {
                  "device_id": "device_id",
                  "kind": "kind",
                  "label": "label"
                }
              ],
              "timestamp": "timestamp"
            }
          ],
          "video_devices_updates": [
            {
              "added": [
                {
                  "device_id": "device_id",
                  "kind": "kind",
                  "label": "label"
                }
              ],
              "removed": [
                {
                  "device_id": "device_id",
                  "kind": "kind",
                  "label": "label"
                }
              ],
              "timestamp": "timestamp"
            }
          ]
        },
        "quality": {
          "audio_consumer": [
            {
              "bytes_received": 0,
              "concealment_events": 0,
              "consumer_id": "consumer_id",
              "jitter": 0,
              "jitter_buffer_delay": 0,
              "jitter_buffer_emitted_count": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_received": 0,
              "peer_id": "peer_id",
              "producer_id": "producer_id",
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "audio_consumer_cumulative": {
            "jitter_buffer_delay": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            },
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            }
          },
          "audio_producer": [
            {
              "bytes_sent": 0,
              "jitter": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_sent": 0,
              "producer_id": "producer_id",
              "rtt": 0,
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "audio_producer_cumulative": {
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "rtt": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            }
          },
          "screenshare_audio_consumer": [
            {
              "bytes_received": 0,
              "concealment_events": 0,
              "consumer_id": "consumer_id",
              "jitter": 0,
              "jitter_buffer_delay": 0,
              "jitter_buffer_emitted_count": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_received": 0,
              "peer_id": "peer_id",
              "producer_id": "producer_id",
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "screenshare_audio_consumer_cumulative": {
            "jitter_buffer_delay": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            },
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            }
          },
          "screenshare_audio_producer": [
            {
              "bytes_sent": 0,
              "jitter": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_sent": 0,
              "producer_id": "producer_id",
              "rtt": 0,
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "screenshare_audio_producer_cumulative": {
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "rtt": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            }
          },
          "screenshare_video_consumer": [
            {
              "bytes_received": 0,
              "consumer_id": "consumer_id",
              "fir_count": 0,
              "frame_height": 0,
              "frame_width": 0,
              "frames_decoded": 0,
              "frames_dropped": 0,
              "frames_per_second": 0,
              "jitter": 0,
              "jitter_buffer_delay": 0,
              "jitter_buffer_emitted_count": 0,
              "key_frames_decoded": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_received": 0,
              "peer_id": "peer_id",
              "producer_id": "producer_id",
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "screenshare_video_consumer_cumulative": {
            "frame_per_second": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "frame_width": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "issues": {
              "lag_fraction": 0,
              "no_video_fraction": 0,
              "poor_resolution_fraction": 0
            },
            "jitter_buffer_delay": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            },
            "key_frames_decoded_fraction": 0,
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            }
          },
          "screenshare_video_producer": [
            {
              "bytes_sent": 0,
              "fir_count": 0,
              "frame_height": 0,
              "frame_width": 0,
              "frames_encoded": 0,
              "frames_per_second": 0,
              "jitter": 0,
              "key_frames_encoded": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_sent": 0,
              "pli_count": 0,
              "producer_id": "producer_id",
              "quality_limitation_durations": {
                "bandwidth": 0,
                "cpu": 0,
                "none": 0,
                "other": 0
              },
              "quality_limitation_reason": "cpu",
              "quality_limitation_resolution_changes": 0,
              "rtt": 0,
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "screenshare_video_producer_cumulative": {
            "frame_per_second": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "frame_width": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "high_negative_feedback_fraction": 0,
            "issues": {
              "bandwidth_quality_limitation_fraction": 0,
              "cpu_quality_limitation_fraction": 0,
              "no_video_fraction": 0,
              "poor_resolution_fraction": 0,
              "quality_limitation_fraction": 0
            },
            "key_frames_encoded_fraction": 0,
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "rtt": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            }
          },
          "video_consumer": [
            {
              "bytes_received": 0,
              "consumer_id": "consumer_id",
              "fir_count": 0,
              "frame_height": 0,
              "frame_width": 0,
              "frames_decoded": 0,
              "frames_dropped": 0,
              "frames_per_second": 0,
              "jitter": 0,
              "jitter_buffer_delay": 0,
              "jitter_buffer_emitted_count": 0,
              "key_frames_decoded": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_received": 0,
              "peer_id": "peer_id",
              "producer_id": "producer_id",
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "video_consumer_cumulative": {
            "frame_per_second": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "frame_width": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "issues": {
              "lag_fraction": 0,
              "no_video_fraction": 0,
              "poor_resolution_fraction": 0
            },
            "jitter_buffer_delay": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            },
            "key_frames_decoded_fraction": 0,
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            }
          },
          "video_producer": [
            {
              "bytes_sent": 0,
              "fir_count": 0,
              "frame_height": 0,
              "frame_width": 0,
              "frames_encoded": 0,
              "frames_per_second": 0,
              "jitter": 0,
              "key_frames_encoded": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_sent": 0,
              "pli_count": 0,
              "producer_id": "producer_id",
              "quality_limitation_durations": {
                "bandwidth": 0,
                "cpu": 0,
                "none": 0,
                "other": 0
              },
              "quality_limitation_reason": "cpu",
              "quality_limitation_resolution_changes": 0,
              "rtt": 0,
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "video_producer_cumulative": {
            "frame_per_second": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "frame_width": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "high_negative_feedback_fraction": 0,
            "issues": {
              "bandwidth_quality_limitation_fraction": 0,
              "cpu_quality_limitation_fraction": 0,
              "no_video_fraction": 0,
              "poor_resolution_fraction": 0,
              "quality_limitation_fraction": 0
            },
            "key_frames_encoded_fraction": 0,
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "rtt": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            }
          }
        }
      },
      "role": "role",
      "session_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "updated_at": "updated_at",
      "user_id": "user_id"
    }
  },
  "success": true
}
Returns Examples
{
  "data": {
    "participant": {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "created_at": "created_at",
      "custom_participant_id": "custom_participant_id",
      "display_name": "display_name",
      "duration": 0,
      "joined_at": "joined_at",
      "left_at": "left_at",
      "peer_events": [
        {
          "id": "id",
          "created_at": "created_at",
          "event_name": "PEER_CREATED",
          "minutes_consumed": 0,
          "participant_id": "participant_id",
          "peer_id": "peer_id",
          "preset_view_type": "GROUP_CALL",
          "session_id": "session_id",
          "socket_session_id": "socket_session_id",
          "updated_at": "updated_at"
        }
      ],
      "peer_report": {
        "metadata": {
          "audio_devices_updates": [
            {
              "added": [
                {
                  "device_id": "device_id",
                  "kind": "kind",
                  "label": "label"
                }
              ],
              "removed": [
                {
                  "device_id": "device_id",
                  "kind": "kind",
                  "label": "label"
                }
              ],
              "timestamp": "timestamp"
            }
          ],
          "browser_metadata": {
            "browser": "browser",
            "browser_version": "browser_version",
            "engine": "engine",
            "user_agent": "user_agent",
            "webgl_support": true
          },
          "candidate_pairs": {
            "consuming_transport": [
              {
                "available_incoming_bitrate": 0,
                "available_outgoing_bitrate": 0,
                "bytes_discarded_on_send": 0,
                "bytes_received": 0,
                "bytes_sent": 0,
                "current_round_trip_time": 0,
                "last_packet_received_timestamp": 0,
                "last_packet_sent_timestamp": 0,
                "local_candidate_address": "local_candidate_address",
                "local_candidate_id": "local_candidate_id",
                "local_candidate_network_type": "local_candidate_network_type",
                "local_candidate_port": 0,
                "local_candidate_protocol": "local_candidate_protocol",
                "local_candidate_related_address": "local_candidate_related_address",
                "local_candidate_related_port": 0,
                "local_candidate_type": "local_candidate_type",
                "local_candidate_url": "local_candidate_url",
                "nominated": true,
                "packets_discarded_on_send": 0,
                "packets_received": 0,
                "packets_sent": 0,
                "remote_candidate_address": "remote_candidate_address",
                "remote_candidate_id": "remote_candidate_id",
                "remote_candidate_port": 0,
                "remote_candidate_protocol": "remote_candidate_protocol",
                "remote_candidate_type": "remote_candidate_type",
                "remote_candidate_url": "remote_candidate_url",
                "total_round_trip_time": 0
              }
            ],
            "producing_transport": [
              {
                "available_incoming_bitrate": 0,
                "available_outgoing_bitrate": 0,
                "bytes_discarded_on_send": 0,
                "bytes_received": 0,
                "bytes_sent": 0,
                "current_round_trip_time": 0,
                "last_packet_received_timestamp": 0,
                "last_packet_sent_timestamp": 0,
                "local_candidate_address": "local_candidate_address",
                "local_candidate_id": "local_candidate_id",
                "local_candidate_network_type": "local_candidate_network_type",
                "local_candidate_port": 0,
                "local_candidate_protocol": "local_candidate_protocol",
                "local_candidate_related_address": "local_candidate_related_address",
                "local_candidate_related_port": 0,
                "local_candidate_type": "local_candidate_type",
                "local_candidate_url": "local_candidate_url",
                "nominated": true,
                "packets_discarded_on_send": 0,
                "packets_received": 0,
                "packets_sent": 0,
                "remote_candidate_address": "remote_candidate_address",
                "remote_candidate_id": "remote_candidate_id",
                "remote_candidate_port": 0,
                "remote_candidate_protocol": "remote_candidate_protocol",
                "remote_candidate_type": "remote_candidate_type",
                "remote_candidate_url": "remote_candidate_url",
                "total_round_trip_time": 0
              }
            ]
          },
          "device_info": {
            "cpus": 0,
            "is_mobile": true,
            "os": "os",
            "os_version": "os_version"
          },
          "events": [
            {
              "metadata": {
                "foo": "string"
              },
              "name": "name",
              "timestamp": "timestamp"
            }
          ],
          "ip_information": {
            "asn": {
              "asn": "asn",
              "domain": "domain",
              "name": "name",
              "route": "route",
              "type": "type"
            },
            "city": "city",
            "country": "country",
            "ipv4": "ipv4",
            "org": "org",
            "region": "region",
            "timezone": "timezone"
          },
          "native_metadata": {
            "audio_encoder": "audio_encoder",
            "video_encoder": "video_encoder"
          },
          "pc_metadata": [
            {
              "effective_network_type": "effective_network_type",
              "reflexive_connectivity": true,
              "relay_connectivity": true,
              "sdp": [
                "string"
              ],
              "timestamp": "timestamp",
              "turn_connectivity": true
            }
          ],
          "room_view_type": "room_view_type",
          "sdk_name": "sdk_name",
          "sdk_type": "sdk_type",
          "sdk_version": "sdk_version",
          "selected_device_updates": [
            {
              "device": {
                "device_id": "device_id",
                "kind": "kind",
                "label": "label"
              },
              "timestamp": "timestamp"
            }
          ],
          "speaker_devices_updates": [
            {
              "added": [
                {
                  "device_id": "device_id",
                  "kind": "kind",
                  "label": "label"
                }
              ],
              "removed": [
                {
                  "device_id": "device_id",
                  "kind": "kind",
                  "label": "label"
                }
              ],
              "timestamp": "timestamp"
            }
          ],
          "video_devices_updates": [
            {
              "added": [
                {
                  "device_id": "device_id",
                  "kind": "kind",
                  "label": "label"
                }
              ],
              "removed": [
                {
                  "device_id": "device_id",
                  "kind": "kind",
                  "label": "label"
                }
              ],
              "timestamp": "timestamp"
            }
          ]
        },
        "quality": {
          "audio_consumer": [
            {
              "bytes_received": 0,
              "concealment_events": 0,
              "consumer_id": "consumer_id",
              "jitter": 0,
              "jitter_buffer_delay": 0,
              "jitter_buffer_emitted_count": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_received": 0,
              "peer_id": "peer_id",
              "producer_id": "producer_id",
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "audio_consumer_cumulative": {
            "jitter_buffer_delay": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            },
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            }
          },
          "audio_producer": [
            {
              "bytes_sent": 0,
              "jitter": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_sent": 0,
              "producer_id": "producer_id",
              "rtt": 0,
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "audio_producer_cumulative": {
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "rtt": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            }
          },
          "screenshare_audio_consumer": [
            {
              "bytes_received": 0,
              "concealment_events": 0,
              "consumer_id": "consumer_id",
              "jitter": 0,
              "jitter_buffer_delay": 0,
              "jitter_buffer_emitted_count": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_received": 0,
              "peer_id": "peer_id",
              "producer_id": "producer_id",
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "screenshare_audio_consumer_cumulative": {
            "jitter_buffer_delay": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            },
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            }
          },
          "screenshare_audio_producer": [
            {
              "bytes_sent": 0,
              "jitter": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_sent": 0,
              "producer_id": "producer_id",
              "rtt": 0,
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "screenshare_audio_producer_cumulative": {
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "rtt": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            }
          },
          "screenshare_video_consumer": [
            {
              "bytes_received": 0,
              "consumer_id": "consumer_id",
              "fir_count": 0,
              "frame_height": 0,
              "frame_width": 0,
              "frames_decoded": 0,
              "frames_dropped": 0,
              "frames_per_second": 0,
              "jitter": 0,
              "jitter_buffer_delay": 0,
              "jitter_buffer_emitted_count": 0,
              "key_frames_decoded": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_received": 0,
              "peer_id": "peer_id",
              "producer_id": "producer_id",
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "screenshare_video_consumer_cumulative": {
            "frame_per_second": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "frame_width": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "issues": {
              "lag_fraction": 0,
              "no_video_fraction": 0,
              "poor_resolution_fraction": 0
            },
            "jitter_buffer_delay": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            },
            "key_frames_decoded_fraction": 0,
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            }
          },
          "screenshare_video_producer": [
            {
              "bytes_sent": 0,
              "fir_count": 0,
              "frame_height": 0,
              "frame_width": 0,
              "frames_encoded": 0,
              "frames_per_second": 0,
              "jitter": 0,
              "key_frames_encoded": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_sent": 0,
              "pli_count": 0,
              "producer_id": "producer_id",
              "quality_limitation_durations": {
                "bandwidth": 0,
                "cpu": 0,
                "none": 0,
                "other": 0
              },
              "quality_limitation_reason": "cpu",
              "quality_limitation_resolution_changes": 0,
              "rtt": 0,
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "screenshare_video_producer_cumulative": {
            "frame_per_second": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "frame_width": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "high_negative_feedback_fraction": 0,
            "issues": {
              "bandwidth_quality_limitation_fraction": 0,
              "cpu_quality_limitation_fraction": 0,
              "no_video_fraction": 0,
              "poor_resolution_fraction": 0,
              "quality_limitation_fraction": 0
            },
            "key_frames_encoded_fraction": 0,
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "rtt": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            }
          },
          "video_consumer": [
            {
              "bytes_received": 0,
              "consumer_id": "consumer_id",
              "fir_count": 0,
              "frame_height": 0,
              "frame_width": 0,
              "frames_decoded": 0,
              "frames_dropped": 0,
              "frames_per_second": 0,
              "jitter": 0,
              "jitter_buffer_delay": 0,
              "jitter_buffer_emitted_count": 0,
              "key_frames_decoded": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_received": 0,
              "peer_id": "peer_id",
              "producer_id": "producer_id",
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "video_consumer_cumulative": {
            "frame_per_second": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "frame_width": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "issues": {
              "lag_fraction": 0,
              "no_video_fraction": 0,
              "poor_resolution_fraction": 0
            },
            "jitter_buffer_delay": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            },
            "key_frames_decoded_fraction": 0,
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            }
          },
          "video_producer": [
            {
              "bytes_sent": 0,
              "fir_count": 0,
              "frame_height": 0,
              "frame_width": 0,
              "frames_encoded": 0,
              "frames_per_second": 0,
              "jitter": 0,
              "key_frames_encoded": 0,
              "mid": "mid",
              "mos_quality": 0,
              "packets_lost": 0,
              "packets_sent": 0,
              "pli_count": 0,
              "producer_id": "producer_id",
              "quality_limitation_durations": {
                "bandwidth": 0,
                "cpu": 0,
                "none": 0,
                "other": 0
              },
              "quality_limitation_reason": "cpu",
              "quality_limitation_resolution_changes": 0,
              "rtt": 0,
              "ssrc": 0,
              "timestamp": "timestamp"
            }
          ],
          "video_producer_cumulative": {
            "frame_per_second": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "frame_width": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "high_negative_feedback_fraction": 0,
            "issues": {
              "bandwidth_quality_limitation_fraction": 0,
              "cpu_quality_limitation_fraction": 0,
              "no_video_fraction": 0,
              "poor_resolution_fraction": 0,
              "quality_limitation_fraction": 0
            },
            "key_frames_encoded_fraction": 0,
            "packet_loss": {
              "10_or_greater_event_fraction": 0,
              "25_or_greater_event_fraction": 0,
              "5_or_greater_event_fraction": 0,
              "50_or_greater_event_fraction": 0,
              "avg": 0
            },
            "quality_mos": {
              "avg": 0,
              "p50": 0,
              "p75": 0,
              "p90": 0
            },
            "rtt": {
              "100ms_or_greater_event_fraction": 0,
              "250ms_or_greater_event_fraction": 0,
              "500ms_or_greater_event_fraction": 0,
              "avg": 0
            }
          }
        }
      },
      "role": "role",
      "session_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "updated_at": "updated_at",
      "user_id": "user_id"
    }
  },
  "success": true
}