Logo
Zoom Public API Documentation

Zoom User API

Number of APIs: 61


1. contacts-groups-{groupId}-members - List contact group members

GET {{baseUrl}}/contacts/groups/:groupId/members?page_size=10&next_page_token=<string>

List members in contact groups under an account.

Prerequisite: Pro or higher account.

Scopes: contact_group:read:admin

Rate Limit Label: Medium



2. contacts-groups-{groupId}-members - Add contact group members

POST {{baseUrl}}/contacts/groups/:groupId/members

Use this API to add members to a contact group.

Prerequisite: Pro or higher account.

Scopes: contact_group:write:admin

Rate Limit Label: Heavy



3. contacts-groups-{groupId}-members - Remove members in a contact group

DELETE {{baseUrl}}/contacts/groups/:groupId/members?member_ids=<string>

Use this API to remove members in a contact group.

Prerequisite: Pro or higher account.

Scopes: contact_group:write:admin

Rate Limit Label: Heavy



4. contacts-groups-{groupId} - Get a contact group

GET {{baseUrl}}/contacts/groups/:groupId

Get a contact group under an account.

Prerequisite: Pro or higher account.

Scopes: contact_group:write:admin

Rate Limit Label: Light



5. contacts-groups-{groupId} - Delete a contact group

DELETE {{baseUrl}}/contacts/groups/:groupId

Use this API to delete a contact group.

Prerequisite: Pro or higher account.

Scopes: contact_group:write:admin

Rate Limit Label: Heavy



6. contacts-groups-{groupId} - Update a contact group

PATCH {{baseUrl}}/contacts/groups/:groupId

Update a contact group under your account.

Prerequisite: Pro or higher account.

Scopes: contact_group:write:admin

Rate Limit Label: Heavy



7. contacts-groups - List contact groups

GET {{baseUrl}}/contacts/groups?page_size=10&next_page_token=<string>

List contact groups under an account.

Prerequisite: Pro or higher account.

Scopes: contact_group:read:admin

Rate Limit Label: Medium



8. contacts-groups - Create a contact group

POST {{baseUrl}}/contacts/groups

Use this API to create a contact group.

Prerequisite: Pro or higher account.

Scopes: contact_group:write:admin

Rate Limit Label: Heavy



9. groups-{groupId}-admins-{userId} - Delete a group admin

DELETE {{baseUrl}}/groups/:groupId/admins/:userId

Use this API to remove a group administrator in a Zoom account.

Prerequisites: * A Pro, Business, or Education account

Scopes: group:write:admin

Rate Limit Label: Light



10. groups-{groupId}-admins - List group admins

GET {{baseUrl}}/groups/:groupId/admins?page_size=30&next_page_token=<string>

Use this API to return a list of group administrators under your account.

Prerequisites: * A Pro, Business, or Education account

Scopes: group:read:admin

Rate Limit Label: Medium



11. groups-{groupId}-admins - Add group admins

POST {{baseUrl}}/groups/:groupId/admins

Use this API to add administrators to a group under your account.

Prerequisites: * A Pro, Business, or Education account

Scopes: group:write:admin

Rate Limit Label: Medium



12. groups-{groupId}-lock_settings - Get locked settings

GET {{baseUrl}}/groups/:groupId/lock_settings?option=<string>

Retrieve a group's locked settings. If you lock a setting, the group members will not be able to modify it individually.

Note: The force_pmi_jbh_password field under meeting settings is to be deprecated on September 22, 2019. This field is replaced by another field that will provide the same functionality.

Prerequisite: Pro, Business, or Education account

Scopes: group:read:admin

Rate Limit Label: MEDIUM



13. groups-{groupId}-lock_settings - Update locked settings

PATCH {{baseUrl}}/groups/:groupId/lock_settings?option=<string>

Update a group's locked settings. If you lock a setting, the group members cannot modify it individually.

Note: The force_pmi_jbh_password field under meeting settings is deprecated as of September 22, 2019. This field will be replaced by another field that will provide the same functionality.</p>

Prerequisite: Pro, Business, or Education account

Scopes: group:write:admin

Rate Limit Label: MEDIUM



14. groups-{groupId}-members-{memberId} - Delete a group member

DELETE {{baseUrl}}/groups/:groupId/members/:memberId

Use this API to remove a user from a group in an account.

Prerequisites: * A Pro, Business, or Education account

Scopes: group:write:admin

Rate Limit Label: Light



15. groups-{groupId}-members-{memberId} - Update a group member

PATCH {{baseUrl}}/groups/:groupId/members/:memberId

Use this API to perform either of the following tasks: * Remove a group member from one group and move them to a different group. * Set a user's primary group. By default, the primary group is the first group that user is added to.

If a user is a member of multiple groups, you can assign the user a primary group. The user will use the primary group's settings by default. However, if the user is a member of a group with locked settings, those group settings will remain locked to the user.

Prerequisites: * A Pro or higher account

Scopes: group:write:admin

Rate Limit Label: Medium



16. groups-{groupId}-members - List group members

GET {{baseUrl}}/groups/:groupId/members?page_size=30&page_number=1&next_page_token=<string>

List the members of a group under your account.

Prerequisite: Pro, Business, or Education account

Scopes: group:read:admin

Rate Limit Label: Medium



17. groups-{groupId}-members - Add group members

POST {{baseUrl}}/groups/:groupId/members

Use this API to add users to a group in your account.

Prerequisites: * A Pro, Business, or Education account

Scopes: group:write:admin

Rate Limit Label: Medium



18. groups-{groupId}-settings-registration - Get a group's webinar registration settings

GET {{baseUrl}}/groups/:groupId/settings/registration?type=webinar

Get webinar registration settings for a group. Prerequisite: Pro, Business, or Education account

Scopes: group:read:admin

Rate Limit Label: Medium



19. groups-{groupId}-settings-registration - Update a group's webinar registration settings

PATCH {{baseUrl}}/groups/:groupId/settings/registration?type=webinar

Update webinar registration settings for a group.<p style="background-color:#FEEFB3; color:#9F6000">
Note:</b> The force_pmi_jbh_password field under meeting settings is planned to be deprecated on September 22, 2019. This field will be replaced by another field that will provide the same functionality.</p> Prerequisite: Pro, Business, or Education account

Scopes: group:write:admin

Rate Limit Label: Medium



20. groups-{groupId}-settings-virtual_backgrounds - Upload Virtual Background files

POST {{baseUrl}}/groups/:groupId/settings/virtual_backgrounds

Use this API to upload Virtual Background files for all users in a group to use.

Prerequisites: * The Virtual Background feature must be enabled on the account.

Scopes: group:write:admin

Rate Limit Label: MEDIUM



21. groups-{groupId}-settings-virtual_backgrounds - Delete Virtual Background files

DELETE {{baseUrl}}/groups/:groupId/settings/virtual_backgrounds?file_ids=<string>

Use this API to delete a group's Virtual Background files.

Prerequisites: * The Virtual Background feature must be enabled on the account.

Scopes: group:write:admin

Rate Limit Label: LIGHT



22. groups-{groupId}-settings - Get a group's settings

GET {{baseUrl}}/groups/:groupId/settings?option=recording_authentication&custom_query_fields=<string>

Get settings for a group. Prerequisite: Pro, Business, or Education account.

Scopes: group:read:admin

Rate Limit Label: MEDIUM



23. groups-{groupId}-settings - Update a group's settings

PATCH {{baseUrl}}/groups/:groupId/settings?option=recording_authentication

Update settings for a group. Note:The force_pmi_jbh_password field under meeting settings is planned to be deprecated on September 22, 2019. This field will be replaced by another field that will provide the same functionality Prerequisite: Pro, Business, or Education account

Scopes: group:write:admin

Rate Limit Label: MEDIUM



24. groups-{groupId} - Get a group

GET {{baseUrl}}/groups/:groupId

Get a group under an account.

Prerequisite: Pro, Business, or Education account

Scopes: group:read:admin

Rate Limit Label: Light



25. groups-{groupId} - Delete a group

DELETE {{baseUrl}}/groups/:groupId

Delete an entire group. Prerequisites: * A Pro, Business, or Education account.

Scopes: group:write:admin

Rate Limit Label: LIGHT



26. groups-{groupId} - Update a group

PATCH {{baseUrl}}/groups/:groupId

Update a group under your account.

Prerequisite: Pro, Business, or Education account

Scopes: group:write:admin

Rate Limit Label: Light



27. groups - List groups

GET {{baseUrl}}/groups

List groups under an account.

Prerequisite: Pro or higher account.

Scopes: group:read:admin

Rate Limit Label: Medium



28. groups - Create a group

POST {{baseUrl}}/groups

Use this API to create a group. You can add a maximum of 100 groups in one account per day, and a maximum of 5000 groups in one account.

If you enabled a new group via the user interface, you can also choose whether to display the group and set its privacy level.

Prerequisites: * A Pro or higher account

Scopes: group:write:admin

Rate Limit Label: Light



29. users-email - Check a user email

GET {{baseUrl}}/users/email?email=<string>

Verify if a user's email is registered with Zoom.

<b>Note: </b>You can successfully check if a user is a registered Zoom user only if the user signed up for Zoom via email and is within your account. If you provide an email address of a user who is not in your account, the value of "existed_email" parameter will be "false" irrespective of whether or not the user is registered with Zoom. The response of this API call will not include users who joined Zoom using options such as "Sign in with SSO", "Sign in with Google" or "Sign in with Facebook" even if they are in the same account as yours.

Scopes: user:read:admin,user:read

Rate Limit Label: Light



30. users-features - Bulk update feature

POST {{baseUrl}}/users/features

Bulk update features.

Scopes: user:write:admin

Rate Limit Label: MEDIUM



31. users-me-zak - Get the user's ZAK

GET {{baseUrl}}/users/me/zak

Get the Zoom Access Key (ZAK) for the authenticated user associated with the access token in the API request. Use a ZAK to start or join a meeting on behalf of this user.

ZAKs obtained with this endpoint expire five minutes after receipt.

To get a ZAK for a different user or with a different expiration, use the Get a user token API with the zak type query parameter.

See Getting a Zoom Access Key (ZAK) for details.

Scopes: user_zak:read

Rate Limit Label: Light



32. users-summary - Get user summary

GET {{baseUrl}}/users/summary

Use this API to get a summary of users, including the number and types of users in the account.

Scopes: user:read:admin

Rate Limit Label: Medium



33. users-vanity_name - Check a user's PM room

GET {{baseUrl}}/users/vanity_name?vanity_name=<string>

A personal meeting room is a virtual meeting room that can be permanently assigned to a user. Use this API to check if a personal meeting room with the given name exists or not.

Scopes: user:read:admin,user:read

Rate Limit Label: Light



34. users-{userId}-assistants-{assistantId} - Delete a user assistant

DELETE {{baseUrl}}/users/:userId/assistants/:assistantId

Delete a specific assistant of a user. For user-level apps, pass the me value instead of the userId parameter.

Assistants are the users who the current user has assigned scheduling privilege. These assistants can schedule meeting on behalf of the current user as well as manage and act as an alternative host for all meetings if the admin has enabled co-host option on the account.

Prerequisites: * The user as well as the assistant must have Licensed or an On-prem license. * Assistants must be under the current user's account.

Scopes: user:write:admin,user:write

Rate Limit Label: Light



35. users-{userId}-assistants - List user assistants

GET {{baseUrl}}/users/:userId/assistants

List a user's assistants. For user-level apps, pass the me value instead of the userId parameter.

Assistants are users who the current user has assigned scheduling privilege. These assistants can schedule meetings on behalf of the current user, as well as manage and act as an alternative host for all meetings if the admin has enabled the co-host option on the account.

Prerequisites: * Current user as well as the assistant must have Licensed or an On-prem license. * Assistants must be under the current user's account.

Scopes: user:read:admin,user:read

Rate Limit Label: Medium



36. users-{userId}-assistants - Add assistants

POST {{baseUrl}}/users/:userId/assistants

Assign assistants to a user. In the request body, provide either the user's ID or the user's email address. For user-level apps, pass the me value instead of the userId parameter.

Assistants are the users to whom the current user has assigned scheduling privilege. Assistants can schedule meetings on behalf of the current user, and can also manage and act as an alternative host for all meetings if the admin has enabled the co-host option on the account.

Prerequisites: * The user as well as the assistant must have Licensed or an On-prem license. * Assistants must be under the current user's account, or the assistants' account must be in the same organization as the current user's account.

Scopes: user:write:admin,user:write

Rate Limit Label: Medium



37. users-{userId}-assistants - Delete user assistants

DELETE {{baseUrl}}/users/:userId/assistants

Delete all of the current user's assistants. For user-level apps, pass the me value instead of the userId parameter.

Assistants are the users who the current user has assigned scheduling privilege. These assistants can schedule meeting on behalf of the current user, and manage and act as an alternative host for all meetings if the admin has enabled co-host option on the account.

Prerequisites: * The user as well as the assistant must have Licensed or an On-prem license. * Assistants must be under the current user's account.

Scopes: user:write:admin,user:write

Rate Limit Label: Light



38. users-{userId}-collaboration_devices-{collaborationDeviceId} - Get collaboration device detail

GET {{baseUrl}}/users/:userId/collaboration_devices/:collaborationDeviceId

Get collaboration device detail. For user-level apps, pass the me value instead of the userId parameter.

Scopes: user:read:admin,user:read

Rate Limit Label: MEDIUM



39. users-{userId}-collaboration_devices - List a user's collaboration devices

GET {{baseUrl}}/users/:userId/collaboration_devices

List a user's collaboration devices. For user-level apps, pass the me value instead of the userId parameter.

Scopes: user:read:admin,user:read

Rate Limit Label: MEDIUM



40. users-{userId}-email - Update a user's email

PUT {{baseUrl}}/users/:userId/email

Change a user's email address on a Zoom account that has managed domain set up. For user-level apps, pass the me value instead of the userId parameter.

  • If the Zoom account in which the user belongs has multiple managed domains, then the email to be updated must match one of the managed domains.
  • A user's email address can be changed up to 3 times in any 24 hour period.

Prerequisites: * Managed domain must be enabled in the account. * The new email address should not already exist in Zoom.

Scopes: user:write:admin,user:write

Rate Limit Label: Light



41. users-{userId}-meeting_templates-{meetingTemplateId} - Get meeting template detail

GET {{baseUrl}}/users/:userId/meeting_templates/:meetingTemplateId

Retrieve a user's meeting template. For user-level apps, pass the me value instead of the userId parameter.

Scopes: user:read:admin,user:read

Rate Limit Label: Medium



42. users-{userId}-password - Update a user's password

PUT {{baseUrl}}/users/:userId/password

Update the password of a user using which the user can login to Zoom. For user-level apps, pass the me value instead of the userId parameter.

After this request is processed successfully, an email notification is sent to the user saying that the password was changed.

Prerequisites:

  • Owner or admin of the Zoom account.

Scopes: user:write:admin,user:write

Rate Limit Label: Medium



43. users-{userId}-permissions - Get user permissions

GET {{baseUrl}}/users/:userId/permissions

Get permissions that have been granted to the user. For user-level apps, pass the me value instead of the userId parameter.

Users can be assigned a set of permissions that allows them to access only the pages or information that a user needs to view or edit.

Scopes: user:read:admin,user:read

Rate Limit Label: LIGHT



44. users-{userId}-picture - Upload a user's profile picture

POST {{baseUrl}}/users/:userId/picture

Upload a user's profile picture. For user-level apps, pass the me value instead of the userId parameter.

Provide multipart/form-data as the value of the content-type header for this request. This API supports .jpeg and .png file formats.

Scopes: user:write:admin,user:write

Rate Limit Label: Medium



45. users-{userId}-picture - Delete a user's profile picture

DELETE {{baseUrl}}/users/:userId/picture

Delete a user's profile picture. For user-level apps, pass the me value instead of the userId parameter.

Scopes: user:write:admin,user:write

Rate Limit Label: Medium



46. users-{userId}-presence_status - Update a user's presence status

PUT {{baseUrl}}/users/:userId/presence_status

Update a user's presence status. For user-level apps, pass the me value instead of the userId parameter.

A user's status cannot be updated more than once per minute. For example, you can only submit a maximum of one update request per minute for a single user.

Users in the Zoom desktop client and mobile apps are assigned with a presence status. The presence status informs users of their contact's availability. Users can also change their own presence status to one the following: * Away * Do not disturb * Available * In a calendar event * Presenting * In a Zoom meeting * On a call * Out of Office * Busy

Note that a user's presence status cannot be updated via this API if the user is not logged in to the Zoom client.

Scopes: user:write:admin,user:write

Rate Limit Label: MEDIUM



47. users-{userId}-schedulers-{schedulerId} - Delete a scheduler

DELETE {{baseUrl}}/users/:userId/schedulers/:schedulerId

Delete a scheduler. For user-level apps, pass the me value instead of the userId parameter.

Schedulers are users who the current user (assistant) can schedule meetings on their behalf. By calling this API, the current user will no longer be a scheduling assistant of this scheduler.

Prerequisites: * Current user must be under the same account as the scheduler.

Scopes: user:write:admin,user:write

Rate Limit Label: Light



48. users-{userId}-schedulers - List user schedulers

GET {{baseUrl}}/users/:userId/schedulers

List all of a user's schedulers. For user-level apps, pass the me value instead of the userId parameter.

Schedulers in this context are users who can schedule meetings for the current user. For example, if the current user, the user whose userId was passed in the path parameter, is User A, this API's response will list all users for whom User A can schedule and manage meetings. User A is the assistant of these users, and thus has scheduling privilege for these users.

Prerequisites * Current user must be under the same account as the scheduler.

Scopes: user:read:admin,user:read

Rate Limit Label: Medium



49. users-{userId}-schedulers - Delete user schedulers

DELETE {{baseUrl}}/users/:userId/schedulers

Delete all of a user's schedulers. For user-level apps, pass the me value instead of the userId parameter.

Schedulers are users on whose behalf the current user (assistant) can schedule meetings for. By calling this API, the current user will no longer be a scheduling assistant of any user.

Prerequisites: * Current user (assistant) must be under the same account as the scheduler.

Scopes: user:write:admin,user:write

Rate Limit Label: Light



50. users-{userId}-settings-virtual_backgrounds - Upload Virtual Background files

POST {{baseUrl}}/users/:userId/settings/virtual_backgrounds

Use this API to upload a Virtual Background files to a user's profile. For user-level apps, pass the me value instead of the userId parameter.

Note: * A user profile cannot exceed more than 10 Virtual Background files. * You can only upload image files that are in JPG/JPEG, GIF or PNG format. * Video files must be in MP4 or MOV file format with a minimum resolution of 480 by 360 pixels (360p) and a maximum resolution of 1920 by 1080 pixels (1080p). * The Virtual Background file size cannot exceed 15 megabytes (MB).

Prerequisites: * The Virtual Background feature must be enabled on the account.

Scopes: user:write:admin,user:write

Rate Limit Label: MEDIUM



51. users-{userId}-settings-virtual_backgrounds - Delete Virtual Background files

DELETE {{baseUrl}}/users/:userId/settings/virtual_backgrounds?file_ids=<string>

Use this API to delete a user's Virtual Background files. For user-level apps, pass the me value instead of the userId parameter.

Prerequisites: * The Virtual Background feature must be enabled on the account.

Scopes: user:write:admin,user:write

Rate Limit Label: LIGHT



52. users-{userId}-settings - Get user settings

GET {{baseUrl}}/users/:userId/settings?login_type=99&option=recording_authentication&custom_query_fields=<string>

Retrieve a user's settings. For user-level apps, pass the me value instead of the userId parameter.

Scopes: user:read:admin,user:read

Rate Limit Label: MEDIUM



53. users-{userId}-settings - Update user settings

PATCH {{baseUrl}}/users/:userId/settings?option=recording_authentication

Update a user's settings. For user-level apps, pass the me value instead of the userId parameter.

Scopes: user:write:admin,user:write

Rate Limit Label: MEDIUM



54. users-{userId}-status - Update user status

PUT {{baseUrl}}/users/:userId/status

Deactivate an active user or to reactivate a deactivated user. For user-level apps, pass the me value instead of the userId parameter.

An account owner or admins can deactivate as well as activate a user in a Zoom account. Deactivating a user removes all licenses associated with a user, and prevents the deactivated user from logging into their Zoom account. A deactivated user can be reactivated. Reactivating a user grants the user access to log in to their Zoom account.

Scopes: user:write:admin,user:write

Rate Limit Label: Light



55. users-{userId}-token - Get a user's token

GET {{baseUrl}}/users/:userId/token?type=token&ttl=7200

Get a user's Zoom token or Zoom Access Key (ZAK). For user-level apps, pass the me value instead of the userId parameter.

Scopes: user:read:admin,user:read

Rate Limit Label: Light



56. users-{userId}-token - Revoke a user's SSO token

DELETE {{baseUrl}}/users/:userId/token

Revoke a user's SSO token. For user-level apps, pass the me value instead of the userId parameter.

After calling this API, the SSO user will be logged out of their current Zoom session.

Scopes: user:write:admin,user:write

Rate Limit Label: Light



57. users-{userId} - Get a user

GET {{baseUrl}}/users/:userId?login_type=99&encrypted_email=false&search_by_unique_id=<boolean>

View a user's information on a Zoom account. For user-managed apps, pass the me value instead of the userId parameter. Note: The user_info:read scope is only available when you pass the me value for the $userId value.

Users who have not activated their account will have a pending status. These users' created_at timestamp will also display the time at which the API call was made, not the account's creation date.

Scopes: user_info:read,user:read,user:read:admin

Rate Limit Label: LIGHT



58. users-{userId} - Delete a user

DELETE {{baseUrl}}/users/:userId?encrypted_email=false&action=disassociate&transfer_email=<string>&transfer_meeting=<boolean>&transfer_webinar=<boolean>&transfer_recording=<boolean>&transfer_whiteboard=<boolean>

Disassociate (unlink) a user or permanently delete a user.

Disassociating a user unlinks the user from the associated Zoom account and provides the user their own basic free Zoom account. The disassociated user can then purchase their own Zoom licenses. An account owner or account admin can transfer the user's meetings, webinars, and cloud recordings to another user before disassociation.

Deleting a user permanently removes the user and their data from Zoom. Users can create a new Zoom account using the same email address. An account owner or an account admin can transfer meetings, webinars, and cloud recordings to another Zoom user account before deleting.

For user-level apps, pass the me value instead of the userId parameter.

Note: This API does not support the deletion requirements of a Data Subject Access Request (DSAR). For a DSAR request, contact Zoom Support.

Scopes: user:write:admin,user:write

Rate Limit Label: LIGHT



59. users-{userId} - Update a user

PATCH {{baseUrl}}/users/:userId?login_type=99&remove_tsp_credentials=<boolean>

Update a user's Zoom profile information. For user-level apps, pass the me value instead of the userId parameter.

Scopes: user:write:admin,user:write

Rate Limit Label: LIGHT



60. users - List users

GET {{baseUrl}}/users?status=active&page_size=30&role_id=<string>&page_number=<string>&include_fields=host_key&next_page_token=<string>&license=zoom_workforce_management

Retrieve a list your account's users.

Scopes: user:read:admin

Rate Limit Label: MEDIUM



61. users - Create users

POST {{baseUrl}}/users

Add a new user to your Zoom account.

Note These rate limits apply when you use the create value for the action field: * 50 requests per day for Free accounts. * 1,500 requests per day for Pro accounts. * 10,000 requests per day for Business+ accounts.

Prerequisites: * A Pro or higher plan.

Scopes: user:write:admin

Rate Limit Label: LIGHT



ENDPOINTS