# Quality of Service Subscription Explainer

### Quality of Service Subscription is an add-on product that streams near-real-time QoS telemetry for Zoom Meetings, Webinars, and Zoom Phone via event subscriptions

Zoom’s Quality of Service Subscription (QSS) is an add-on product that offers near real-time quality of service (QoS) data for Zoom Meetings, Webinars, and Phone calls. QSS extends Zoom’s product functionality by sending participant-level QoS events at minute-level intervals (rate and aggregation may vary by configuration). Customers can use this rich data stream to identify whether‌ network environments are affecting Zoom’s services.

#### <mark style="color:blue;">QSS delivers the same underlying QoS metrics used in Zoom Dashboards and APIs, but sampling and timing differ</mark>

The existing [Zoom Dashboard](https://support.zoom.us/hc/en-us/articles/204654719-Getting-started-using-the-Zoom-Dashboard-) provides network performance and usage metrics, which can help customers understand how Zoom is operating in a network environment. QSS offers the same Zoom QoS data, but at a faster rate. Because of this faster rate sampling, aggregated QoS metrics will show values different from the main Zoom Dashboard. However, these metrics still allow customers to configure them into their own dashboard views to correlate Zoom data with additional systems.

The table below describes the QoS data delivered to a customer’s endpoints via QSS.

<table><thead><tr><th width="230"></th><th>QoS Data Delivered via QSS</th></tr></thead><tbody><tr><td>Quality Metrics</td><td>Bitrate, Latency, Jitter, Packet Loss, Resolution, Frame Rate, CPU Usage</td></tr><tr><td>Usage Metrics</td><td>Device, Network, Signaling Region, Client Version, Audio (I/O), Video (I/O)</td></tr><tr><td>Frequency</td><td>Approx. 1 event per minute, per participant (per QoS metric or aggregated set depending on account settings).</td></tr><tr><td>Data Retention</td><td>Event-delivery logs are retained for 7 days via the Webhook Logs API; historical QoS data via API endpoints may persist longer (depending on license).</td></tr></tbody></table>

#### <mark style="color:blue;">Zoom Dashboard data should not be compared with data delivered via QSS to a customer’s third-party endpoint</mark>

QSS and the Zoom Dashboard provide two separate mechanisms for accessing Zoom QoS data that should not be compared. While the Zoom Dashboard and QSS pull from the same pool of QoS data, the data in each mechanism will not match up because of differences in retrieval timing and frequency of data delivery.

#### <mark style="color:blue;">QSS supports real-time event data for Meetings, Webinars, and Phone calls</mark>

QSS supplies QoS event data for all users on an account for Zoom Meetings and Webinars, as well as for Zoom Phone calls. Because Zoom does not manage the last leg of calls, QSS only provides account-level QoS event data for Zoom Phone calls and therefore cannot provide full visibility into the end-to-end advanced participant data.

#### <mark style="color:blue;">QSS data does not include data for external participants</mark>

QSS does not provide data for external meeting participants. However, QSS can help pinpoint which internal meeting participant had an issue and what that issue was, as well as the quality and usage metrics that customers will need to troubleshoot issues.

### QSS allows customers to bring raw QoS data from Zoom Dashboard into their existing workflows

While Zoom customers have historically been able to use tools like the Zoom Dashboard or APIs to view or retrieve Zoom QoS data, QSS lets you stream Zoom QoS telemetry into your network management and monitoring platforms via event subscriptions (webhook or WebSocket).

#### <mark style="color:blue;">QSS delivers near-real-time QoS events to your subscribed endpoints, reducing API polling and rate-limit impact</mark>

QSS customers can subscribe to real-time QoS events and data that will be pushed to their application endpoints, which helps free up API capacity and optimize network utilization. QSS is an augmentation of Zoom’s [standard webhook service](https://marketplace.zoom.us/docs/api-reference/webhook-reference/) because it can send raw QoS data to an endpoint at a near real-time rate of 4 to 6 times per minute.

#### <mark style="color:blue;">QSS enables customers to access near-real-time QoS data from Zoom Dashboard without hitting API rate limits</mark>

API services are request based and use a “pull” mechanism to gather data requested by an app or user. APIs are more resource intensive than webhooks because they require repeated calls to pull data from an API endpoint.

Customers who use [Zoom APIs](https://marketplace.zoom.us/docs/api-reference/zoom-api/) to pull QoS data from Zoom Dashboard may encounter rate limits, meaning that they’ve reached the maximum number of API calls they can make within a given time period. QSS does not increase API rate limits, but it reduces customers’ rate-limit concerns by pushing raw QoS data to their endpoints instead of requiring customers to pull the data themselves.

#### <mark style="color:blue;">QSS allows customers to consume raw Zoom QoS data and troubleshoot using their preferred network management system</mark>

Certain customers may need to assess their network performance on multiple applications at once. QSS allows them to monitor Zoom QoS data in a dashboard alongside other data in their suite of applications, providing a flexible, scalable way to consume Zoom QoS data and seamlessly integrate it into custom dashboards.

#### <mark style="color:blue;">Zoom QoS Data is transmitted over TLS 1.2</mark>

QSS data is encrypted in transit using TLS 1.2 or higher. Endpoints must use a valid Certificate Authority (CA) certificate. Webhook requests include a signature header and challenge-response check for verification.

For additional security, customers will be prompted to [validate their webhook endpoints](https://marketplace.zoom.us/docs/api-reference/webhook-reference/#validate-your-webhook-endpoint) using a Challenge-Response Check (CRC). The CRC will confirm the ownership and security of their event notification endpoint URLs.

### Customers can begin consuming QoS data by creating an application that can receive QSS events

After a customer purchases the QSS add-on plan, at least one user on the account must have developer permissions enabled. Customers can then use the following three steps to create a webhook application that can subscribe to QSS events.

Customers can also pursue the [Zoom Developer Pack](https://news.zoom.com/zoom-announces-developer-pack-resale-for-channel-partners/) with a QSS flag enabled, which bundles QSS with other developer tools.

{% stepper %}
{% step %}
**Create an Event Subscription app (General or Server-to-Server OAuth). Enable Event Subscriptions and select QoS events**

Customers must first create a General or Server-to-Server OAuth app in the [Zoom App Marketplace](https://marketplace.zoom.us/). Then, they would enable Event Subscriptions and select the QoS events they want to receive.

Next, customers must specify the destination for QSS event notifications by entering their application’s Event notification endpoint URL

{% hint style="info" %}
A Webhook-only App is not required for this configuration. Zoom recommends creating a General App.
{% endhint %}
{% endstep %}

{% step %}
**Subscribe to QSS Webhook events**

To subscribe to QSS events, customers must add events and choose from the list of available QSS **Event types**. Customers can select one or more QSS events before completing the process and activating their application.

<figure><img src="https://1175968039-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FctBXUMeBy4rtLMmMkKRG%2Fuploads%2Fgit-blob-0e6bcd7f34f9ebd6a9342919e58f15d0e72d51d0%2Fsubscribe-to-qss-webhook.png?alt=media" alt="Image of the Event types screen, focused on QSS options."><figcaption></figcaption></figure>

You can also manage subscriptions via the Marketplace UI or using API calls:

* `POST /marketplace/app/event_subscription – create`
* `PATCH /{id} – subscribe users/accounts`
* `DELETE /{id} – unsubscribe/delete`
* `GET /marketplace/app/event_subscription – list`

To authenticate via API, use a token from the Client Credentials Grant.
{% endstep %}

{% step %}
**Verify Webhook events**

After configuring event subscriptions, ensure that both webhook URL ownership and event authenticity are properly validated.

* **URL Validation**
  * When you first enable event subscriptions, Zoom performs a Challenge–Response Check (CRC) to verify ownership of your webhook endpoint. This process ensures that Zoom is sending data to a legitimate destination controlled by your app. (You may include CRC handling in an earlier setup step if preferred.)
* **Event Validation**
  * Each incoming event notification should be verified by your application to confirm that it originated from Zoom. The app can validate incoming requests using the signature header provided in each webhook event. Developers who prefer an alternative to the default signature method can use one of the other supported verification options described in the Zoom Developer Docs.
  * Use the Get Webhook Logs API to review up to seven days of webhook delivery data, including status, retry count, and trace ID.
    {% endstep %}
    {% endstepper %}

For full implementation details, please refer to the [QSS Implementation Guide](https://drive.google.com/file/d/1oOEUeizi5VqtMTJIn3E1dFbYcbuv-Y2n/view) for developers. For technical details, see the Event Subscription API, Webhook Logs API, and Client Credentials Grant authentication guides in Zoom Developer Docs.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://library.zoom.com/admin-corner/network-management/quality-of-service-subscription-explainer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
