Retreive meeting report function available to simple user via GUI but not via API

I created a User managed app instance, not public, in order to retrieve programmatically some information about meeting participation and build ad-hoc statistics and KPI.

I may be wrong, but by my first investigation, while as a simple user (I am not admin) I can access all these information via my company Zoom account web page, I cannot use the related REST API call “/report/users/{userId}/meetings” to retrieve it , as it requires admin permission.
Trying on this page
with my credentials I get indeed the following response:
“code”: 4700,
“message”: “Invalid access token, does not contain scopes: [report:read:admin]”

Is my conclusion correct? if so, why is this data access treated in a different way according to the access method used?
And … Is there a way I can programmatically access this info specifically related to meetings I am organizer of, as simple user?


Hey @Marco,

We are looking into this and will get back to you as soon as possible.


Thanks Tommy.

I Look forward to your response.


Thanks @tommy
I Look forward to your response.
Do you anticipate this taking more weeks or days?


Hey @Marco,

In order to access the meeting reports via the API you need to create an Account-level app.

Once you have done that, you can select the correct scope you need to access GET /report/users/{userId}/meetings

Does this help?


Hi Tommy,

Thanks for your reply.

Yet, I believe my point was missed.

Please check my original request: I am not an admin, and the kind of app you suggested requires to be an admin to install.

So, as a simple user I can access my report data from the GUI , but can’t via API, which is not what I expect, and a strong limitation.

Can you please suggest a solution?

Thanks in advance.


Marco Giancani


Hey @Marco,

Unfortunately in order to get meeting reports via the API you must have the report:read:admin scope. To get this scope, the app must be account level.

A solution to this would be to ask your account admin to create a role (maybe called “Developers”) and under the Dashboard and Report section check the checkbox for Usage reports. Then at the top click Role Members > Add Members enter your Zoom email and click add. Then click Role Settings scroll to the bottom and click Save Changes.

Now if you log out and log back in to your Zoom account, you will have the correct permissions to install this app.

Let me know if this works for you!


I’m having a similar problem with accessing the report scope with the API using OAuth. I am not an admin, but I have access to the reports with the Zoom Account GUI.

I’ve tried creating both a user managed and account managed app:
User-managed: I simply don’t have access to the “reports” scope
Account-managed: Cant authorize because I’m not an administrator

I tried Tommy’s solution above of having an admin create a Dev role but I got the same results. Did this solution work for anyone else?

Does anyone have another solution for getting the reports scope on a user-managed oauth App?

Hey @tsuniversity, thanks for posting and using Zoom!

Unfortunately you must use an Account-level app to call the Retrieve Meeting Reports endpoint.

The User-level app type does not have the required reports scopes,

Did you also check the Developer and Marketplace checkbox for the dev role?


I’m running into this issue in a slightly different way. We are using the user-level app to create/update webinars for 3rd parties, which is working well. However, one of the requirements is that we fetch webinar attendance to update our system, and this is currently impossible with the user-level scopes. Using an account level app isn’t an option, because it would mean each of our customers who use Zoom would have to create their own account-level app.

As a Zoom admin, you can view the webinar reports using Zoom’s web UI. So is there any reason why the user-level API shouldn’t have scope to access webinar reports (and other reports) too?

Hey @jcairns,

How are your users using the User Level app currently? They would not have to create their own account-level app if you published your Account Level app on the Zoom App Marketplace. All your users would have to do is install the app.

Correct, that is why you need the admin level scopes dashboard:read:admin and report:read:admin for the Reports and Dashboard endpoints.

Also depending on how your app works, you could use your existing User Level app, in addition to a JWT app to call the admin/account level endpoints.

Let me know if this helps!


Thanks for the quick reply @tommy!

Ah, I see - it looks like I misunderstood the account-level app concept. So, if our customers (who will have unrelated Zoom accounts) are wanting to add Zoom integration to our system, we create an account-level Zoom application and they just need to install it?

My (probably incorrect) understanding was that if customer A and customer B wanted to link our system with Zoom, they would need to create their own marketplace apps and give us the keys. But it’s the other way round - we create the account level app, which customer A and customer B can choose to install, at which point it is linked to their accounts?

Happy to help @jcairns!,

Correct :slight_smile:

You could do this, but we don’t recommend because it’s easier for the customer to just install and authorize your app via our App Marketplace :slight_smile:

Let me know if you have any other questions!