Logo
Zoom Public API Documentation

Zoom Team Chat API

Number of APIs: 40


1. report-chat-sessions-{sessionId} - Get chat messages reports

GET {{baseUrl}}/report/chat/sessions/:sessionId?from=<date>&to=<date>&next_page_token=<string>&page_size=30&include_fields=edited_messages,deleted_messages&include_bot_message=false

Gets Zoom Chat message reports for a specified period of time. The monthly date range must be within the last six months.

Scopes: report_chat:read:admin
Rate Limit Label: Medium

Prerequisites: * A Pro or higher plan * Report chat permissions



2. report-chat-sessions - Get chat sessions reports

GET {{baseUrl}}/report/chat/sessions?from=<date>&to=<date>&page_size=30&next_page_token=<string>

Gets Zoom Chat session reports for a specified period of time. The monthly date range must be within the last six months.

Scopes: report_chat:read:admin
Rate Limit Label: Medium

Prerequisites: * A Pro or higher plan * Report chat permissions.



3. im-users-{userId}-chat-messages - Get user's IM messages

GET {{baseUrl}}/im/users/:userId/chat/messages?chat_user=<email>&channel=<string>&date=<date>&page_size=30&next_page_token=<string>

Gets IM Chat messages for a specified period of time. This API only supports Oauth2.
Scopes: imchat:read
Rate Limit Label: Medium

Deprecated: By end of 2021, Zoom is deprecating this API in favor of a consolidated set of APIs. The API will still be available for you to use, though Zoom will no longer provide support for it. For further information, see Announcements: IM APIs Deprecation.



4. im-users-me-chat-messages - Send IM messages

POST {{baseUrl}}/im/users/me/chat/messages?chat_user=<email>

Sends chat message to a user.



Scope: imchat:write

Rate Limit Label: Medium



5. im-chat-sessions-{sessionId} - Get IM chat messages

GET {{baseUrl}}/im/chat/sessions/:sessionId?from=<date>&to=<date>&page_size=30&next_page_token=<string>

Retrieves IM chat messages for a specified period of time. This API only supports oauth2.

Scopes: imchat:read

Rate Limit Label: Medium


Deprecated: By end of 2021, Zoom is deprecating this API in favor of a consolidated set of APIs. The API will still be available for you to use, though Zoom will no longer provide support for it. For further information, see Announcements: IM APIs Deprecation.



6. im-chat-sessions - Get IM chat sessions

GET {{baseUrl}}/im/chat/sessions?from=<date>&to=<date>&page_size=30&next_page_token=<string>

Retrieves IM Chat sessions for a specified period of time. This API only supports Oauth2.

Scopes: imchat:read, imchat:read:admin
Rate Limit Label: Heavy

Deprecated: By end of 2021, Zoom is deprecating this API in favor of a consolidated set of APIs. The API will still be available for you to use, though Zoom will no longer provide support for it. For further information, see Announcements: IM APIs Deprecation.



7. contacts - Search company contacts

GET {{baseUrl}}/contacts?search_key=<string>&query_presence_status=<boolean>&page_size=1&contact_types=1&user_status=inactive&next_page_token=<string>

A user under an organization's Zoom account has internal users listed under Company Contacts in the Zoom Client. Use this API to search users that are in the company contacts of a Zoom account. Using the search_key query parameter, provide either first name, last name or the email address of the user that you would like to search for. Optionally, set query_presence_status to true in order to include the presence status of a contact.

Scopes: contact:read:admin, contact:read

Rate Limit Label: Medium



8. chat-users-{userId}-sessions - List a user's chat sessions

GET {{baseUrl}}/chat/users/:userId/sessions?type=1:1&page_size=10&next_page_token=<string>

Retrieves a user's chat sessions. For user-level apps, pass the me value instead of the userId parameter.

Note: For an account-level OAuth app, this API can only be used on behalf of a user who is assigned a role that has the View or Edit permission for Chat Messages.

Scopes: chat_message:read, chat_message:read:admin
Rate Limit Label: Medium



9. chat-users-{userId}-messages-{messageId}-status - Mark message read or unread

PATCH {{baseUrl}}/chat/users/:userId/messages/:messageId/status

Marks a chat message as read or unread. For user-level apps, pass the me value instead of the userId parameter.

Note:

For an account-level OAuth app, this API can only be used on behalf of a user assigned to a role with the **Edit** permission for Chat Messages.

Scopes: chat_message:write, chat_message:write:admin
Rate Limit Label: Medium



10. chat-users-{userId}-messages-{messageId}-emoji_reactions - React to a chat message

PATCH {{baseUrl}}/chat/users/:userId/messages/:messageId/emoji_reactions

Adds or removes an emoji to a chat message.

For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has the Edit permission for Chat Messages.

Scopes: chat_message:write, chat_message:write:admin
Rate Limit Label: Medium



11. chat-users-{userId}-messages-{messageId} - Delete a message

DELETE {{baseUrl}}/chat/users/:userId/messages/:messageId?to_contact=<email>&to_channel=<string>

Deletes a chat message previously sent to a contact or a channel. For user-level apps, pass the me value instead of the userId parameter.

For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has the Edit permission for Chat Messages.

Scopes: chat_message:write, chat_message:write:admin
Rate Limit Label: Medium



12. chat-users-{userId}-messages-{messageId} - Get a message

GET {{baseUrl}}/chat/users/:userId/messages/:messageId?to_contact=<email>&to_channel=<string>&download_file_formats=audio/mp4

Gets a chat message previously sent to a contact or a channel. For user-level apps, pass the me value instead of the userId parameter.

You must provide one of the following query parameters:
* to_contact — The email address of the Zoom contact to whom you sent the message. * to_channel — The ID of the Zoom channel where you sent the message.

Scopes: chat_message:read, chat_message:read:admin
Rate Limit Label: Medium

Note: For an account-level OAuth app, you can only use this API for a user assigned the Edit permission for the Chat message role setting.



13. chat-users-{userId}-messages-{messageId} - Update a message

PUT {{baseUrl}}/chat/users/:userId/messages/:messageId

Edits a chat message that you previously sent to either a contact or a channel in Zoom by providing the ID of the message as the value of the messageId parameter. You can get the ID from the List User's Chat Messages API. Additionally, as a query parameter, you must provide either the contact's email address of the contact or the Channel ID of the channel where the message was sent.

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

Note: For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has the Edit permission for Chat Messages.

Scope: chat_message:write,chat_message:write:admin
Rate Limit Label: Medium



14. chat-users-{userId}-messages-files - Send a chat file

POST {{baseUrl}}/chat/users/:userId/messages/files

Sends a file on Zoom to either an individual user in your contact list or a channel of which you are a member.

Note: * The base URL for this API is https://file.zoom.us/v2/. * The rate limit of this API is 20 requests per second per API or 2000 requests per second per IP address. * The caller must support HTTP 30x redirects. * All files are sent as common files except png,jpg,jpeg and gif * Zoom Cloud Storage will store the files sent through this API. If you do not use Zoom Cloud Storage, Zoom Cloud will temporarily store these files for 7 days. * The caller must retain the authorization header when redirected to a different hostname.

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

For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has the Edit permission for Chat Messages.

Scopes: chat_message:write, chat_message:write:admin



15. chat-users-{userId}-messages - List user's chat messages

GET {{baseUrl}}/chat/users/:userId/messages?to_contact=<email>&to_channel=<string>&date=<date>&from=<dateTime>&to=<dateTime>&page_size=10&next_page_token=<string>&include_deleted_and_edited_message=<boolean>&search_type=file&search_key=<string>&exclude_child_message=false&download_file_formats=audio/mp4

Searches chat messages or shared files between a user and an individual contact or a chat channel. For user-level apps, pass the me value instead of the userId parameter.

Note: For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has the View or Edit permission for Chat Messages.

Scopes: chat_message:read, chat_message:read:admin
Rate Limit Label: Medium



16. chat-users-{userId}-messages - Send a chat message

POST {{baseUrl}}/chat/users/:userId/messages

Sends chat messages on Zoom to either an individual user who is in your contact list or to a channel of which you are a member. For user-level apps, pass the me value instead of the userId parameter.

To send a message to a contact, provide the contact's email address in the to_contact field. To send a message to a channel, provide the channel's ID in to_channel parameter

Scopes: chat_message:write, chat_message:write:admin
Rate Limit Label: Medium

Note: For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has the Edit permission for Chat Messages.



17. chat-users-{userId}-files - Upload a chat file

POST {{baseUrl}}/chat/users/:userId/files

Uploads a file to chat.

Note: * The base URL for this API's is https://file.zoom.us/v2/. * The rate limit of this API is 20 requests per second per API or 2000 requests per second per IP address. * The caller must support HTTP 30x redirects. * All files are sent as common files except png,jpg,jpeg and gif * Zoom Cloud Storage will store the files sent through this API. If you do not use Zoom Cloud Storage, Zoom Cloud will temporarily store these files for 7 days. * The caller must retain the authorization header when redirected to a different hostname.

For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has the Edit permission for Chat Messages.

Scopes: chat_message:write, chat_message:write:admin



18. chat-users-{userId}-channels-{channelId}-members-{identifier} - Remove a member

DELETE {{baseUrl}}/chat/users/:userId/channels/:channelId/members/:identifier

Removes a member from a chat channel. A channel can have one or many members. For user-level apps, pass the me value instead of the userId parameter.

Scopes: chat_channel:write:admin
Rate Limit Label: Medium

Note: For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has Edit permission for Chat Channels.



19. chat-users-{userId}-channels-{channelId}-members - List channel members

GET {{baseUrl}}/chat/users/:userId/channels/:channelId/members?page_size=30&next_page_token=<string>

Lists all members of a channel. For user-level apps, pass the me value instead of the userId parameter.

Scopes: chat_channel:read:admin
Rate Limit Label: Medium

Note: For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has the View or Edit permission for Chat Channels.



20. chat-users-{userId}-channels-{channelId}-members - Invite channel members

POST {{baseUrl}}/chat/users/:userId/channels/:channelId/members

Invites members that are in a user's contact list to a channel. For user-level apps, pass the me value instead of the userId parameter.

Scopes: chat_channel:write:admin
Rate Limit Label: Medium

Note: For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has the Edit permission for Chat Channels.



21. chat-users-{userId}-channels-{channelId}-admins - List channel administrators

GET {{baseUrl}}/chat/users/:userId/channels/:channelId/admins?page_size=10&next_page_token=<string>

Lists all administrators of a channel. For user-level apps, pass the me value instead of the userId parameter.

Scopes: chat_channel:read:admin
Rate Limit Label: Medium

Note: For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has the View or Edit permission for Chat Channels.



22. chat-users-{userId}-channels-{channelId}-admins - Promote channel members to administrators

POST {{baseUrl}}/chat/users/:userId/channels/:channelId/admins

Promotes members to administrator role in a channel. For user-level apps, pass the me value instead of the userId parameter.

Scopes: chat_channel:write:admin
Rate Limit Label: Medium

Note: For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has the Edit permission for Chat Channels.



23. chat-users-{userId}-channels-{channelId}-admins - Batch demote channel administrators

DELETE {{baseUrl}}/chat/users/:userId/channels/:channelId/admins?admin_ids=<string>&user_ids=<string>

Demotes administrators in a channel in batch. For user-level apps, pass the me value instead of the userId parameter.

Scopes: chat_channel:write:admin
Rate Limit Label: Medium

Note: For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has the Edit permission for Chat Channels.



24. chat-users-{userId}-channels-{channelId} - Delete a channel

DELETE {{baseUrl}}/chat/users/:userId/channels/:channelId

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

Zoom chat channels allow users to communicate via chat in private or public groups.

Scopes: chat_channel:write:admin
Rate Limit Label: Medium

Note: This API only supports a user-managed OAuth app.



25. chat-users-{userId}-channels-{channelId} - Get a channel

GET {{baseUrl}}/chat/users/:userId/channels/:channelId

Gets information about a specific channel. For user-level apps, pass the me value instead of the userId parameter.

Zoom chat channels allow users to communicate via chat in private or public groups.

Scopes: chat_channel:read:admin
Rate Limit Label: Medium

Note: For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has the View or Edit permission for Chat Channels.



26. chat-users-{userId}-channels-{channelId} - Update a channel

PATCH {{baseUrl}}/chat/users/:userId/channels/:channelId

Updates the name and settings of a specific channel owned or administrated by a user. For user-level apps, pass the me value instead of the userId parameter.

Zoom chat channels allow users to communicate via chat in private or public channels.

Scopes: chat_channel:write:admin
Rate Limit Label: Medium

Note: For an account-level OAuth app, this API can only be used on behalf of a user who is assigned with a role that has the Edit permission for Chat Channel.



27. chat-users-{userId}-channels - List user's channels

GET {{baseUrl}}/chat/users/:userId/channels?page_size=10&next_page_token=<string>

Lists a user's chat channels. For user-level apps, pass the me value instead of the userId parameter.

Zoom chat channels allow users to communicate via chat in private or public groups.

Scopes: chat_channel:read or chat_channel:read:admin
Rate Limit Label: Medium

Note: This API supports both user-managed apps and account-level apps. However, in an account-level OAuth app, to list channels of another user in the same Zoom account, the user calling this API must have a role that has the View or Edit permission for the Chat channels feature.



28. chat-users-{userId}-channels - Create a channel

POST {{baseUrl}}/chat/users/:userId/channels

Creates a channel for a user. For user-level apps, pass the me value instead of the userId parameter.

Zoom chat channels allow users to communicate via chat in private or public groups.

Scopes: chat_channel:write or chat_channel:write:admin
Rate Limit Label: Medium

Note: This API supports both user-managed apps and account-level apps. However, in an account-level OAuth app, to create a channel on behalf of another user in the same Zoom account, the user calling this API must have a role that has the Edit permission for the Chat channels feature.



29. chat-users-me-contacts-{identifier} - Get user's contact details

GET {{baseUrl}}/chat/users/me/contacts/:identifier?query_presence_status=<boolean>

A user under an organization's Zoom account has internal users listed under Company Contacts in the Zoom Client. A Zoom user can also add another Zoom user as a contact. Call this API to get information on a specific contact of the Zoom user.

Note: This API only supports user-managed OAuth app.


Scope: chat_contact:read

Rate Limit Label: Medium



30. chat-users-me-contacts - List user's contacts

GET {{baseUrl}}/chat/users/me/contacts?type=company&page_size=10&next_page_token=<string>

A user under an organization's Zoom account has internal users listed under Company Contacts in the Zoom Client. A Zoom user can also add another Zoom user as a contact. Call this API to list all the contacts of a Zoom user. Zoom contacts are categorized into company contacts and external contacts. You must specify the contact type in the type query parameter. If you do not specify, by default, the type will be set as company contact.

Note: This API only supports user-managed OAuth app.


Scope: chat_contact:read

Rate Limit Label: Medium



31. chat-channels-{channelId}-members-{identifier} - Remove a member

DELETE {{baseUrl}}/chat/channels/:channelId/members/:identifier

Removes a member from a chat channel. A channel can have one or many members.

Scopes: chat_channel:write
Rate Limit Label: Medium

Note: This API only supports user-managed OAuth apps.




32. chat-channels-{channelId}-members-me - Leave a channel

DELETE {{baseUrl}}/chat/channels/:channelId/members/me

Leaves a specific channel. After leaving the channel, you can no longer access information from that channel.If you're no longer interested in being a member of an existing channel, you can leave the channel at any time.

Note: This API only supports user-managed OAuth app.


Scope: chat_channel:write
Rate Limit Label: Medium



33. chat-channels-{channelId}-members-me - Join a channel

POST {{baseUrl}}/chat/channels/:channelId/members/me

Joins a channel that is open for anyone in the same organization to join. A channel can have one or more members. You cannot use this API to join private channels that only allow invited members to be a part of them.

Note: This API only supports user-managed OAuth apps.


Scope: chat_channel:write
Rate Limit Label: Medium



34. chat-channels-{channelId}-members - Batch remove members from a channel

DELETE {{baseUrl}}/chat/channels/:channelId/members?member_ids=<string>&user_ids=<string>

Batch removes multiple members from a chat channel. A channel can have one or many members.

Scopes: chat_channel:write
Rate Limit Label: Medium

Note: This API only supports user-managed OAuth apps.




35. chat-channels-{channelId}-members - List channel members

GET {{baseUrl}}/chat/channels/:channelId/members?next_page_token=<string>&page_size=30

Lists all members of a channel.

Scopes: chat_channel:read
Rate Limit Label: Medium



36. chat-channels-{channelId}-members - Invite channel members

POST {{baseUrl}}/chat/channels/:channelId/members

Invites members that are in a user's contact list to a channel. A channel can have one or multiple members. The maximum number of members that can be added at once with this API is 5.

Scope: chat_channel:write
Note: This API only supports user-managed OAuth app

Rate Limit Label: Medium



37. chat-channels-{channelId} - Delete a channel

DELETE {{baseUrl}}/chat/channels/:channelId

Deletes a specific channel. Zoom chat channels allow users to communicate via chat in private or public groups.

Scope: chat_channel:write
Rate Limit Label: Medium

Note: This API only supports user-managed OAuth app.




38. chat-channels-{channelId} - Get a channel

GET {{baseUrl}}/chat/channels/:channelId

Gets information about a specific channel. Zoom chat channels allow users to communicate via chat in private or public groups.

Scope: chat_channel:read
Rate Limit Label: Medium

Note: This API supports only user-managed OAuth apps. If you use an Account-Level OAuth Access token, you can only retrieve the channel information for the authorized user. You can't retrieve the channel information of other account users. Use the Get a channel API to retrieve the channel information of other account users.



39. chat-channels-{channelId} - Update a channel

PATCH {{baseUrl}}/chat/channels/:channelId

Updates the name and settings of a specific channel owned or administrated by you. Zoom chat channels allow users to communicate via chat in private or public channels.

Scope: chat_channel:write
Rate Limit Label: Medium

Note: This API only supports user-managed OAuth app.




40. chat-channels - List account's public channels

GET {{baseUrl}}/chat/channels?page_size=10&next_page_token=<string>

Lists public chat channels created by an account's users.

Note: This API only supports account-level apps. The user calling this API must have a role that has the View or Edit permission for the Chat Channels feature.

Scopes: chat_channel:read:admin
Rate Limit Label: Medium



ENDPOINTS