QSS
- OpenAPI Version:
3.1.1 - API Version:
2
Zoom Quality of Service Subscription (QSS) is an add-on product that enables Developers to receive details about the network traffic in near real-time for users, hosts, and participants in their meetings, webinars, and phone calls. This data can be used to proactively troubleshoot and identify issues as quickly as possible. Contact Zoom Sales to add this feature.
Requirements
In addition to having the QSS product on your account, at least one user on the account must have Developer permissions enabled to be able to create an application that can subscribe to QSS events. This user should create a Zoom app to receive notifications.
Enabling QSS event notifications
On the Feature page for the Marketplace app, enable Event Subscription and add the Event notification endpoint URL to send the webhooks. Click Add events and select QSS. Select the QSS events that you'd like to receive.
Note that you must subscribe to the QSS summary event to receive data from the QoS summary APIs.
Servers
- URL:
https://api.zoom.us/v2
Operations
List meeting participants QoS Summary
- Method:
GET - Path:
/metrics/meetings/{meetingId}/participants/qos_summary - Tags: Dashboards
Returns a list of meeting participants from past meetings and the summary of their quality of service received during the meeting. The data returned indicates the connection quality for sending or receiving video, audio, and shared content.
Note:
This API may return empty values for participants' user_name and email responses when the account calling this API:
- Is a legacy HIPAA BAA account.
- Displays data for any users who are not part of the host's account (external users) unless they meet certain conditions. See Email address display rules for details.
Prerequisites:
- A Business or a higher plan.
- Developers must subscribe to the QSS summary event to receive data from this API.
Scopes: dashboard_meetings:read:admin,dashboard:read:admin
Granular Scopes: dashboard:read:list_meeting_participants_qos:admin
Rate Limit Label: HEAVY
Responses
Status: 200 **HTTP Status Code:** `200` <br> Meeting QoS summary returned. Only available for paid accounts that have enabled the dashboard feature.
Content-Type: application/json
All of:
-
next_page_tokenstring— Use the next page token to paginate through large result sets. A next page token is returned whenever the set of available results exceeds the page size. This token's expiration period is 15 minutes. -
page_sizeinteger, default:30— The number of records returned within a single API call.
-
participantsarray— Information about the participant.Items:
-
emailstring, format:email— The participant's email address. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#email-address) for details. -
idstring— The participant's universally unique ID. This value is the same as the participant's user ID if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging into Zoom, this returns an empty value. -
participant_idstring— The participant's ID. This value is assigned to a participant upon joining a meeting and is only valid for the meeting's duration. -
qosarray— The summary of participant's quality of service information.Items:
-
detailsobject— The participant QoS summary details.-
avg_bitratestring— The average amount of bitrate, in kbps. -
avg_frame_ratestring— The average amount of frame rate, in fps. -
avg_jitterstring— The average amount of jitter, in milliseconds. -
avg_latencystring— The average amount of latency, in milliseconds. -
avg_lossstring— The average amount of packet loss. -
max_bitratestring— The maximum amount of bitrate, in kbps. -
max_frame_ratestring— The maximum amount of frame rate, in fps. -
max_jitterstring— The maximum amount of jitter, in milliseconds. -
max_latencystring— The maximum amount of latency, in milliseconds. -
max_lossstring— The maximum amount of packet loss. -
min_bitratestring— The minimum amount of bitrate, in kbps. -
min_frame_ratestring— The minimum amount of frame rate, in fps. -
min_jitterstring— The minimum amount of jitter, in milliseconds. -
min_latencystring— The minimum amount of latency, in milliseconds. -
min_lossstring— The minimum amount of packet loss. -
resolutionstring— The number of pixels in each dimension that the video camera can display. -
system_avg_cpu_pressure_levelstring, possible values:"normal", "fair", "serious", "critical"— The system's average CPU pressure level. -
system_max_cpu_pressure_levelstring, possible values:"critical", "serious", "fair", "normal"— The system's maximum CPU pressure level. -
system_max_cpu_usagestring— The system's maximum CPU usage. -
system_min_cpu_pressure_levelstring, possible values:"normal", "fair", "serious", "critical"— The system's minimum CPU pressure level. -
zoom_avg_cpu_usagestring— Zoom's average CPU usage. -
zoom_max_cpu_usagestring— Zoom's maximum CPU usage. -
zoom_min_cpu_usagestring— Zoom's minimum CPU usage.
-
-
typestring, possible values:"audio_input", "audio_output", "video_input", "video_output", "as_input", "as_output", "cpu_usage", "audio_device_from_crc", "audio_device_to_crc", "video_device_from_crc", "video_device_to_crc", "as_device_from_crc", "as_device_to_crc", "audio_device_from_rwg", "audio_device_to_rwg", "video_device_from_rwg", "video_device_to_rwg", "as_device_from_rwg", "as_device_to_rwg"— The type of quality of service (QoS) metrics, from the point of view of the client. * `audio_input` - The QoS metrics for audio received by the client. * `audio_output` - The QoS metrics for audio sent by the client. * `video_input` - The QoS metrics for video input being received by the client. * `video_output` - The QoS metrics for video output being received by the client. * `as_input` - The QoS metrics for screen sharing by a participant. * `as_output` - The QoS metrics for screen sharing output received by a participant. * `cpu_usage` - The QoS metrics for CPU usage. * `audio_device_from_crc` - The QoS metrics for audio sent by a participant who joined the meeting via a Cloud Room Connector (CRC). * `audio_device_to_crc` - The QoS metrics for audio received by a participant who joined the meeting via CRC. * `video_device_from_crc` - The QoS metrics for video input being sent by a participant who joined the meeting via CRC. * `video_device_to_crc` - The QoS metrics for video output being sent by a participant who joined the meeting via CRC. * `as_device_from_crc` - The QoS metrics for screen sharing by a participant who joined the meeting via CRC. * `as_device_to_crc` - The QoS metrics for screen sharing output received by a participant who joined the meeting via CRC. * `audio_device_from_rwg` - The QoS metrics for audio sent by a user who joined via the web gateway. * `audio_device_to_rwg` - The QoS metrics for audio received by a user who joined via the web gateway. * `video_device_from_rwg` - The QoS metrics for video sent by a user who joined via the web gateway. * `video_device_to_rwg` - The QoS metrics for video received by a user who joined via the web gateway. * `as_device_from_rwg` - The QoS metrics for screen sharing sent by a user who joined via the web gateway. * `as_device_to_rwg` - The QoS metrics for screen sharing received by a user who joined via the web gateway.
-
-
user_namestring— The participant's display name.
-
Example:
{
"next_page_token": "uBTK3NzNksdkuCUAQaFVFd86kyOr59zg4U2",
"page_size": 30,
"participants": [
{
"id": "zJKyaiAyTNC-MWjiWC18KQ",
"participant_id": "20161536",
"user_name": "jchill",
"email": "user@example.com",
"qos": [
{
"type": "audio_input",
"details": {
"min_bitrate": "27.15kbps",
"avg_bitrate": "27.15kbps",
"max_bitrate": "27.15kbps",
"min_latency": "126 ms",
"avg_latency": "126 ms",
"max_latency": "126 ms",
"min_jitter": "0ms",
"avg_jitter": "0ms",
"max_jitter": "0ms",
"min_loss": "0.03%",
"avg_loss": "0.03%",
"max_loss": "0.4%",
"resolution": "1280*720",
"min_frame_rate": "12 fps",
"avg_frame_rate": "12 fps",
"max_frame_rate": "12 fps",
"zoom_min_cpu_usage": "0%",
"zoom_avg_cpu_usage": "0%",
"zoom_max_cpu_usage": "2%",
"system_max_cpu_usage": "11%",
"system_min_cpu_pressure_level": "normal",
"system_avg_cpu_pressure_level": "normal",
"system_max_cpu_pressure_level": "normal"
}
}
]
}
]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `12702` <br> Can not access a meeting a year ago.<br> <br> **Error Code:** `200` <br> Event subscription not found. Subscribe to the Webinar Participant QoS Summary event in your Marketplace app to get access to this API. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> This meeting's detail info is not available.<br> The Meeting ID is not valid or the meeting has not ended yet. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
List webinar participants QoS Summary
- Method:
GET - Path:
/metrics/webinars/{webinarId}/participants/qos_summary - Tags: Dashboards
Use this API to return a list of webinar participants from live or past webinars and the quality of service they received during the webinar. The data returned indicates the connection quality for sending/receiving video, audio, and shared content.
Note:
This API may return empty values for participants' user_name and email responses when the account calling this API:
- Does not have a signed HIPAA business associate agreement (BAA).
- Is a legacy HIPAA BAA account.
- Displays data for any users who are not part of the host's account (external users) unless they meet certain conditions. See Email address display rules for details.
Prerequisites:
- A Business, Education, or API Plan with Webinar add-on.
- Developers must subscribe to the QSS summary event to receive data from this API.
Scopes: dashboard_webinars:read:admin,dashboard:read:admin
Granular Scopes: dashboard:read:list_webinar_participants_qos:admin
Rate Limit Label: HEAVY
Responses
Status: 200 **HTTP Status Code:** `200` <br> Webinar QoS summary returned.
Content-Type: application/json
All of:
-
next_page_tokenstring— The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the page size. The expiration period is 15 minutes. -
page_sizeinteger, default:30— The number of records returned within a single API call.
-
participantsarray— Information about the participant.Items:
-
emailstring, format:email— The participant's email address. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#email-address) for details. -
idstring— The participant's universally unique ID. This value is the same as the participant's user ID if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging into Zoom, this returns an empty value. -
participant_idstring— The participant's ID. This value is assigned to a participant upon joining a meeting and is only valid for the meeting's duration. -
qosarray— The summary of participant's quality of service information.Items:
-
detailsobject— The participant QoS summary details.-
avg_bitratestring— The average amount of bitrate, in kbps. -
avg_frame_ratestring— The average amount of frame rate, in fps. -
avg_jitterstring— The average amount of jitter, in milliseconds. -
avg_latencystring— The average amount of latency, in milliseconds. -
avg_lossstring— The average amount of packet loss. -
max_bitratestring— The maximum amount of bitrate, in kbps. -
max_frame_ratestring— The maximum amount of frame rate, in fps. -
max_jitterstring— The maximum amount of jitter, in milliseconds. -
max_latencystring— The maximum amount of latency, in milliseconds. -
max_lossstring— The maximum amount of packet loss. -
min_bitratestring— The minimum amount of bitrate, in kbps. -
min_frame_ratestring— The minimum amount of frame rate, in fps. -
min_jitterstring— The minimum amount of jitter, in milliseconds. -
min_latencystring— The minimum amount of latency, in milliseconds. -
min_lossstring— The minimum amount of packet loss. -
resolutionstring— The number of pixels in each dimension that the video camera can display. -
system_avg_cpu_pressure_levelstring, possible values:"normal", "fair", "serious", "critical"— The system's average CPU pressure level. -
system_max_cpu_pressure_levelstring, possible values:"critical", "serious", "fair", "normal"— The system's maximum CPU pressure level. -
system_max_cpu_usagestring— The system's maximum CPU usage. -
system_min_cpu_pressure_levelstring, possible values:"normal", "fair", "serious", "critical"— The system's minimum CPU pressure level. -
zoom_avg_cpu_usagestring— Zoom's average CPU usage. -
zoom_max_cpu_usagestring— Zoom's maximum CPU usage. -
zoom_min_cpu_usagestring— Zoom's minimum CPU usage.
-
-
typestring, possible values:"audio_input", "audio_output", "video_input", "video_output", "as_input", "as_output", "cpu_usage", "audio_device_from_crc", "audio_device_to_crc", "video_device_from_crc", "video_device_to_crc", "as_device_from_crc", "as_device_to_crc", "audio_device_from_rwg", "audio_device_to_rwg", "video_device_from_rwg", "video_device_to_rwg", "as_device_from_rwg", "as_device_to_rwg"— Type of the QoS summary: * `audio_input` — The QoS metrics for audio sent by a participant. * `audio_output` — The QoS metrics for audio received by a participant. * `video_input` — The QoS metrics for video input being sent by a participant. * `video_output` — The QoS metrics for video output being sent by a participant. * `as_input` — The QoS metrics for screen sharing by a participant. * `as_output` — The QoS metrics for screen sharing output received by a participant. * `cpu_usage` — The QoS metrics for CPU usage. * `audio_device_from_crc` — The QoS metrics for audio sent by a participant who joined the meeting via a Cloud Room Connector (CRC). * `audio_device_to_crc` — The QoS metrics for audio received by a participant who joined the meeting via CRC. * `video_device_from_crc` — The QoS metrics for video input being sent by a participant who joined the meeting via CRC. * `video_device_to_crc` — The QoS metrics for video output being sent by a participant who joined the meeting via CRC. * `as_device_from_crc` — The QoS metrics for screen sharing by a participant who joined the meeting via CRC. * `as_device_to_crc` — The QoS metrics for screen sharing output received by a participant who joined the meeting via CRC.
-
-
user_namestring— The participant's display name.
-
Example:
{
"next_page_token": "uBTK3NzNksdkuCUAQaFVFd86kyOr59zg4U2",
"page_size": 30,
"participants": [
{
"id": "zJKyaiAyTNC-MWjiWC18KQ",
"participant_id": "20161536",
"user_name": "jchill",
"email": "user@example.com",
"qos": [
{
"type": "audio_input",
"details": {
"min_bitrate": "27.15kbps",
"avg_bitrate": "27.15kbps",
"max_bitrate": "27.15kbps",
"min_latency": "126 ms",
"avg_latency": "126 ms",
"max_latency": "126 ms",
"min_jitter": "0ms",
"avg_jitter": "0ms",
"max_jitter": "0ms",
"min_loss": "0.03%",
"avg_loss": "0.03%",
"max_loss": "0.4%",
"resolution": "1280*720",
"min_frame_rate": "12 fps",
"avg_frame_rate": "12 fps",
"max_frame_rate": "12 fps",
"zoom_min_cpu_usage": "0%",
"zoom_avg_cpu_usage": "0%",
"zoom_max_cpu_usage": "2%",
"system_max_cpu_usage": "11%",
"system_min_cpu_pressure_level": "normal",
"system_avg_cpu_pressure_level": "normal",
"system_max_cpu_pressure_level": "normal"
}
}
]
}
]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `12702` <br> Can not access a webinar a year ago.<br> <br> **Error Code:** `200` <br> Event subscription not found. Subscribe to the Webinar Participant QoS Summary event in your Marketplace app to get access to this API. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> This webinar's detail info is not available.<br> The Webinar ID is not valid or the webinar has not ended yet. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
List session users QoS Summary
- Method:
GET - Path:
/videosdk/sessions/{sessionId}/users/qos_summary - Tags: Video SDK Sessions
Use this API to return a list of users from past sessions and a summary of their quality of service received during the session. The data returned indicates the connection quality for sending and receiving video, audio, and shared content.
Note:
This API may return empty values for users' name responses when the account calling this API:
- Does not have a signed HIPAA business associate agreement (BAA).
- Is a legacy HIPAA BAA account.
- Displays data for any users who are not part of the host's account (external users) unless they meet certain conditions.
Prerequisites:
- A Business or higher plan.
- Developers must subscribe to the QSS summary event to receive data from this API.
Rate Limit Label: HEAVY
Responses
Status: 200 **HTTP Status Code:** `200` Session users QoS summary returned.
Content-Type: application/json
All of:
-
next_page_tokenstring— The next page token used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the page size. The expiration period is 15 minutes. -
page_sizeinteger, default:30— The number of records returned within a single API call.
-
usersarray— Information about the user.Items:
-
idstring— The user's universally unique ID. This value is the same as the user's user ID if the user joins the session by logging into Zoom. If the user joins the session without logging into Zoom, this returns an empty value. -
namestring— The user's display name. -
qosarray— The summary of user's quality of service (QoS) information.Items:
-
detailsobject— The participant QoS summary details.-
avg_bitratestring— The average amount of bitrate, in Kbps. -
avg_frame_ratestring— The average amount of frame rate, in fps. -
avg_jitterstring— The average amount of jitter, in milliseconds. -
avg_latencystring— The average amount of latency, in milliseconds. -
avg_lossstring— The average amount of packet loss. -
max_bitratestring— The maximum amount of bitrate, in Kbps. -
max_frame_ratestring— The maximum amount of frame rate, in fps. -
max_jitterstring— The maximum amount of jitter, in milliseconds. -
max_latencystring— The maximum amount of latency, in milliseconds. -
max_lossstring— The maximum amount of packet loss. -
min_bitratestring— The minimum amount of bitrate, in Kbps. -
min_frame_ratestring— The minimum amount of frame rate, in fps. -
min_jitterstring— The minimum amount of jitter, in milliseconds. -
min_latencystring— The minimum amount of latency, in milliseconds. -
min_lossstring— The minimum amount of packet loss. -
resolutionstring— The number of pixels in each dimension that the video camera can display. -
system_avg_cpu_pressure_levelstring, possible values:"normal", "fair", "serious", "critical"— The system's average CPU pressure level. -
system_max_cpu_pressure_levelstring, possible values:"critical", "serious", "fair", "normal"— The system's maximum CPU pressure level. -
system_max_cpu_usagestring— The system's maximum CPU usage. -
system_min_cpu_pressure_levelstring, possible values:"normal", "fair", "serious", "critical"— The system's minimum CPU pressure level. -
zoom_avg_cpu_usagestring— Zoom's average CPU usage. -
zoom_max_cpu_usagestring— Zoom's maximum CPU usage. -
zoom_min_cpu_usagestring— Zoom's minimum CPU usage.
-
-
typestring, possible values:"audio_input", "audio_output", "video_input", "video_output", "as_input", "as_output", "cpu_usage", "audio_device_from_crc", "audio_device_to_crc", "video_device_from_crc", "video_device_to_crc", "as_device_from_crc", "as_device_to_crc"— The type of QoS summary: * `audio_input` — The QoS metrics for audio sent by a user. * `audio_output` — The QoS metrics for audio received by a user. * `video_input` — The QoS metrics for video input sent by a user. * `video_output` — The QoS metrics for video output sent by a user. * `as_input` — The QoS metrics for screen sharing sent by a user. * `as_output` — The QoS metrics for screen sharing output received by a user. * `cpu_usage` — The QoS metrics for CPU usage. * `audio_device_from_crc` — The QoS metrics for audio sent by a user who joined the session via a Cloud Room Connector (CRC). * `audio_device_to_crc` — The QoS metrics for audio received by a user who joined the session via CRC. * `video_device_from_crc` — The QoS metrics for video input sent by a user who joined the session via CRC. * `video_device_to_crc` — The QoS metrics for video output sent by a user who joined the session via CRC. * `as_device_from_crc` — The QoS metrics for screen sharing by a user who joined the session via CRC. * `as_device_to_crc` — The QoS metrics for screen sharing output received by a user who joined the session via CRC.
-
-
user_keystring— Another identifier for the user. Set with the `user_identity` key in the Video SDK JWT payload. Can be a number or characters. Maximum length of 36 characters.
-
Example:
{
"next_page_token": "uBTK3NzNksdkuCUAQaFVFd86kyOr59zg4U2",
"page_size": 30,
"users": [
{
"id": "zJKyaiAyTNC-MWjiWC18KQ",
"name": "jchill",
"user_key": "myUserKey",
"qos": [
{
"type": "audio_input",
"details": {
"min_bitrate": "27.15 Kbps",
"avg_bitrate": "27.15 Kbps",
"max_bitrate": "27.15 Kbps",
"min_latency": "126 ms",
"avg_latency": "126 ms",
"max_latency": "126 ms",
"min_jitter": "0 ms",
"avg_jitter": "0 ms",
"max_jitter": "0 ms",
"min_loss": "0.03%",
"avg_loss": "0.03%",
"max_loss": "0.4%",
"resolution": "1280*720",
"min_frame_rate": "12 fps",
"avg_frame_rate": "12 fps",
"max_frame_rate": "12 fps",
"zoom_min_cpu_usage": "0%",
"zoom_avg_cpu_usage": "0%",
"zoom_max_cpu_usage": "2%",
"system_max_cpu_usage": "11%",
"system_min_cpu_pressure_level": "normal",
"system_avg_cpu_pressure_level": "normal",
"system_max_cpu_pressure_level": "normal"
}
}
]
}
]
}