Zoom API - Restricted access
| title | description | updated_date |
|---|---|---|
| Zoom API - Restricted access | How to create and use restricted Zoom API tokens for accessing Zoom resources. | 2025-11-18T16:28:00Z |
To Restrict a Zoom API Token to Specific Users, this process involves four main stages:
- Create a Group for your target users.
- Create a Custom Role that can only see that group.
- Create a Service User and assign it the new role.
- Create a Server-to-Server OAuth App as that service user.
Step 1: Create a User Group
First, you must group the users you want the API to be able to access.
- Sign in to the Zoom web portal as an account owner or admin.
- In the navigation menu, go to User Management > Groups.
- Click Add Group.
- Give the group a name (e.g., “API-Accessible Users”) and a description.
- Click Add.
- Go to the Users tab (under
User Management>Users), find the users you want to add, and add them to this new group.
Step 2: Create a Custom Role with a Custom Scope
This is the most critical step. You will create a new role that has admin-level permissions (like reading user data) but is scoped to only the group you just made.
- In the navigation menu, go to User Management > Roles.
- Click Add Role.
- Enter a Role Name (e.g., “Restricted API Role”) and a description.
- Click Add.
- You will now see the permissions list for this new role. Go to the Role Settings tab.
- Find the permissions your API will need. For example:
- To read user data: Check the View box for Users.
- To read meeting/webinar data: Check the View box for Dashboard.
- To read recordings: Check the View box for Recording.
- To read phone call logs: Check the View box for Zoom Phone (or PbxAdmin in the API).
- Set the Scope: For each permission you checked, you must change its scope.
- Click the Edit link in the Scope column for that permission.
- By default, it is set to “Entire Account.”
- Select Custom Scope.
- In the window that appears, find and select the group you created in Step 1 (“API-Accessible Users”).
- Click Save.
- Your role should now show “Custom Scope” for the permissions it needs. This role can only see data for users within that specific group.
Step 3: Create a Service User and Assign the Role
Your new, restricted role needs to be assigned to a user. It’s best practice to create a new, dedicated “service user” for this.
- Go to User Management > Users.
- Click Add Users and create a new user (e.g.,
api-service@yourcompany.com). - Important: This user must have the appropriate licenses to access the data you want to pull (e.g., a Zoom Phone license to pull call logs).
- Once the user is created, find them in the user list and click Edit next to their name.
- In the User Role dropdown, select the new role you created (“Restricted API Role”).
- Click Save.
Step 4: Create the Server-to-Server OAuth App
Finally, you will create the API app as this new restricted user. The app’s credentials will inherit the user’s restricted scope.
- Log out of your admin account.
- Log in to the Zoom App Marketplace with the new service user’s credentials (e.g.,
api-service@yourcompany.com). - In the top-right, click Develop > Build an App.
- Find the Server-to-Server OAuth app type and click Create.
- Give your app a name (e.g., “Restricted Data App”).
- Add Scopes: Click the Scopes tab. You must add the API scopes that match the permissions you gave the role in Step 2.
- For user information:
user:read:user,user:read:list_users:admin - For meetings:
meeting:read:meeting,meeting:read:list_meetings:admin,report:read:admin,report:read:user:admin - For teams:
team:read:team,team:read:list_teams:admin - For phone calls (if Zoom Phone is enabled):
phone:read:admin,phone_call_log:read:admin,phone:read - Add other scopes as needed for your specific use case
- For user information:
- Click Continue and Activate your app.
- You can now view your App Credentials (Account ID, Client ID, Client Secret). These are the credentials you need to share with Parable
- Reference: Create a Server-to-Server OAuth app