API Change user role from Member to Admin

Hi Everone,

Relatively simple question. I’ve been searching Google for a method to change a zoom users role from Member to Admin using the API’s. I’m sure I’m just not seeing the API’s to do this. We’re currently using an off the shelf Okta connector for provisioning, but parts of it are manual so we would like to automate everything including changing roles. So any help would be greatly appreciated!

Paul T. Juno

Hi Paul, yes, this is absolutely doable via the Zoom API! You need to use the Roles API endpoint:

POST /v2/roles/{roleId}/members

Pass the user IDs in the request body:
{ “members”: [{ “id”: “userId” }] }

The default role IDs are the same across all Zoom accounts:
• 0 - Owner
• 1 - Admin
• 2 - Member

So, to promote a user to Admin, just call POST /v2/roles/1/members with their user ID. You’ll need the role:write:admin scope on your app. Full docs here: Accounts APIs - API - Zoom Developer Docs

Note: Avoid using PATCH /users/{userId} with role_name in the body - it returns a 204 success but doesn’t actually update the role. The /roles/{roleId}/members endpoint is the correct way to do it.

Thanks,
Naeem Ahmed

Thanks for the recommendation Naeem. I do recall trying this before without any success. My granular scopes for role that I see in the bearer token response are as follows and believe I have what I need:

role:read:role:admin role:write:member:admin role:update:role:admin role:delete:role:admin role:read:list_roles:admin role:delete:member:admin role:write:role:admin role:read:list_members:admin role:read:role:master role:write:member:master role:update:role:master role:delete:role:master role:read:list_roles:master role:delete:member:master role:write:role:master role:read:list_members:master

I then made a POSTMAN request to update the role as described below.

EndPoint:

POST /v2/roles/1/members

Body:

{
“members”: [
{
“id”: “OZISUZBwTU6a2twEX-4snw”
}
]
}

Response:

{
“code”: 2300,
“message”: “This API endpoint is not recognized.”
}

I’m sure I’m doing something stupid, but have no idea. Any ideas from what you can see?

You are sending the wrong payload. Also, first check the list of roles you have, then add them to members or create a new role and add it for testing.

Also, read the docs carefully and follow all Prerequisites.

Note: After adding new scopes, you need to re-authorize and get a new access token that reflects the changed scopes.

If you still have any queries, share them here.

Thanks.