# Zoom API for user meetings QOS

**URL:** <https://devforum.zoom.us/t/zoom-api-for-user-meetings-qos/28107>\
**Category:** API and Webhooks\
**Created:** [August 25, 2020, 2:07pm UTC](https://devforum.zoom.us/t/zoom-api-for-user-meetings-qos/28107 "2020-08-25T14:07:32Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![lauren.olphert](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/lauren.olphert/32/13525_2.png) [@lauren.olphert](https://devforum.zoom.us/u/lauren.olphert)\
**Post date:** [August 25, 2020, 2:07pm UTC](https://devforum.zoom.us/t/zoom-api-for-user-meetings-qos/28107/1 "2020-08-25T14:07:32Z")

</div>

**Description**  
We are trying to get our API to pass back QOS information from meetings we are holding via powershell scripting and using the JWT token to connect with the API, the API seems to be connecting and retrieving the information- however, the first half of the response always seems to be empty. At the minuet we are working on audio input/output QOS ($response.participants.user\_qos.audio\_input.jitter) and the table results show empty for the first half of the script and then start returning values (Please see attached image). Is this expected behavior or is there something missing?

**Which App Type (OAuth / Chatbot / JWT / Webhook)?**  
JWT

**Screenshots (If applicable)**  
If applicable, add screenshots to help explain your problem.

 ![UserQOS](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/2X/4/4bb067bdcbc42c380f7ae86cfa3ee3ced8ced46f.png)  
 ![UserQOS](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/2X/4/4bb067bdcbc42c380f7ae86cfa3ee3ced8ced46f.png)  
 ![JitterQOS](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/2X/a/ab722ce1e398df5a2016acae3089c288c6e38205.png)

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [August 27, 2020, 10:07pm UTC](https://devforum.zoom.us/t/zoom-api-for-user-meetings-qos/28107/2 "2020-08-27T22:07:24Z")

</div>

Hey @lauren.olphert,

This is not expected. Can you share the script you are using or the meeting UUID? Maybe your script is inserting an empty object at the start of the array?

Thanks,  
tommy

---

<div class="post-metadata">

**Author:** ![lauren.olphert](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/lauren.olphert/32/13525_2.png) [@lauren.olphert](https://devforum.zoom.us/u/lauren.olphert)\
**Post date:** [September 1, 2020, 10:14am UTC](https://devforum.zoom.us/t/zoom-api-for-user-meetings-qos/28107/4 "2020-09-01T10:14:34Z")

</div>

Hi @tommy,

It actually looks like its coming back from the api? When I run only the response this is what I’m seeing

 ![UserQOS-empty](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/2X/b/b363f9ce30739ed6feef58dfb7eaa25da651e67b.png)

Below is a snippet of the code i’m using - please note that I have put in foreach statements to try and get rid of the blank responses from the api- I’ve put in a meeting id of 123456 for example purposes 🙂

$ListOfMeetingId = “1234567”  
#foreach($meetinguuid in $ListOfMeetingId){  
Write-Output "Meeting ID: " $ListOfMeetingId  
$headers = New-ZoomHeaders -ApiKey $ApiKey -ApiSecret $ApiSecret  
[int]$requests = 0  
$type = “live”  
#$ConnectionType = @()  
$meetingId = $ListOfMeetingId  
$Request = [System.UriBuilder]“[https://api.zoom.us/v2/metrics/meetings/$ListOfMeetingId/participants/qos](https://api.zoom.us/v2/metrics/meetings/%24ListOfMeetingId/participants/qos)”  
$query = [System.Web.HttpUtility]::ParseQueryString([String]::Empty)  
$Request.Query = $query.ToString()  
try {  
$response = Invoke-RestMethod -Uri $request.Uri -Headers $headers -Method GET  
$nextPageToken = $response.next\_page\_token  
$requests++  
$PageCount2 = $response.page\_count  
Write-Output “UserName:” $response.participants.user\_name  
Write-Output “NetworkType:” $response.participants.network\_type  
##Trigger if seeing SSL Proxy  
foreach($audio in $response.participants.user\_qos){  
if($audio.audio\_input -inotmatch “bitrate=;”){  
Write-Output “Audio Input:” $audio.audio\_input | Format-Table  
}  
if($audio.audio\_output -inotmatch “bitrate=;”){  
Write-Output “Audio Output:” $audio.audio\_output | Format-Table  
}  
}  
#Write-Output “Jitter Output:” $response.participants.user\_qos.audio\_input.jitter  
#$UserJitterForMeeting += $response.participants.user\_qos.audio\_input.jitter

```
        } catch {
        Write-Error -Message "$($_.Exception.Message)" -ErrorId $_.Exception.Code -Category InvalidOperation
    }
```

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [September 3, 2020, 8:04pm UTC](https://devforum.zoom.us/t/zoom-api-for-user-meetings-qos/28107/5 "2020-09-03T20:04:30Z")

</div>

Hey @lauren.olphert,

Thanks for the additional details. Can you have the JWT App Owner [check the API call logs here](https://marketplace.zoom.us/user/logs) to see if the response body has the empty data?

Let me know what you find! 🙂

-Tommy

---

<div class="post-metadata">

**Author:** ![lauren.olphert](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/lauren.olphert/32/13525_2.png) [@lauren.olphert](https://devforum.zoom.us/u/lauren.olphert)\
**Post date:** [September 4, 2020, 9:23am UTC](https://devforum.zoom.us/t/zoom-api-for-user-meetings-qos/28107/6 "2020-09-04T09:23:41Z")

</div>

Hi @tommy ! So from looking at the JWT call logs… it looks like they are coming through with no information attached ☹

 ![userqosJWT](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/2X/a/af7a4063081b7bb0d39c2d54689b6e9564921333.png)

---

<div class="post-metadata">

**Author:** ![will.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/will.zoom/32/14417_2.png) [@will.zoom](https://devforum.zoom.us/u/will.zoom)\
**Post date:** [September 8, 2020, 8:53pm UTC](https://devforum.zoom.us/t/zoom-api-for-user-meetings-qos/28107/7 "2020-09-08T20:53:31Z")

</div>

Hey @lauren.olphert,

Thanks so much for double checking those logs—I’ve gone ahead and raised this with our Engineering team to have a closer look. I should hear back from them shortly and will be sure to update you here! (ZOOM-194537)

Best,  
Will

---

<div class="post-metadata">

**Author:** ![will.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/will.zoom/32/14417_2.png) [@will.zoom](https://devforum.zoom.us/u/will.zoom)\
**Post date:** [September 9, 2020, 1:27pm UTC](https://devforum.zoom.us/t/zoom-api-for-user-meetings-qos/28107/8 "2020-09-09T13:27:01Z")

</div>

I just DM’d you for some additional details when you have a chance, @lauren.olphert!

Thanks,  
Will

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [October 9, 2020, 11:27pm UTC](https://devforum.zoom.us/t/zoom-api-for-user-meetings-qos/28107/9 "2020-10-09T23:27:17Z")

</div>

Closed on October 9, 2020, 11:27pm UTC

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
