Can't find basic scopes (list recordings, list meetings, view user) in my Server-to-Server app

Hi everyone,

I’m not a Zoom API expert at all, I’m a business user building a small automation with StackAI (a no-code AI workflow tool) that’s supposed to fetch meeting transcripts and turn them into tasks elsewhere. I got a fair way with the help of an AI assistant (Claude), but we hit a wall that looks like a Zoom-side scope issue rather than something we’re doing wrong, so I’d really appreciate some pointers from people who know the platform better.

Here’s the setup: a Server-to-Server OAuth app, account-level. The goal is to grab a user’s meeting transcripts over a date range, which under the hood calls GET /v2/users/{userId}/recordings.

That call fails with a 400 saying a scope is missing (cloud_recording:read:list_user_recordings:admin). The problem is, that scope simply isn’t in the Add Scopes list for my app at all, no matter how I search the Recording category.

I thought maybe I could work around it by listing meetings instead (GET /users/{userId}/meetings), but same story there, the scope I’d need (meeting:read:list_meetings:admin) isn’t available either.

What really threw me off is that even a very basic view a user scope (user:read:user:admin) is missing too. The User category only shows 3 very narrow scopes, nothing for just reading a user’s profile.

Currently my app only has these scopes active: cloud_recording:read:meeting_transcript:admin, cloud_recording:read:recording:admin, cloud_recording:read:list_account_recordings:admin, my_notes:read:content:admin.

My account role is Developer with full access to Platform Studio, so it doesn’t look like a permissions/UI access issue on my end, these scopes just don’t seem to be exposed for this account.

I opened a ticket with Zoom Support about it, but it got closed as a configuration issue outside the Developer Support Plan, and I was pointed here instead.

I found a couple of older threads describing what looks like the exact same thing (Granular Scopes Not Appearing, Missing scopes for cloud recording API), where it sounds like it eventually needed a fix from Zoom’s side on the account itself.

Has anyone run into this recently, or know what actually unlocks these scopes? Any help pointing me in the right direction would be great.

One more thing while I’m at it: if it’s not possible to unlock the recordings/meetings listing scopes, I’d actually be just as happy fetching the AI Companion meeting summary/notes instead of the raw transcript, since that’s the newer feature. If anyone knows whether that’s exposed differently (or has the same problem), I’d love to hear it too.

Thanks a lot!

Arthur

@Arthur3Hi,

Please verify that your account has proper Marketplace permissions or developer scopes to get those scopes visible within your account if you are not the owner of the account. If you are the owner of the account, then update here and wait until someone from Zoom staff comments here.

Thanks.

The application owner’s role needs the same privileges that the application is requesting, or you won’t be able to add the corresponding scopes. That’s because the application is essentially impersonating the application owner, and email notifications for, say, meeting deletions will be attributed to the application owner, not the application.

The scopes should be listed in the following locations:

  • (“Recording”; “Lists all cloud recordings for a user.”) (cloud_recording:read:list_user_recordings:admin)
  • (“User”; “View a user”) (user:read:user:admin)

Have your account administrator navigate to (Admin; User Management; Roles) and edit your role. Ensure that you have permissions corresponding to these scopes:

  • (Account Management; Recording and transcript management; View) (cloud_recording:read:list_user_recordings:admin)
  • (User and Permission Management; Users; View) (user:read:user:admin)

This looks like role gating, not an API path issue. For Server-to-Server OAuth, the scopes you can add depend on your role permissions. So “Developer with full Platform Studio access” may let you build the app, but it won’t necessarily expose account-level user, meeting, or recording scopes unless the app owner’s Zoom role has the underlying account permissions. To resolve, have the account owner edit your role under User Management > Roles.

AI Companion summaries are exposed separately from recordings. Zoom exposes GET /meetings/meeting_summaries for account-wide listing and GET /meetings/{meetingId}/meeting_summary for one meeting, using meeting:read:list_summaries:admin or meeting:read:summary:admin. The host also needs a Pro, Business, or higher plan with Meeting Summary with AI Companion enabled, and E2EE meetings do not support summaries.

For an alternative that avoids stitching together meeting capture infrastructure yourself, Recall.ai’s Meeting Bot API can capture Zoom meetings and return recordings, transcripts, and metadata.

Thanks a lot @freelancer.nak , @MultiplayerSession , I’ll check with our account admin to get the role permissions updated, and I’ll report back here.

One follow-up on the notes side: my app already has my_notes:read:content:admin active. Is there an endpoint to list and retrieve AI Companion Notes across the account (not just per-meeting summaries), or is meeting_summaries the only path exposed today?
(Notes is a fantastic format I’d like to use if possible, instead of transcript or meeting summaries)?