cancel
Showing results for 
Search instead for 
Did you mean: 

Need access to more scopes to complete API

ErikaandCathy
Newcomer
Newcomer

 

Hello Zoom Developer Support,

I’m using a Server-to-Server OAuth app to retrieve past webinar participant data across all users in our Business account.
The app authenticates successfully and can list all users, but any attempt to call /report/webinars or /report/history_meetings returns an error — even though these webinars clearly exist in the Zoom web portal under “Reports → Webinar Attendance”.


Endpoints Tested

 

 
GET /report/webinars?from=2025-01-01&page_size=100 GET /report/history_meetings?from=2025-01-01&page_size=100 GET /report/webinars/{webinarId}/participants

 

 

All result in either:

  • HTTP 404 (empty body)

  • or HTTP 400 (for /history_meetings)


    Example Response

     

     
    Requesting token... Token acquired. Expires in 3599 seconds. Retrieving all users under this account... Found 13 user(s) in the account. Retrieving all past webinars since 2025-01-01... WARNING: Zoom call failed: https://api.zoom.us/v2/report/webinars?from=2025-01-01&page_size=100 HTTP Status: 404 Body:

     

     

    Scopes Configured in App

     

     
    report:read:list_webinar_participants:admin report:read:list_history_meetings:admin report:read:list_users:admin report:read:webinar:admin report:read:meeting:admin report:read:user:admin report:read:list_webinar_participants:master report:read:webinar:master report:read:user:master user:read:list_users:master
     

    Environment Details

    • Zoom Account Type: Business (single account with multiple users, not a master/sub-account structure)

    • App Type: Server-to-Server OAuth

    • PowerShell Client: PowerShell 7.4 on Windows 10

    • All API requests use: Bearer <access_token> header

    • Token generation via:
      POST https://zoom.us/oauth/token?grant_type=account_credentials&account_id={AccountId}


      Issue Summary

      The app can:

      • Authenticate via OAuth successfully

      • Retrieve all users under the account

        But the app cannot access any past webinar data, even though:

        • Webinars from January 2025 are visible in the web portal under Reports → Webinar Attendance

        • The host user (***********) has a licensed Webinar plan

          It seems the /report/webinars endpoint may require a top-level report:read:admin scope that is not automatically available in the Server-to-Server app UI, or the scopes are not being applied at the full account level for non-master accounts.


          Questions

          1. Does /report/webinars require the explicit report:read:admin scope (not shown in the Marketplace UI)?

          2. For a single Business account (not a master/sub-account), what specific scope or role is needed for the Server-to-Server OAuth app to access /report/webinars and /report/webinars/{webinarId}/participants?

          3. Is this limitation expected for Server-to-Server apps, or can Zoom enable full reporting access upon request?


            Goal

            We need to export all webinar participant data (name, email, join time, leave time, duration) for all hosts since January 1 2025 into a CSV file for internal reporting.


            Thank you in advance for any clarification or guidance!
            If needed, I can provide request logs or trace IDs for the failing API calls.

            Best regards,
            Cathy S.

1 REPLY 1

Ray_Harwood
Community Champion | Customer
Community Champion | Customer

Welcome to the Zoom Community, @ErikaandCathy.

 

This is a question more appropriate for the Developers Forum at https://devforum.zoom.us/


Ray -- check out the GoodClix website.