Accounts

  • OpenAPI Version: 3.1.1
  • API Version: 2

The Zoom Account APIs allow developers to programatically access data related to accounts, dashboards, information barriers, and roles.

Servers

  • URL: https://api.zoom.us/v2

Operations

Get locked settings

  • Method: GET
  • Path: /accounts/{accountId}/lock_settings
  • Tags: Accounts

Retrieves an account's locked settings.

Account admins and account owners can use Account Locked Settings to toggle settings on or off for all users in their account.

Note: You can use Account Locked Settings with accounts that have master and sub accounts enabled.

Prerequisites:

  • Pro or a higher paid account.

[Scopes(/docs/integrations/oauth-scopes-overview/): account:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): account:read:lock_settings:master

Rate Limit Label: MEDIUM

Responses

Status: 200 **Error Code:** `200` Only available for paid account:$accountId. **HTTP Status Code:** `200` Locked settings for the Account returned.
Content-Type: application/json

One of:

  • ai

    object — Lock settings for Workspace Reservation recommendations with AI.

    • ai_generated_virtual_backgrounds

      boolean — Whether the ai_generated_virtual_backgrounds setting is locked.

    • ai_panel_in_workplace

      object — Lock settings for the AI panel in Zoom Workplace.

      • delete_ai_conversation

        boolean — Whether automatic AI conversation deletion in the AI panel is locked.

      • delete_ai_conversation_time

        boolean — Whether the AI panel conversation retention period is locked.

      • enabled

        boolean — Whether the AI panel in Zoom Workplace is locked.

    • allow_user_create_customize_avatar

      object — Lock settings for clips allow user create customize avatar.

      • enable

        boolean — Whether the clips allow user create customize avatar is locked.

    • canvas_ai_content_generation

      boolean — Whether the Canvas AI content generation and revision setting is locked.

    • canvas_ai_post_meeting_writing_tasks

      boolean — Whether the Canvas post-meeting writing task setting is locked.

    • canvas_ai_sentence_completion

      boolean — Whether the Canvas AI sentence completion setting is locked.

    • chat_compose

      boolean — Compose with AI Companion.

    • chat_summary

      boolean — Summarize with AI Companion.

    • clips_create_video_with_aic

      object — Lock settings for clips create video with aic.

      • enable

        boolean — Whether the clips create video with aic is locked.

    • clips_summarization_generation

      object — Lock settings for clips summarization generation.

      • enable

        boolean — Whether the clips summarization generation is locked.

    • enable_ai_on_web

      boolean — Whether Zoom AI on the web is locked.

    • enable_email_compose_with_ai

      boolean — Whether Zoom Mail AI compose is locked.

    • full_display_names_in_ai_assets

      boolean — Whether the full_display_names_in_ai_assets setting is locked.

    • google

      object — Lock settings for Google data sources.

      • enable

        boolean — Whether Google data sources are locked.

    • hub_ai_question_and_file_creation

      boolean — Whether the Hub AI search and file creation setting is locked.

    • include_webinar_summary_follow_up_email

      object — Lock settings for including the webinar summary in follow-up email.

      • enable

        boolean — Whether including the webinar summary in follow-up email is locked.

    • local_file_uploads

      boolean — Whether Local file uploads as an AI data source are locked.

    • meeting_agenda

      boolean — Whether the meeting_agenda setting is locked.

    • meeting_chat_messages

      boolean — Whether the meeting_chat_messages setting is locked.

    • meeting_coach

      object — Lock settings for Meeting Coach with AI.

      • enable

        boolean — Whether Meeting Coach with AI is locked.

    • meeting_questions

      object — Zoom AI answers the meeting questions based on what is said in the meeting. If a transcript is retained, participants with access will be able to ask questions after the meeting based on that transcript. The nested Boolean properties indicate whether the corresponding setting is locked.

      • auto_enable

        boolean — Whether to automatically allow access when the meeting starts. The Boolean indicates whether this setting is locked.

      • enable

        boolean — Whether to allow hosts and invited participants to ask questions to AI Companion during a meeting. The Boolean indicates whether this setting is locked.

      • who_can_ask_questions

        boolean — Defines who can ask questions about this meeting's transcript. The corresponding setting values are `from_entire_meeting` (all participants and invitees), `from_join_meeting` (all participants only from when they join), `host` (only the meeting host), `org` (participants and invitees in the organization), and `org_from_join_meeting` (participants in the organization only from when they join). The Boolean indicates whether this setting is locked.

    • meeting_summary

      object — Allow hosts to generate a summary. Summaries are sent based on sharing permissions after the meeting has ended. The nested Boolean properties indicate whether the corresponding setting is locked.

      • auto_enable

        boolean — Whether to turn on meeting summary automatically when meetings start. The Boolean indicates whether this setting is locked.

      • enable

        boolean — Whether to allow hosts to generate a summary. The Boolean indicates whether this setting is locked.

      • who_will_receive_summary

        boolean — Automatically share summary with. The corresponding setting values are `host` (only meeting host), `alt_host` (only meeting host, co-hosts, and alternative hosts), `organization` (only meeting host and meeting invitees in our organization), and `all` (all meeting invitees including those outside of our organization). The Boolean indicates whether this setting is locked.

    • meeting_summary_default_language

      object — When this feature is enabled, all meeting summaries will automatically use the language you choose. The nested Boolean properties indicate whether the corresponding setting is locked.

      • enable

        boolean — When this feature is enabled, all meeting summaries will automatically use the language you choose. The Boolean indicates whether this setting is locked.

    • meeting_summary_docs

      object — Lock settings for meeting summary Docs.

      • enable

        boolean — Whether automatic Zoom Doc creation is locked.

      • share_with_summary_recipients

        boolean — Whether sharing generated Zoom Docs with meeting summary recipients is locked.

    • meeting_summary_email_only_mode

      boolean — When this setting is enabled, summaries will only be shared to users by email. Users will not be able to view or edit summaries on the Zoom client or web portal, as the meeting summary will not be retained. The Boolean indicates whether this setting is locked.

    • meeting_summary_ip_access

      object — Allow meeting summary access only from specific IP address ranges. The nested Boolean properties indicate whether the corresponding setting is locked.

      • enable

        boolean — Whether meeting summary access is restricted to specific IP address ranges. The Boolean indicates whether this setting is locked.

    • meeting_summary_retention

      object — Lock settings for meeting summary retention.

      • enable

        boolean — Whether automatic meeting summary deletion is locked.

    • meeting_summary_template

      object — Allow users to select a meeting summary template for their meetings. After the meeting, the summary will be generated into the new template. The nested Boolean properties indicate whether the corresponding setting is locked.

      • enable

        boolean — Whether users can select a meeting summary template for their meetings. After the meeting, the summary will be generated into the new template. The Boolean indicates whether this setting is locked.

    • microsoft_365

      object — Lock settings for Microsoft 365 data sources.

      • enable

        boolean — Whether Microsoft 365 data sources are locked.

    • my_notes_ai_content_generation

      boolean — Whether the My Notes AI content generation setting is locked.

    • my_notes_meeting_transcription

      boolean — Whether the My Notes meeting transcription setting is locked.

    • organization_custom_dictionaries

      boolean — Whether allowing AI to consume the organization's custom dictionaries is locked.

    • paper_ai_content_generation

      boolean — Whether the Zoom Paper AI content generation and revision setting is locked.

    • participant_can_request_aic_in_meeting

      boolean — Participants can request the host to start in-meeting AI features. The Boolean indicates whether this setting is locked.

    • phone_user_ai_notices

      object — Lock settings for phone user AI notices.

      • enable

        boolean — Whether phone user AI notices are locked.

    • remind_me_turn_on_aic

      boolean — If you don't set AI features to auto-start in your meetings, you will be reminded to turn on AI at the beginning of each meeting you host. The Boolean indicates whether this setting is locked.

    • remind_me_turn_on_catch_me_up

      boolean — When you join a meeting late, you'll get a prompt for AI to summarize what's been discussed so far. The Boolean indicates whether this setting is locked.

    • restrict_aic_when_external_user_join_meeting

      boolean — Automatically restrict Zoom AI and transcription features when external users or groups join a meeting. The Boolean indicates whether this setting is locked.

    • restrict_aic_when_restrict_user_join

      boolean — When members of this group join a meeting, Zoom AI features will not be permitted for that session. This will only impact meetings within this organization. The Boolean indicates whether this setting is locked.

    • restrict_users_from_deleting_ai_companion_assets

      boolean — When enabled, users cannot delete AI assets. Only admins can delete them. The Boolean indicates whether this setting is locked.

    • restrict_users_from_editing_ai_companion_assets

      boolean — When enabled, users cannot edit AI assets. Only admins can edit them. The Boolean indicates whether this setting is locked.

    • restrict_users_from_joining_ai_enabled_meetings

      object — Users would be restricted from joining meetings in which AI meeting processing (meeting questions and summary) is allowed. The nested Boolean properties indicate whether the corresponding setting is locked.

      • enable

        boolean — Whether users are restricted from joining meetings in which AI meeting processing (meeting questions and summary) is allowed. The Boolean indicates whether this setting is locked.

    • screen_share_ocr

      boolean — Whether the screen_share_ocr setting is locked.

    • sheets_ai_content_generation

      boolean — Whether the Zoom Sheets AI content generation and revision setting is locked.

    • sheets_ai_formula

      boolean — Whether the Zoom Sheets AI Formula setting is locked.

    • sheets_ai_function

      boolean — Whether the Zoom Sheets AI Function setting is locked.

    • sheets_ai_resources

      boolean — Whether the Zoom Sheets AI Resources setting is locked.

    • show_conversational_ai_companion

      object — Lock settings for the conversational AI companion.

      • delete_ai_conversation

        boolean — Whether automatic AI conversation deletion is locked.

      • delete_ai_conversation_time

        boolean — Whether the AI conversation retention period is locked.

      • enable_zoom_mate

        boolean — Whether ZoomMate availability is locked.

      • enabled

        boolean — Whether conversational AI is locked.

    • slides_ai_content_generation

      boolean — Whether the Zoom Slides AI content generation and revision setting is locked.

    • smart_recording

      object — Lock settings for Smart Recording.

      • enable

        boolean — Whether the Smart Recording is locked.

    • task_creation_and_management

      object — Lock settings for task creation and management with AI.

      • enable

        boolean — Whether task creation and management with AI is locked.

    • third_party_app_tasks

      boolean — Whether allowing AI to perform tasks in third-party apps is locked.

    • third_party_meeting_join

      object — Lock settings for third-party meeting join with AI.

      • allow_recording

        boolean — Whether recording for joined third-party meetings is locked.

      • calendar

        object — Lock settings for calendar-based third-party meeting join.

        • enable

          boolean — Whether calendar-based third-party meeting join is locked.

      • enable

        boolean — Whether third-party meeting join with AI is locked.

      • pre_meeting_email_notification

        object — Lock settings for pre-meeting email notification.

        • enable

          boolean — Whether pre-meeting email notification is locked.

    • web_content

      boolean — Whether Web content as an AI data source is locked.

    • webinar_questions

      object — During the webinar, answers are based on speech-to-text data. If a transcript is retained, participants with access can ask questions after the webinar based on that transcript. The nested Boolean properties indicate whether the corresponding settings are locked.

      • auto_enable

        boolean — Whether automatically allowing access when the webinar starts is locked.

      • enable

        boolean — Whether allowing users to ask webinar questions with AI is locked.

      • who_can_ask_questions

        boolean — Who can ask questions about the webinar. The supported values are `panelist_all` (hosts and all panelists), `panelist_org` (hosts and all panelists in the organization), `host` (only webinar host, co-hosts, and alternative hosts), and `all_participants` (all participants). The Boolean indicates whether this setting is locked.

    • webinar_summary

      object — Allow hosts to generate a summary. Summaries are sent after the webinar ends based on sharing permissions. The nested Boolean properties indicate whether the corresponding settings are locked.

      • auto_enable

        boolean — Whether automatically turning on webinar summary when the webinar starts is locked.

      • email_notification

        boolean — Whether sending an email notification when sharing to participants is locked.

      • enable

        boolean — Whether allowing hosts to generate a summary is locked.

      • restrict_share_to_outside_of_organization

        boolean — Whether restricting users from sharing summaries to those outside of the organization is locked.

      • who_will_receive_summary

        boolean — Who will automatically receive the summary. The supported values are `host` (only webinar host), `host_and_panelist_in_organization` (only webinar host, co-hosts, and panelists in the organization), and `host_and_panelist_not_in_organization` (webinar host, co-hosts, and all panelists, including those outside the organization). The Boolean indicates whether this setting is locked.

    • webinar_summary_follow_up_email

      boolean — Whether webinar summaries are included in webinar follow-up email. Deprecated. Use `include_webinar_summary_follow_up_email`. The Boolean indicates whether this setting is locked.

    • webinar_summary_ocr

      boolean — Whether using screen share content with OCR for webinar summaries is locked.

    • whiteboard_content_generation

      boolean — Whether Whiteboard content generation with AI is enabled.

    • workspace_reservation_recommendations_with_ai

      object — Lock settings for Workspace Reservation recommendations with AI.

      • enabled

        boolean — Whether Workspace Reservation recommendations with AI are locked.

    • zoom_events_chat_panel

      boolean — Whether the AI chat panel in Zoom Events is locked.

    • zoom_events_session_summary

      object — Lock settings for Zoom Events session summary.

      • auto_start

        boolean — Whether automatically turning on session summary when sessions start is locked.

      • enable

        boolean — Whether Zoom Events session summaries are locked.

  • audio_conferencing

    object — Account Audio Conference Settings

  • chat

    object

    • ai_compose

      boolean — The field has been moved from the `chat` object to the `ai` object and renamed to `chat_compose` to better reflect its functionality. Compose with AI Companion.

    • ai_quick_schedule

      boolean — Quick schedule with AI Companion.

    • ai_recommend

      boolean — **Zoom no longer supports this feature.** Chat Recommendation with Zoom AI Companion.

    • ai_reply

      boolean — **Zoom no longer supports this feature.** Quick reply with AI Companion.

    • ai_sentence_completion

      boolean — **Zoom no longer supports this feature.** Sentence completion with AI Companion.

    • ai_summary

      boolean — The field has been moved from the `chat` object to the `ai` object and renamed to `chat_summary` to better reflect its functionality. Summarize with AI Companion.

    • allow_create_channels_and_group_chats

      boolean — Whether to allow users to create channels and group chats.

    • allow_delete_message

      boolean — Whether to allow users to delete messages.

    • allow_edit_message

      boolean — Whether to allow users to edit messages.

    • allow_huddles_from_channels

      boolean — Whether to allow huddles from channels.

    • allow_users_to_add_contacts

      boolean — Whether to allow users to add contacts.

    • allow_users_to_chat_with_others

      boolean — Whether to Allow users to chat with others.

    • chat_email_address

      boolean — Chat email address.

    • chat_emojis

      boolean — Allow users to use the emoji library in direct messages or group conversations. Choose between allowing users to use any emoji in the library, or using only pre-selected emojis. If the setting is disabled, users can still use keyboard shortcuts to add emojis. Users can change their emoji skin tone in Settings.

    • chat_etiquette_tool

      boolean — Whether to enable the **Chat Etiquette Tool**.

    • download_file

      boolean — Whether to allow users to downloading files.

    • presence_away_when_screen_saver

      boolean — Change my status to away when screen saver begins.

    • presence_on_meeting

      boolean — Change my presence status when I am in a meeting or call.

    • read_receipts

      boolean — Whether to enable read receipts.

    • record_video_messages

      boolean — Allow users to record video messages that can be sent in direct messages or group conversations. If the file share setting is disabled, they will not be able to record and send video messages.

    • record_voice_messages

      boolean — Allow users to record voice messages that can be sent in direct messages or group conversations.

    • schedule_meetings_in_chat

      boolean — Schedule a meeting from chat or channel.

    • screen_capture

      boolean — Allow users to take and send screenshots in direct messages or group conversations.

    • search_and_send_animated_gif_images

      boolean — Whether to allow users to search GIF images from GIPHY when they compose messages.

    • send_data_to_third_party_archiving_service

      boolean — Whether to send data to third-party archiving service.

    • set_retention_period_in_cloud

      boolean — By default, messages and files are stored in Zoom's cloud. Enable this setting to specify when they are deleted. When retention is disabled, messages sent by offline users can be received within 7 days before they are deleted.

    • set_retention_period_in_local

      boolean — Specify how long your messages are saved on local devices. If this setting is disabled, messages are never deleted locally.

    • share_files

      boolean — Users can share files in chats and channels.

    • share_links_in_chat

      boolean — Share links to messages and channels in Team Chat.

    • share_screen_in_chat

      boolean — Whether to allow users to share screen in chat.

    • shared_spaces

      boolean — Whether to allow users to create Shared Spaces.

    • survey_poll

      boolean — Allow users to launch a poll in chats and channels.

    • translate_messages

      boolean — Allow users to translate team chat messages. [Learn more].(https://support.zoom.us/hc/en-us/articles/12998089084685)

  • email_notification

    object

    • alternative_host_reminder

      boolean — Notify the alternative host who is set or removed.

    • cancel_meeting_reminder

      boolean — Notify host and participants when the meeting is cancelled.

    • cloud_recording_available_reminder

      boolean — Whether to notify the host when a cloud recording is available.

    • jbh_reminder

      boolean — Notify host when participants join the meeting before them.

    • schedule_for_reminder

      boolean — Notify the host there is a meeting is scheduled, rescheduled, or cancelled.

  • in_meeting

    object

    • ai_companion_questions

      object — Whether to allow hosts and invited participants to ask questions to AI Companion during a meeting. Questions are answered based on the conversation transcript.

      • auto_enable_locked

        boolean — Whether to lock the setting that automatically allows access when the meeting starts.

      • locked

        boolean — Whether to lock the setting that allows hosts and invited participants to ask questions to AI Companion during a meeting.

      • who_can_ask_questions_locked

        boolean — Whether to lock the setting that defines who can ask questions about the meeting's transcript.

    • alert_guest_join

      boolean — Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting or webinar.

    • allow_live_streaming

      boolean — Whether to allow livestreaming.

    • allow_show_zoom_windows

      boolean — Show Zoom windows during screen share.

    • allow_users_to_delete_messages_in_meeting_chat

      boolean — If the value of this field is set to `true`, allow users to delete messages in the in-meeting chat.

    • annotation

      boolean — Allow participants to use annotation tools to add information to shared screens.

    • anonymous_question_answer

      boolean

    • attendee_on_hold

      boolean, default: false — Allow host to put attendee on hold. **This field has been deprecated and is no longer supported.**

    • attention_mode_focus_mode

      boolean, default: false — Whether to enable the [**Focus Mode**](https://support.zoom.us/hc/en-us/articles/360061113751-Using-focus-mode) feature. When enabled, this feature only displays the host and co-hosts' video and profile pictures during a meeting. This value defaults to `false`.

    • auto_answer

      boolean — Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.

    • auto_generated_captions

      boolean — Whether to enable Zoom's [live transcription feature](https://support.zoom.us/hc/en-us/articles/207279736-Managing-closed-captioning-and-live-transcription#h_01FHGGHYJ4457H4GSZY0KM3NSB).

    • auto_saving_chat

      boolean — Automatically save all in-meeting chats.

    • breakout_room

      boolean — Allow host to split meeting participants into separate, smaller rooms.

    • chat

      boolean — Allow meeting participants to send chat message visible to all participants.

    • closed_caption

      boolean — Allow host to type closed captions or assign a participant/third party device to add closed captions.

    • co_host

      boolean — Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.

    • custom_data_center_regions

      boolean — Displays whether or not custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) have been selected for meetings/webinars hosted by the account.

    • disable_screen_sharing_for_host_meetings

      boolean — Whether to enable the **Disable desktop screen sharing for meetings you host** setting.

    • disable_screen_sharing_for_in_meeting_guests

      boolean — Whether to enable the **Disable screen sharing when guests are in the meeting** setting.

    • dscp_marking

      boolean — Enable DSCP marking for signaling and media packets. (Default is 56 for audio, 40 for video, and 40 for signaling.)

    • e2e_encryption

      boolean — Require that all meetings are encrypted using AES.

    • entry_exit_chime

      string — Play sound when participants join or leave.

    • far_end_camera_control

      boolean — Allow another user to take control of the camera during a meeting.

    • feedback

      boolean — Enable users to provide feedback to Zoom at the end of the meeting.

    • file_transfer

      boolean — Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for all users on the account or not.

    • full_transcript

      boolean — Whether full transcripts are available for viewing in the in-meeting side panel.

    • group_hd

      boolean — Enable higher quality video for host and participants in Meeting. This will require more bandwidth.

    • language_interpretation

      boolean — Whether hosts can assign participants as interpreters to interpret one language into another in real-time.

    • manual_captions

      boolean — Whether to enable manual closed captioning. When [enabled](https://support.zoom.us/hc/en-us/articles/207279736-Managing-closed-captioning-and-live-transcription), the host or assigned participant can provide manual captioning or a [3rd-party device](https://support.zoom.us/hc/en-us/articles/115002212983) can be assigned to provide captioning.

    • meeting_question_answer

      boolean — Allow participants to ask questions for the host and participants to answer.

    • meeting_reactions

      boolean — Whether meeting participants can [communicate using the emoji reactions](https://support.zoom.us/hc/en-us/articles/115001286183-Nonverbal-feedback-and-meeting-reactions) located in the **Reactions** menu in the meeting toolbar.

    • meeting_summary_with_ai_companion

      object — Whether a host can generate a meeting summary with AI Companion. Summaries are sent after the meeting ends based on the share options.

      • auto_enable_locked

        boolean — Whether to lock the setting that automatically turns on meeting summary when meetings start.

      • locked

        boolean — Whether to lock the setting that allows hosts to generate a summary.

      • summary_template_locked

        boolean — Whether to lock the setting that allows users to select a meeting summary template for their meetings.

      • who_will_receive_summary_locked

        boolean — Whether to lock the setting that defines who will receive a summary after the meeting.

    • meeting_survey

      boolean — Whether the host can present a survey to participants once a meeting has ended. This feature is only available in version 5.7.3 or higher.

    • non_verbal_feedback

      boolean, default: false — Whether to enable the [**Non-verbal feedback**](https://support.zoom.us/hc/en-us/articles/115001286183-Nonverbal-feedback-and-meeting-reactions-) setting. This value defaults to `false`.

    • original_audio

      boolean — Allow users to select original sound during a meeting.

    • polling

      boolean — Add 'Polls' to the meeting controls. This allows the host to survey the attendees.

    • post_meeting_feedback

      boolean — Display end-of-meeting experience feedback survey.

    • private_chat

      boolean — Allow meeting participants to send a private 1:1 message to another participant.

    • remote_control

      boolean — During screen sharing, allow the person who is sharing to let others control the shared content.

    • remote_support

      boolean, default: false — Whether to enable the [**Remote support**](https://support.zoom.us/hc/en-us/articles/360060951012-Enabling-remote-support) setting. This value defaults to `false`.

    • request_permission_to_unmute_participants

      boolean — Whether to enable the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting) setting.

    • save_caption

      boolean — Whether participants can save closed captions or transcripts.

    • save_captions

      boolean — Whether participants can [save closed caption or transcripts](https://support.zoom.us/hc/en-us/articles/360060958752). **Note:** If the `full_transcript` field is set to `false`, participants **cannot** save captions.

    • screen_sharing

      boolean — Allow host and participants to share their screen or content during meetings.

    • sending_default_email_invites

      boolean — Allow users to invite participants by email only by default.

    • show_meeting_control_toolbar

      boolean — Always show meeting controls during a meeting.

    • sign_language_interpretation

      boolean — Allow hosts to assign participants as sign language interpreters who can interpret one language into sign language in real-time. Hosts can assign interpreters when scheduling, or during the meeting itself. This feature is only available with version 5.11.3 or later.

    • slide_control

      boolean — Whether the person sharing during a presentation can allow others to control the slide presentation. This feature is only available in version 5.8.3 or higher.

    • stereo_audio

      boolean — Allow users to select stereo audio during a meeting.

    • use_html_format_email

      boolean — Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.

    • virtual_background

      boolean — Enable virtual background.

    • webinar_chat

      boolean — Whether to allow webinar participants to send chat messages.

    • webinar_group_hd

      boolean — Enable higher quality video for host and participants in Webinar. This will require more bandwidth.

    • webinar_live_streaming

      boolean — Whether to enable webinar livestreaming.

    • webinar_polling

      boolean — Whether the host can add polls before or during a webinar.

    • webinar_question_answer

      boolean — Whether attendees can ask the host and panelists questions in the webinar.

    • webinar_reactions

      boolean — Set this field to true to use [webinar reactions](https://support.zoom.us/hc/en-us/articles/4803536268429).

    • webinar_survey

      boolean — Whether the host can present surveys to attendees once a webinar has ended.

    • whiteboard

      boolean — Allow participants to share a whiteboard that includes annotation tools.

  • other_options

    object

    • blur_snapshot

      boolean — If true, iOS blurs the screenshot in the task switcher when multiple apps are open. Android hides the screenshot in the system-level list of recent apps.

    • webinar_registration_options

      boolean — Webinar registration options.

  • recording

    object

    • account_user_access_recording

      boolean — Make cloud recordings accessible to account members only.

    • archive

      boolean — [Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted archiving solution access by the Zoom support team.

    • auto_delete_cmr

      boolean — Allow Zoom to automatically delete recordings permanently after a specified number of days.

    • auto_recording

      boolean — Record meetings automatically as they start.

    • cloud_recording

      boolean — Allow hosts to record and save the meeting / webinar in the cloud.

    • cloud_recording_download

      boolean — Allow anyone with a link to the cloud recording to download.

    • host_delete_cloud_recording

      boolean — Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.

    • ip_address_access_control

      boolean — Setting to allow cloud recording access only from specific IP address ranges.

    • local_recording

      boolean — Allow hosts and participants to record the meeting to a local file.

    • prevent_host_access_recording

      boolean — If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.

    • recording_authentication

      boolean — Only authenticated users can view cloud recordings

  • schedule_meeting

    object

    • always_display_zoom_webinar_as_topic

      boolean — Whether to enable the [**Always show "Zoom Webinar" as the webinar topic**](https://support.zoom.us/hc/en-us/articles/201363253-Changing-account-settings#h_01EG9BJ646V2WJK1S3H2MP6YV6) setting.

    • audio_type

      boolean — Determine how participants can join the audio portion of the meeting.

    • continuous_meeting_chat

      boolean — Whether to enable the [**Enable continuous meeting chat**] setting.

    • embed_password_in_join_link

      boolean — If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.

    • enforce_login

      boolean — Allow only signed-in users to join meetings.

    • enforce_login_domains

      string — Specify the domains from which users can join a meeting.

    • enforce_login_with_domains

      boolean — Allow only signed-in users with specified domains to join meetings.

    • host_video

      boolean — Start meetings with host video on.

    • join_before_host

      boolean — Allow participants to join the meeting before the host arrives

    • meeting_authentication

      boolean — Only authenticated users can join meetings

    • not_store_meeting_topic

      boolean — Whether to enable the [**Always display "Zoom Meeting" as the meeting topic**](https://support.zoom.us/hc/en-us/articles/201363253-Changing-account-settings#h_01EG9BJ646V2WJK1S3H2MP6YV6) setting.

    • participant_video

      boolean — Start meetings with participant video on.

    • require_password_for_instant_meetings

      boolean — Require passcode for instant meetings. If you use a PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.

    • require_password_for_pmi_meetings

      boolean — Require participants to enter passcode for PMI meetings. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.

    • require_password_for_scheduling_new_meetings

      boolean — This setting applies for regular meetings that do not use a PMI. If enabled, a passcode will be generated while a host schedules a new meeting and participants will be required to enter the passcode before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.

    • use_pmi_for_instant_meetings

      boolean — Use a Personal Meeting ID (PMI) when starting an instant meeting.

    • use_pmi_for_scheduled_meetings

      boolean — Use a Personal Meeting ID (PMI) when scheduling a meeting.

  • telephony

    object — Account Settings: Telephony.

    • telephony_regions

      boolean — Indicates where most of the participants call into or call from during a meeting.

    • third_party_audio

      boolean — Allow users to join the meeting using the existing 3rd party audio configuration.

  • tsp

    object — Account Settings: TSP.

    • call_out

      boolean — Call Out

    • display_toll_free_numbers

      boolean — Display toll-free numbers

    • show_international_numbers_link

      boolean — Show international numbers link on the invitation email

  • meeting_security

    object

    • approved_or_denied_countries_or_regions

      boolean — Whether to enable the [**Approve or block entry for users from specific countries/regions**](https://support.zoom.us/hc/en-us/articles/360060086231-Joining-from-specific-countries-regions) setting.

    • auto_security

      boolean — Whether all meetings must be secured with at least one security option. This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts.

    • block_user_domain

      boolean — Whether users in specific domains are blocked from joining meetings and webinars.

    • chat_etiquette_tool

      boolean — Whether to enable the **Chat Etiquette Tool**.

    • embed_password_in_join_link

      boolean — Whether the meeting passcode is encrypted and included in the invitation link. The provided link will allow participants to join the meeting without having to enter the passcode.

    • encryption_type

      boolean — Whether use encryption to start a meeting.

    • end_to_end_encrypted_meetings

      boolean — Whether to enable end-to-end encryption for meetings.

    • meeting_password

      boolean — Whether all instant and scheduled meetings that users can join via client or Zoom Rooms systems are passcode-protected. [Personal Meeting ID (PMI)](https://support.zoom.us/hc/en-us/articles/203276937) meetings are **not** included in this setting.

    • only_authenticated_can_join_from_webclient

      boolean — Whether to specify that only authenticated users can join the meeting from the web client.

    • phone_password

      boolean — Whether passcodes are required for participants joining by phone. If enabled and the meeting is passcode-protected, a numeric passcode is required for participants to join by phone. For meetings with alphanumeric passcodes, a numeric passcode will be generated.

    • pmi_password

      boolean — Whether all Personal Meeting ID (PMI) meetings that users can join via client or Zoom Rooms systems are passcode-protected.

    • waiting_room

      boolean — Whether participants are placed in the [**Waiting Room**](https://support.zoom.us/hc/en-us/articles/115000332726-Waiting-Room) when they join a meeting. If the **Waiting Room** feature is enabled, the [**Allow participants to join before host**](https://support.zoom.us/hc/en-us/articles/202828525-Allow-participants-to-join-before-host) setting is automatically disabled.

    • webinar_password

      boolean — Whether to generate a passcode when scheduling webinars. Participants must use the generated passcode to join the scheduled webinar.

Example:

{
  "audio_conferencing": {
    "toll_free_and_fee_based_toll_call": true,
    "toll_call": true,
    "call_me_and_invite_by_phone": true,
    "personal_audio_conference": true,
    "participant_phone_masking": true
  },
  "chat": {
    "share_files": true,
    "chat_emojis": true,
    "record_voice_messages": true,
    "record_video_messages": true,
    "screen_capture": true,
    "share_links_in_chat": true,
    "schedule_meetings_in_chat": true,
    "set_retention_period_in_cloud": true,
    "set_retention_period_in_local": true,
    "allow_users_to_add_contacts": true,
    "allow_users_to_chat_with_others": true,
    "chat_etiquette_tool": true,
    "send_data_to_third_party_archiving_service": true,
    "translate_messages": true,
    "search_and_send_animated_gif_images": true,
    "shared_spaces": true,
    "allow_create_channels_and_group_chats": true,
    "allow_huddles_from_channels": true,
    "download_file": true,
    "share_screen_in_chat": true,
    "chat_email_address": true,
    "read_receipts": true,
    "allow_delete_message": true,
    "allow_edit_message": true,
    "presence_on_meeting": true,
    "presence_away_when_screen_saver": true,
    "ai_quick_schedule": true,
    "survey_poll": true
  },
  "email_notification": {
    "alternative_host_reminder": true,
    "cancel_meeting_reminder": true,
    "cloud_recording_available_reminder": true,
    "jbh_reminder": true,
    "schedule_for_reminder": true
  },
  "in_meeting": {
    "alert_guest_join": true,
    "allow_users_to_delete_messages_in_meeting_chat": true,
    "allow_live_streaming": true,
    "allow_show_zoom_windows": true,
    "annotation": true,
    "anonymous_question_answer": true,
    "attention_mode_focus_mode": true,
    "auto_answer": true,
    "auto_generated_captions": true,
    "auto_saving_chat": true,
    "breakout_room": true,
    "chat": true,
    "meeting_question_answer": true,
    "closed_caption": true,
    "co_host": true,
    "custom_data_center_regions": true,
    "disable_screen_sharing_for_host_meetings": true,
    "disable_screen_sharing_for_in_meeting_guests": true,
    "dscp_marking": true,
    "e2e_encryption": true,
    "entry_exit_chime": "none",
    "far_end_camera_control": true,
    "feedback": true,
    "file_transfer": true,
    "full_transcript": true,
    "group_hd": true,
    "webinar_group_hd": true,
    "language_interpretation": true,
    "sign_language_interpretation": true,
    "manual_captions": true,
    "meeting_reactions": true,
    "webinar_reactions": true,
    "meeting_survey": true,
    "original_audio": true,
    "polling": true,
    "post_meeting_feedback": true,
    "private_chat": true,
    "remote_control": true,
    "non_verbal_feedback": true,
    "remote_support": true,
    "request_permission_to_unmute_participants": true,
    "save_caption": true,
    "save_captions": true,
    "screen_sharing": true,
    "sending_default_email_invites": true,
    "show_meeting_control_toolbar": true,
    "slide_control": true,
    "stereo_audio": true,
    "use_html_format_email": true,
    "virtual_background": true,
    "webinar_chat": true,
    "webinar_live_streaming": true,
    "webinar_polling": true,
    "webinar_question_answer": true,
    "webinar_survey": true,
    "whiteboard": true,
    "meeting_summary_with_ai_companion": {
      "locked": true,
      "auto_enable_locked": true,
      "who_will_receive_summary_locked": true,
      "summary_template_locked": true
    },
    "ai_companion_questions": {
      "locked": true,
      "auto_enable_locked": true,
      "who_can_ask_questions_locked": true
    }
  },
  "other_options": {
    "blur_snapshot": true,
    "webinar_registration_options": true
  },
  "recording": {
    "account_user_access_recording": true,
    "auto_delete_cmr": true,
    "auto_recording": true,
    "cloud_recording": true,
    "cloud_recording_download": true,
    "host_delete_cloud_recording": true,
    "ip_address_access_control": true,
    "local_recording": true,
    "prevent_host_access_recording": true,
    "recording_authentication": true,
    "archive": true
  },
  "schedule_meeting": {
    "audio_type": true,
    "embed_password_in_join_link": true,
    "enforce_login": true,
    "enforce_login_domains": "example.com",
    "enforce_login_with_domains": true,
    "host_video": true,
    "join_before_host": true,
    "meeting_authentication": true,
    "not_store_meeting_topic": true,
    "always_display_zoom_webinar_as_topic": false,
    "participant_video": true,
    "require_password_for_instant_meetings": true,
    "require_password_for_pmi_meetings": true,
    "require_password_for_scheduling_new_meetings": true,
    "use_pmi_for_instant_meetings": true,
    "use_pmi_for_scheduled_meetings": true,
    "continuous_meeting_chat": true
  },
  "telephony": {
    "telephony_regions": true,
    "third_party_audio": true
  },
  "tsp": {
    "call_out": true,
    "show_international_numbers_link": true,
    "display_toll_free_numbers": true
  },
  "ai": {
    "screen_share_ocr": true,
    "meeting_chat_messages": true,
    "full_display_names_in_ai_assets": true,
    "ai_generated_virtual_backgrounds": true,
    "meeting_agenda": true,
    "meeting_summary_docs": {
      "enable": true,
      "share_with_summary_recipients": false
    },
    "phone_user_ai_notices": {
      "enable": true
    },
    "meeting_summary_retention": {
      "enable": true
    },
    "meeting_coach": {
      "enable": true
    },
    "third_party_meeting_join": {
      "enable": true,
      "allow_recording": true,
      "calendar": {
        "enable": true
      },
      "pre_meeting_email_notification": {
        "enable": true
      }
    },
    "whiteboard_content_generation": true,
    "smart_recording": {
      "enable": true
    },
    "clips_summarization_generation": {
      "enable": true
    },
    "clips_create_video_with_aic": {
      "enable": true
    },
    "allow_user_create_customize_avatar": {
      "enable": true
    },
    "task_creation_and_management": {
      "enable": true
    },
    "show_conversational_ai_companion": {
      "enabled": true,
      "enable_zoom_mate": true,
      "delete_ai_conversation": true,
      "delete_ai_conversation_time": true
    },
    "ai_panel_in_workplace": {
      "enabled": true,
      "delete_ai_conversation": true,
      "delete_ai_conversation_time": true
    },
    "enable_ai_on_web": true,
    "enable_email_compose_with_ai": true,
    "microsoft_365": {
      "enable": true
    },
    "google": {
      "enable": true
    },
    "web_content": true,
    "local_file_uploads": true,
    "organization_custom_dictionaries": true,
    "third_party_app_tasks": true,
    "workspace_reservation_recommendations_with_ai": {
      "enabled": true
    },
    "participant_can_request_aic_in_meeting": false,
    "restrict_aic_when_external_user_join_meeting": false,
    "restrict_aic_when_restrict_user_join": false,
    "restrict_users_from_joining_ai_enabled_meetings": {
      "enable": false
    },
    "meeting_questions": {
      "enable": false,
      "auto_enable": false,
      "who_can_ask_questions": false
    },
    "meeting_summary": {
      "enable": false,
      "auto_enable": false,
      "who_will_receive_summary": false
    },
    "meeting_summary_template": {
      "enable": false
    },
    "meeting_summary_default_language": {
      "enable": false
    },
    "meeting_summary_ip_access": {
      "enable": false
    },
    "remind_me_turn_on_aic": false,
    "remind_me_turn_on_catch_me_up": false,
    "meeting_summary_email_only_mode": false,
    "restrict_users_from_deleting_ai_companion_assets": false,
    "restrict_users_from_editing_ai_companion_assets": false,
    "webinar_summary_ocr": false,
    "zoom_events_chat_panel": false,
    "zoom_events_session_summary": {
      "enable": false,
      "auto_start": false
    },
    "chat_summary": true,
    "chat_compose": true,
    "hub_ai_question_and_file_creation": true,
    "canvas_ai_content_generation": true,
    "canvas_ai_sentence_completion": true,
    "canvas_ai_post_meeting_writing_tasks": true,
    "paper_ai_content_generation": true,
    "sheets_ai_content_generation": true,
    "sheets_ai_formula": true,
    "sheets_ai_function": true,
    "sheets_ai_resources": true,
    "slides_ai_content_generation": true,
    "my_notes_meeting_transcription": true,
    "my_notes_ai_content_generation": true,
    "include_webinar_summary_follow_up_email": {
      "enable": false
    },
    "webinar_summary": {
      "enable": false,
      "auto_enable": false,
      "email_notification": false,
      "restrict_share_to_outside_of_organization": false,
      "who_will_receive_summary": false
    },
    "webinar_questions": {
      "enable": false,
      "auto_enable": false,
      "who_can_ask_questions": false
    }
  }
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `2001` <br> Account does not exist: $subAccountId. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Update locked settings

  • Method: PATCH
  • Path: /accounts/{accountId}/lock_settings
  • Tags: Accounts

Updates an account's locked settings.

Account Locked Settings allows account admins and account owners to toggle settings on or off for all users in your account.

Note: Yout must have a Pro or a higher plan and enabled master and sub accounts options.

Prerequisites:

  • Pro or a higher paid account.

[Scopes(/docs/integrations/oauth-scopes-overview/): account:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): account:update:lock_settings:master,account:update:lock_settings:admin

Rate Limit Label: MEDIUM

Request Body

Content-Type: application/json

One of:

  • ai

    object — Lock settings for Workspace Reservation recommendations with AI.

    • ai_generated_virtual_backgrounds

      boolean — Whether the ai_generated_virtual_backgrounds setting is locked.

    • ai_panel_in_workplace

      object — Lock settings for the AI panel in Zoom Workplace.

      • delete_ai_conversation

        boolean — Whether automatic AI conversation deletion in the AI panel is locked.

      • delete_ai_conversation_time

        boolean — Whether the AI panel conversation retention period is locked.

      • enabled

        boolean — Whether the AI panel in Zoom Workplace is locked.

    • allow_user_create_customize_avatar

      object — Lock settings for clips allow user create customize avatar.

      • enable

        boolean — Whether the clips allow user create customize avatar is locked.

    • canvas_ai_content_generation

      boolean — Whether the Canvas AI content generation and revision setting is locked.

    • canvas_ai_post_meeting_writing_tasks

      boolean — Whether the Canvas post-meeting writing task setting is locked.

    • canvas_ai_sentence_completion

      boolean — Whether the Canvas AI sentence completion setting is locked.

    • chat_compose

      boolean — Compose with AI Companion.

    • chat_summary

      boolean — Summarize with AI Companion.

    • clips_create_video_with_aic

      object — Lock settings for clips create video with aic.

      • enable

        boolean — Whether the clips create video with aic is locked.

    • clips_summarization_generation

      object — Lock settings for clips summarization generation.

      • enable

        boolean — Whether the clips summarization generation is locked.

    • enable_ai_on_web

      boolean — Whether Zoom AI on the web is locked.

    • enable_email_compose_with_ai

      boolean — Whether Zoom Mail AI compose is locked.

    • full_display_names_in_ai_assets

      boolean — Whether the full_display_names_in_ai_assets setting is locked.

    • google

      object — Lock settings for Google data sources.

      • enable

        boolean — Whether Google data sources are locked.

    • hub_ai_question_and_file_creation

      boolean — Whether the Hub AI search and file creation setting is locked.

    • include_webinar_summary_follow_up_email

      object — Lock settings for including the webinar summary in follow-up email.

      • enable

        boolean — Whether including the webinar summary in follow-up email is locked.

    • local_file_uploads

      boolean — Whether Local file uploads as an AI data source are locked.

    • meeting_agenda

      boolean — Whether the meeting_agenda setting is locked.

    • meeting_chat_messages

      boolean — Whether the meeting_chat_messages setting is locked.

    • meeting_coach

      object — Lock settings for Meeting Coach with AI.

      • enable

        boolean — Whether Meeting Coach with AI is locked.

    • meeting_questions

      object — Zoom AI answers the meeting questions based on what is said in the meeting. If a transcript is retained, participants with access will be able to ask questions after the meeting based on that transcript. The nested Boolean properties indicate whether the corresponding setting is locked.

      • auto_enable

        boolean — Whether to automatically allow access when the meeting starts. The Boolean indicates whether this setting is locked.

      • enable

        boolean — Whether to allow hosts and invited participants to ask questions to AI Companion during a meeting. The Boolean indicates whether this setting is locked.

      • who_can_ask_questions

        boolean — Defines who can ask questions about this meeting's transcript. The corresponding setting values are `from_entire_meeting` (all participants and invitees), `from_join_meeting` (all participants only from when they join), `host` (only the meeting host), `org` (participants and invitees in the organization), and `org_from_join_meeting` (participants in the organization only from when they join). The Boolean indicates whether this setting is locked.

    • meeting_summary

      object — Allow hosts to generate a summary. Summaries are sent based on sharing permissions after the meeting has ended. The nested Boolean properties indicate whether the corresponding setting is locked.

      • auto_enable

        boolean — Whether to turn on meeting summary automatically when meetings start. The Boolean indicates whether this setting is locked.

      • enable

        boolean — Whether to allow hosts to generate a summary. The Boolean indicates whether this setting is locked.

      • who_will_receive_summary

        boolean — Automatically share summary with. The corresponding setting values are `host` (only meeting host), `alt_host` (only meeting host, co-hosts, and alternative hosts), `organization` (only meeting host and meeting invitees in our organization), and `all` (all meeting invitees including those outside of our organization). The Boolean indicates whether this setting is locked.

    • meeting_summary_default_language

      object — When this feature is enabled, all meeting summaries will automatically use the language you choose. The nested Boolean properties indicate whether the corresponding setting is locked.

      • enable

        boolean — When this feature is enabled, all meeting summaries will automatically use the language you choose. The Boolean indicates whether this setting is locked.

    • meeting_summary_docs

      object — Lock settings for meeting summary Docs.

      • enable

        boolean — Whether automatic Zoom Doc creation is locked.

      • share_with_summary_recipients

        boolean — Whether sharing generated Zoom Docs with meeting summary recipients is locked.

    • meeting_summary_email_only_mode

      boolean — When this setting is enabled, summaries will only be shared to users by email. Users will not be able to view or edit summaries on the Zoom client or web portal, as the meeting summary will not be retained. The Boolean indicates whether this setting is locked.

    • meeting_summary_ip_access

      object — Allow meeting summary access only from specific IP address ranges. The nested Boolean properties indicate whether the corresponding setting is locked.

      • enable

        boolean — Whether meeting summary access is restricted to specific IP address ranges. The Boolean indicates whether this setting is locked.

    • meeting_summary_retention

      object — Lock settings for meeting summary retention.

      • enable

        boolean — Whether automatic meeting summary deletion is locked.

    • meeting_summary_template

      object — Allow users to select a meeting summary template for their meetings. After the meeting, the summary will be generated into the new template. The nested Boolean properties indicate whether the corresponding setting is locked.

      • enable

        boolean — Whether users can select a meeting summary template for their meetings. After the meeting, the summary will be generated into the new template. The Boolean indicates whether this setting is locked.

    • microsoft_365

      object — Lock settings for Microsoft 365 data sources.

      • enable

        boolean — Whether Microsoft 365 data sources are locked.

    • my_notes_ai_content_generation

      boolean — Whether the My Notes AI content generation setting is locked.

    • my_notes_meeting_transcription

      boolean — Whether the My Notes meeting transcription setting is locked.

    • organization_custom_dictionaries

      boolean — Whether allowing AI to consume the organization's custom dictionaries is locked.

    • paper_ai_content_generation

      boolean — Whether the Zoom Paper AI content generation and revision setting is locked.

    • participant_can_request_aic_in_meeting

      boolean — Participants can request the host to start in-meeting AI features. The Boolean indicates whether this setting is locked.

    • phone_user_ai_notices

      object — Lock settings for phone user AI notices.

      • enable

        boolean — Whether phone user AI notices are locked.

    • remind_me_turn_on_aic

      boolean — If you don't set AI features to auto-start in your meetings, you will be reminded to turn on AI at the beginning of each meeting you host. The Boolean indicates whether this setting is locked.

    • remind_me_turn_on_catch_me_up

      boolean — When you join a meeting late, you'll get a prompt for AI to summarize what's been discussed so far. The Boolean indicates whether this setting is locked.

    • restrict_aic_when_external_user_join_meeting

      boolean — Automatically restrict Zoom AI and transcription features when external users or groups join a meeting. The Boolean indicates whether this setting is locked.

    • restrict_aic_when_restrict_user_join

      boolean — When members of this group join a meeting, Zoom AI features will not be permitted for that session. This will only impact meetings within this organization. The Boolean indicates whether this setting is locked.

    • restrict_users_from_deleting_ai_companion_assets

      boolean — When enabled, users cannot delete AI assets. Only admins can delete them. The Boolean indicates whether this setting is locked.

    • restrict_users_from_editing_ai_companion_assets

      boolean — When enabled, users cannot edit AI assets. Only admins can edit them. The Boolean indicates whether this setting is locked.

    • restrict_users_from_joining_ai_enabled_meetings

      object — Users would be restricted from joining meetings in which AI meeting processing (meeting questions and summary) is allowed. The nested Boolean properties indicate whether the corresponding setting is locked.

      • enable

        boolean — Whether users are restricted from joining meetings in which AI meeting processing (meeting questions and summary) is allowed. The Boolean indicates whether this setting is locked.

    • screen_share_ocr

      boolean — Whether the screen_share_ocr setting is locked.

    • sheets_ai_content_generation

      boolean — Whether the Zoom Sheets AI content generation and revision setting is locked.

    • sheets_ai_formula

      boolean — Whether the Zoom Sheets AI Formula setting is locked.

    • sheets_ai_function

      boolean — Whether the Zoom Sheets AI Function setting is locked.

    • sheets_ai_resources

      boolean — Whether the Zoom Sheets AI Resources setting is locked.

    • show_conversational_ai_companion

      object — Lock settings for the conversational AI companion.

      • delete_ai_conversation

        boolean — Whether automatic AI conversation deletion is locked.

      • delete_ai_conversation_time

        boolean — Whether the AI conversation retention period is locked.

      • enable_zoom_mate

        boolean — Whether ZoomMate availability is locked.

      • enabled

        boolean — Whether conversational AI is locked.

    • slides_ai_content_generation

      boolean — Whether the Zoom Slides AI content generation and revision setting is locked.

    • smart_recording

      object — Lock settings for Smart Recording.

      • enable

        boolean — Whether the Smart Recording is locked.

    • task_creation_and_management

      object — Lock settings for task creation and management with AI.

      • enable

        boolean — Whether task creation and management with AI is locked.

    • third_party_app_tasks

      boolean — Whether allowing AI to perform tasks in third-party apps is locked.

    • third_party_meeting_join

      object — Lock settings for third-party meeting join with AI.

      • allow_recording

        boolean — Whether recording for joined third-party meetings is locked.

      • calendar

        object — Lock settings for calendar-based third-party meeting join.

        • enable

          boolean — Whether calendar-based third-party meeting join is locked.

      • enable

        boolean — Whether third-party meeting join with AI is locked.

      • pre_meeting_email_notification

        object — Lock settings for pre-meeting email notification.

        • enable

          boolean — Whether pre-meeting email notification is locked.

    • web_content

      boolean — Whether Web content as an AI data source is locked.

    • webinar_questions

      object — During the webinar, answers are based on speech-to-text data. If a transcript is retained, participants with access can ask questions after the webinar based on that transcript. The nested Boolean properties indicate whether the corresponding settings are locked.

      • auto_enable

        boolean — Whether automatically allowing access when the webinar starts is locked.

      • enable

        boolean — Whether allowing users to ask webinar questions with AI is locked.

      • who_can_ask_questions

        boolean — Who can ask questions about the webinar. The corresponding setting values are `panelist_all` (hosts and all panelists), `panelist_org` (hosts and all panelists in the organization), `host` (only webinar host, co-hosts, and alternative hosts), and `all_participants` (all participants). The Boolean indicates whether this setting is locked.

    • webinar_summary

      object — Allow hosts to generate a summary. Summaries are sent after the webinar ends based on sharing permissions. The nested Boolean properties indicate whether the corresponding settings are locked.

      • auto_enable

        boolean — Whether turning on webinar summary automatically when the webinar starts is locked.

      • email_notification

        boolean — Whether sending an email notification when sharing to participants is locked.

      • enable

        boolean — Whether allowing hosts to generate a summary is locked.

      • restrict_share_to_outside_of_organization

        boolean — Whether restricting users from sharing summaries to those outside the organization is locked.

      • who_will_receive_summary

        boolean — Who will automatically receive the summary. The corresponding setting values are `host` (only webinar host), `host_and_panelist_in_organization` (only webinar host, co-hosts, and panelists in the organization), and `host_and_panelist_not_in_organization` (webinar host, co-hosts, and all panelists, including those outside the organization). The Boolean indicates whether this setting is locked.

    • webinar_summary_follow_up_email

      boolean — Whether webinar summaries are included in webinar follow-up email. Deprecated. Use `include_webinar_summary_follow_up_email`. The Boolean indicates whether this setting is locked.

    • webinar_summary_ocr

      boolean — Whether using screen share content with OCR for webinar summaries is locked.

    • whiteboard_content_generation

      boolean — Whether Whiteboard content generation with AI is enabled.

    • workspace_reservation_recommendations_with_ai

      object — Lock settings for Workspace Reservation recommendations with AI.

      • enabled

        boolean — Whether Workspace Reservation recommendations with AI are locked.

    • zoom_events_chat_panel

      boolean — Whether the AI chat panel in Zoom Events is locked.

    • zoom_events_session_summary

      object — Lock settings for Zoom Events session summary.

      • auto_start

        boolean — Whether turning on session summary automatically when sessions start is locked.

      • enable

        boolean — Whether Zoom Events session summaries are locked.

  • audio_conferencing

    object

  • chat

    object

    • ai_compose

      boolean — The field has been moved from the `chat` object to the `ai` object and renamed to `chat_compose` to better reflect its functionality. Compose with AI Companion.

    • ai_quick_schedule

      boolean — **Zoom no longer supports this feature.** Quick schedule with AI Companion.

    • ai_recommend

      boolean — **Zoom no longer supports this feature.** Chat Recommendation with Zoom AI Companion.

    • ai_reply

      boolean — **Zoom no longer supports this feature.** Quick reply with AI Companion.

    • ai_sentence_completion

      boolean — **Zoom no longer supports this feature.** Sentence completion with AI Companion.

    • ai_summary

      boolean — The field has been moved from the `chat` object to the `ai` object and renamed to `chat_summary` to better reflect its functionality. Summarize with AI Companion.

    • allow_create_channels_and_group_chats

      boolean — Whether to allow users to create channels and group chats.

    • allow_delete_message

      boolean — Whether to allow users to delete messages.

    • allow_edit_message

      boolean — Whether to allow users to edit messages.

    • allow_huddles_from_channels

      boolean — Whether to allow huddles from channels.

    • allow_users_to_add_contacts

      boolean — Whether to allow users to add contacts.

    • allow_users_to_chat_with_others

      boolean — Whether to allow users to chat with others.

    • chat_email_address

      boolean — Chat email address.

    • chat_emojis

      boolean — Allow users to use the emoji library in direct messages or group conversations. Choose between allowing users to use any emoji in the library, or allowing only pre-selected emojis. If the setting is disabled, users can still use keyboard shortcuts to add emojis. Users can change their emoji skin tone in **Settings**.

    • chat_etiquette_tool

      boolean — Whether to enable the **Chat Etiquette Tool**.

    • download_file

      boolean — Whether to allow users to download files.

    • presence_away_when_screen_saver

      boolean — Change my status to away when screen saver begins.

    • presence_on_meeting

      boolean — Change my presence status when I am in a meeting or call.

    • read_receipts

      boolean — Whether to enable read receipts.

    • record_video_messages

      boolean — Allow users to record video messages that can be sent in direct messages or group conversations. If the file share setting is disabled, they will not be able to record and send video messages.

    • record_voice_messages

      boolean — Allow users to record voice messages that can be sent in direct messages or group conversations.

    • schedule_meetings_in_chat

      boolean — Schedule a meeting from chat or channel.

    • screen_capture

      boolean — Allow users to take and send screenshots in direct messages or group conversations.

    • search_and_send_animated_gif_images

      boolean — Whether to allow users to search GIF images from GIPHY when they compose messages.

    • send_data_to_third_party_archiving_service

      boolean — Whether to send data to third-party archiving service.

    • set_retention_period_in_cloud

      boolean — By default, messages and files are stored in Zoom's cloud. Enable this setting to specify when they are deleted. When retention is disabled, messages sent by offline users can be received within 7 days before they are deleted.

    • set_retention_period_in_local

      boolean — Specify how long your messages are saved on local devices. If this setting is disabled, messages are never deleted locally.

    • share_files

      boolean — Users can share files in chats and channels.

    • share_links_in_chat

      boolean — Share links to messages and channels in Team Chat.

    • share_screen_in_chat

      boolean — Whether to allow users to share screen in chat.

    • shared_spaces

      boolean — Whether to allow users to create Shared Spaces.

    • survey_poll

      boolean — Allow users to launch a poll in chats and channels.

    • translate_messages

      boolean — Allow users to translate team chat messages. [Learn more].(https://support.zoom.us/hc/en-us/articles/12998089084685)

  • email_notification

    object

    • alternative_host_reminder

      boolean — Notify the alternative host who is set or removed.

    • cancel_meeting_reminder

      boolean — Notify host and participants when the meeting is cancelled.

    • cloud_recording_available_reminder

      boolean — Whether to notify the host when a cloud recording is available.

    • jbh_reminder

      boolean — Notify host when participants join the meeting before them.

    • schedule_for_reminder

      boolean — Notify the host there is a meeting is scheduled, rescheduled, or cancelled.

  • in_meeting

    object

    • alert_guest_join

      boolean — Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting or webinar.

    • allow_live_streaming

      boolean — Whether to allow livestreaming.

    • allow_show_zoom_windows

      boolean — Show Zoom windows during screen share.

    • allow_users_to_delete_messages_in_meeting_chat

      boolean — If the value of this field is set to `true`, allow users to delete messages in the in-meeting chat.

    • annotation

      boolean — Allow participants to use annotation tools to add information to shared screens.

    • anonymous_question_answer

      boolean

    • attendee_on_hold

      boolean, default: false — Allow host to put attendee on hold. **This field has been deprecated and is no longer supported.**

    • attention_mode_focus_mode

      boolean — Whether to enable the [**Focus Mode**](https://support.zoom.us/hc/en-us/articles/360061113751-Using-focus-mode) feature. When enabled, this feature only displays the host and co-hosts' video and profile pictures during a meeting.

    • auto_answer

      boolean — Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.

    • auto_generated_captions

      boolean — Whether to enable Zoom's [live transcription feature](https://support.zoom.us/hc/en-us/articles/207279736-Managing-closed-captioning-and-live-transcription#h_01FHGGHYJ4457H4GSZY0KM3NSB).

    • auto_saving_chat

      boolean — Automatically save all in-meeting chats.

    • breakout_room

      boolean — Allow host to split meeting participants into separate, smaller rooms.

    • chat

      boolean — Allow meeting participants to send chat message visible to all participants.

    • closed_caption

      boolean — Allow host to type closed captions or assign a participant/third party device to add closed captions.

    • co_host

      boolean — Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.

    • custom_data_center_regions

      boolean — If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field in the account settings. If set to `false`, the regions cannot be customized and the default regions will be used.

    • disable_screen_sharing_for_host_meetings

      boolean — Whether to enable the **Disable desktop screen sharing for meetings you host** setting.

    • disable_screen_sharing_for_in_meeting_guests

      boolean — Whether to enable the **Disable screen sharing when guests are in the meeting** setting.

    • dscp_marking

      boolean — Allow users to select stereo audio during a meeting.

    • e2e_encryption

      boolean — Require that all meetings are encrypted using AES.

    • entry_exit_chime

      string — Play sound when participants join or leave.

    • far_end_camera_control

      boolean — Allow another user to take control of the camera during a meeting.

    • feedback

      boolean — Enable users to provide feedback to Zoom at the end of the meeting.

    • file_transfer

      boolean — Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for all users on the account or not.

    • full_transcript

      boolean — Whether to enable the viewing of full transcripts in the in-meeting side panel.

    • group_hd

      boolean — Enable higher quality video for host and participants in Meeting. This will require more bandwidth.

    • language_interpretation

      boolean — Whether to allow hosts to assign participants as interpreters who can interpret one language into another in real-time.

    • meeting_question_answer

      boolean — Allow participants to ask questions for the host and participants to answer.

    • meeting_survey

      boolean — Whether to allow the host to present a survey to participants once a meeting has ended. This feature is only available in version 5.7.3 or higher.

    • non_verbal_feedback

      boolean, default: false — Whether to enable the [**Non-verbal feedback**](https://support.zoom.us/hc/en-us/articles/115001286183-Nonverbal-feedback-and-meeting-reactions-) setting. This value defaults to `false`.

    • original_audio

      boolean — Allow users to select original sound during a meeting.

    • polling

      boolean — Add 'Polls' to the meeting controls. This allows the host to survey the attendees.

    • post_meeting_feedback

      boolean — Display end-of-meeting experience feedback survey.

    • private_chat

      boolean — Allow meeting participants to send a private 1:1 message to another participant.

    • remote_control

      boolean — During screen sharing, allow the person who is sharing to let others control the shared content.

    • remote_support

      boolean, default: false — Whether to enable the [**Remote support**](https://support.zoom.us/hc/en-us/articles/360060951012-Enabling-remote-support) setting. This value defaults to `false`.

    • request_permission_to_unmute_participants

      boolean — Whether to enable the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting) setting.

    • save_caption

      boolean — Whether to allow participants to save closed captions or transcripts.

    • save_captions

      boolean — Whether to allow participants to [save closed captions or transcripts](https://support.zoom.us/hc/en-us/articles/360060958752). **Note:** If the `full_transcript` field is set to `false`, participants **cannot** save captions.

    • screen_sharing

      boolean — Allow host and participants to share their screen or content during meetings.

    • sending_default_email_invites

      boolean — Allow users to invite participants by email only by default.

    • show_meeting_control_toolbar

      boolean — Always show meeting controls during a meeting.

    • sign_language_interpretation

      boolean — Allow hosts to assign participants as sign language interpreters who can interpret one language into sign language in real-time. Hosts can assign interpreters when scheduling, or during the meeting itself. This feature is only available with version 5.11.3 or later.

    • slide_control

      boolean — Whether the person sharing during a presentation can allow others to control the slide presentation. This feature is only available in version 5.8.3 or higher.

    • stereo_audio

      boolean — Allow users to select stereo audio during a meeting.

    • use_html_format_email

      boolean — Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.

    • virtual_background

      boolean — Enable virtual background.

    • webinar_chat

      boolean — Whether to allow webinar participants to send chat messages.

    • webinar_group_hd

      boolean — Enable higher quality video for host and participants in Webinar. This will require more bandwidth.

    • webinar_live_streaming

      boolean — Whether to enable webinar livestreaming.

    • webinar_polling

      boolean — Whether to allow the host to add polls before or during a webinar.

    • webinar_question_answer

      boolean — Whether attendees can ask the host and panelists questions in the webinar.

    • webinar_reactions

      boolean — Set this field to true to use [webinar reactions](https://support.zoom.us/hc/en-us/articles/4803536268429).

    • webinar_survey

      boolean — Whether to allow the host to present surveys to attendees once a webinar has ended.

    • whiteboard

      boolean — Allow participants to share a whiteboard that includes annotation tools.

  • other_options

    object

    • blur_snapshot

      boolean — If true, iOS blurs the screenshot in the task switcher when multiple apps are open. Android hides the screenshot in the system-level list of recent apps.

    • webinar_registration_options

      boolean — Webinar registration options.

  • recording

    object

    • account_user_access_recording

      boolean — Make cloud recordings accessible to account members only.

    • archive

      boolean — [Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted archiving solution access by the Zoom support team.

    • auto_delete_cmr

      boolean — Allow Zoom to automatically delete recordings permanently after a specified number of days.

    • auto_recording

      boolean — Record meetings automatically as they start.

    • cloud_recording

      boolean — Allow hosts to record and save the meeting / webinar in the cloud.

    • cloud_recording_download

      boolean — Allow anyone with a link to the cloud recording to download.

    • host_delete_cloud_recording

      boolean — Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.

    • ip_address_access_control

      boolean — Setting to allow cloud recording access only from specific IP address ranges.

    • local_recording

      boolean — Allow hosts and participants to record the meeting to a local file.

    • prevent_host_access_recording

      boolean — If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.

    • recording_authentication

      boolean

  • schedule_meeting

    object

    • always_display_zoom_webinar_as_topic

      boolean — Whether to enable the [**Always show &quot;Zoom Webinar&quot; as the webinar topic**](https://support.zoom.us/hc/en-us/articles/201363253-Changing-account-settings#h_01EG9BJ646V2WJK1S3H2MP6YV6) setting.

    • audio_type

      boolean — Determine how participants can join the audio portion of the meeting.

    • continuous_meeting_chat

      boolean — Whether to enable the [**Enable continuous meeting chat**] setting.

    • embed_password_in_join_link

      boolean — If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.

    • enforce_login

      boolean — Participants must always sign in before joining the scheduled meeting.

    • enforce_login_domains

      string — Specify the domains from which users can join a meeting.

    • enforce_login_with_domains

      boolean — Allow only signed-in users with specified domains to join meetings.

    • host_video

      boolean — Start meetings with host video on.

    • join_before_host

      boolean — Allow participants to join the meeting before the host arrives

    • meeting_authentication

      boolean

    • not_store_meeting_topic

      boolean — Whether to enable the [**Always display &quot;Zoom Meeting&quot; as the meeting topic**](https://support.zoom.us/hc/en-us/articles/201363253-Changing-account-settings#h_01EG9BJ646V2WJK1S3H2MP6YV6) setting.

    • participant_video

      boolean — Start meetings with participant video on.

    • personal_meeting

      boolean — Turn the lock setting on or off for the **Enable Personal Meeting ID** setting for an entire account. `true`: Turn the **&quot;Enable Personal Meeting ID&quot;** setting **on** for all users in the account. Users can choose to use personal meeting ID for their meetings. `false`: Turn **off** the **&quot;Enable Personal Meeting ID&quot;** setting. **If this setting is [disabled](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link?flash_digest=eb7ac62d8c7fb4daf285916e3e15d87537806133#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a), meetings that were scheduled with a PMI by the users in the account will be invalid. Users will have to update previously scheduled PMI meetings.** For Zoom Phone only: If a user has been assigned a desk phone, **&quot;Elevate to Zoom Meeting&quot;** on desk phone will be disabled.

    • require_password_for_instant_meetings

      boolean — Require passcode for instant meetings. If you use a PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.

    • require_password_for_pmi_meetings

      boolean — Require participants to enter passcode for PMI meetings. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.

    • require_password_for_scheduling_new_meetings

      boolean — This setting applies for regular meetings that do not use a PMI. If enabled, a passcode will be generated while a host schedules a new meeting and participants will be required to enter the passcode before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.

    • use_pmi_for_instant_meetings

      boolean — Use a Personal Meeting ID (PMI) when starting an instant meeting.

    • use_pmi_for_scheduled_meetings

      boolean — Use a Personal Meeting ID (PMI) when scheduling a meeting.

  • telephony

    object

    • telephony_regions

      boolean

    • third_party_audio

      boolean — Allow users to join the meeting using the existing 3rd party audio configuration.

  • tsp

    object

    • call_out

      boolean — Call Out

    • show_international_numbers_link

      boolean — Show international numbers link on the invitation email

  • meeting_security

    object

    • approved_or_denied_countries_or_regions

      boolean — Whether to enable the [**Approve or block entry for users from specific countries/regions**](https://support.zoom.us/hc/en-us/articles/360060086231-Joining-from-specific-countries-regions) setting.

    • auto_security

      boolean — Whether to require that all meetings are secured with at least one security option. This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts.

    • block_user_domain

      boolean — Whether to block users in specific domains from joining meetings and webinars.

    • chat_etiquette_tool

      boolean — Whether to enable the **Chat Etiquette Tool**.

    • embed_password_in_join_link

      boolean — Whether the meeting passcode will be encrypted and included in the invitation link. The provided link will allow participants to join the meeting without having to enter the passcode.

    • encryption_type

      string, possible values: "enhanced_encryption", "e2ee" — The type of encryption to use when starting a meeting: * `enhanced_encryption` &mdash; Use enhanced encryption. Encryption data is stored in the cloud. * `e2ee` &mdash; End-to-end encryption. The encryption key is stored on the local device and cannot be obtained by anyone else. Enabling E2EE also [**disables** certain features](https://support.zoom.us/hc/en-us/articles/360048660871), such as cloud recording, live streaming, and allowing participants to join before the host.

    • end_to_end_encrypted_meetings

      boolean — Whether to enable end-to-end encryption for meetings. If enabled, you can specify the type of encryption in the `encryption_type` field.

    • meeting_password

      boolean — Whether all instant and scheduled meetings that users can join via client or Zoom Rooms systems are passcode-protected. [Personal Meeting ID (PMI)](https://support.zoom.us/hc/en-us/articles/203276937) meetings are **not** included in this setting.

    • only_authenticated_can_join_from_webclient

      boolean — Whether to specify that only authenticated users can join the meeting from the web client.

    • phone_password

      boolean — Whether to require a passcode for participants joining by phone. If enabled and the meeting is passcode-protected, a numeric passcode is required for participants to join by phone. For meetings with alphanumeric passcodes, a numeric passcode will be generated.

    • pmi_password

      boolean — Whether all Personal Meeting ID (PMI) meetings that users can join via client or Zoom Rooms systems are passcode-protected.

    • waiting_room

      boolean — Whether participants are placed in the [**Waiting Room**](https://support.zoom.us/hc/en-us/articles/115000332726-Waiting-Room) when they join a meeting. If the **Waiting Room** feature is enabled, the [**Allow participants to join before host**](https://support.zoom.us/hc/en-us/articles/202828525-Allow-participants-to-join-before-host) setting is automatically disabled.

    • webinar_password

      boolean — Whether to generate a passcode when scheduling webinars. Participants must use the generated passcode to join the scheduled webinar.

Example:

{
  "audio_conferencing": {
    "toll_free_and_fee_based_toll_call": true,
    "toll_call": true,
    "call_me_and_invite_by_phone": true,
    "personal_audio_conference": true,
    "participant_phone_masking": true
  },
  "chat": {
    "share_files": true,
    "chat_emojis": true,
    "record_voice_messages": true,
    "record_video_messages": true,
    "screen_capture": true,
    "share_links_in_chat": true,
    "schedule_meetings_in_chat": true,
    "set_retention_period_in_cloud": true,
    "set_retention_period_in_local": true,
    "allow_users_to_add_contacts": true,
    "allow_users_to_chat_with_others": true,
    "chat_etiquette_tool": true,
    "send_data_to_third_party_archiving_service": true,
    "translate_messages": true,
    "search_and_send_animated_gif_images": true,
    "shared_spaces": true,
    "allow_create_channels_and_group_chats": true,
    "allow_huddles_from_channels": true,
    "download_file": true,
    "share_screen_in_chat": true,
    "chat_email_address": true,
    "read_receipts": true,
    "allow_delete_message": true,
    "allow_edit_message": true,
    "presence_on_meeting": true,
    "presence_away_when_screen_saver": true,
    "survey_poll": true
  },
  "email_notification": {
    "alternative_host_reminder": true,
    "cancel_meeting_reminder": true,
    "cloud_recording_available_reminder": true,
    "jbh_reminder": true,
    "schedule_for_reminder": true
  },
  "in_meeting": {
    "alert_guest_join": true,
    "allow_users_to_delete_messages_in_meeting_chat": true,
    "allow_live_streaming": true,
    "allow_show_zoom_windows": true,
    "annotation": true,
    "anonymous_question_answer": true,
    "attention_mode_focus_mode": true,
    "auto_answer": true,
    "auto_generated_captions": true,
    "auto_saving_chat": true,
    "breakout_room": true,
    "chat": true,
    "meeting_question_answer": true,
    "closed_caption": true,
    "co_host": true,
    "custom_data_center_regions": true,
    "disable_screen_sharing_for_host_meetings": true,
    "disable_screen_sharing_for_in_meeting_guests": true,
    "dscp_marking": true,
    "e2e_encryption": true,
    "entry_exit_chime": "none",
    "far_end_camera_control": true,
    "feedback": true,
    "file_transfer": true,
    "full_transcript": true,
    "group_hd": true,
    "webinar_group_hd": true,
    "language_interpretation": true,
    "sign_language_interpretation": true,
    "webinar_reactions": true,
    "meeting_survey": true,
    "original_audio": true,
    "polling": true,
    "post_meeting_feedback": true,
    "private_chat": true,
    "remote_control": true,
    "non_verbal_feedback": true,
    "remote_support": true,
    "request_permission_to_unmute_participants": true,
    "save_caption": true,
    "save_captions": true,
    "screen_sharing": true,
    "sending_default_email_invites": true,
    "show_meeting_control_toolbar": true,
    "slide_control": true,
    "stereo_audio": true,
    "use_html_format_email": true,
    "virtual_background": true,
    "webinar_chat": true,
    "webinar_live_streaming": true,
    "webinar_polling": true,
    "webinar_question_answer": true,
    "webinar_survey": true,
    "whiteboard": true
  },
  "other_options": {
    "blur_snapshot": true,
    "webinar_registration_options": true
  },
  "recording": {
    "account_user_access_recording": true,
    "auto_delete_cmr": true,
    "auto_recording": true,
    "cloud_recording": true,
    "cloud_recording_download": true,
    "host_delete_cloud_recording": true,
    "ip_address_access_control": true,
    "local_recording": true,
    "prevent_host_access_recording": true,
    "recording_authentication": true,
    "archive": true
  },
  "schedule_meeting": {
    "audio_type": true,
    "embed_password_in_join_link": true,
    "enforce_login": true,
    "enforce_login_domains": "example.com",
    "enforce_login_with_domains": true,
    "host_video": true,
    "join_before_host": true,
    "meeting_authentication": true,
    "not_store_meeting_topic": true,
    "always_display_zoom_webinar_as_topic": false,
    "participant_video": true,
    "personal_meeting": true,
    "require_password_for_instant_meetings": true,
    "require_password_for_pmi_meetings": true,
    "require_password_for_scheduling_new_meetings": true,
    "use_pmi_for_instant_meetings": true,
    "use_pmi_for_scheduled_meetings": true,
    "continuous_meeting_chat": true
  },
  "telephony": {
    "telephony_regions": true,
    "third_party_audio": true
  },
  "tsp": {
    "call_out": true,
    "show_international_numbers_link": true
  },
  "ai": {
    "screen_share_ocr": true,
    "meeting_chat_messages": true,
    "full_display_names_in_ai_assets": true,
    "ai_generated_virtual_backgrounds": true,
    "meeting_agenda": true,
    "meeting_summary_docs": {
      "enable": true,
      "share_with_summary_recipients": false
    },
    "phone_user_ai_notices": {
      "enable": true
    },
    "meeting_summary_retention": {
      "enable": true
    },
    "meeting_coach": {
      "enable": true
    },
    "third_party_meeting_join": {
      "enable": true,
      "allow_recording": true,
      "calendar": {
        "enable": true
      },
      "pre_meeting_email_notification": {
        "enable": true
      }
    },
    "whiteboard_content_generation": true,
    "smart_recording": {
      "enable": true
    },
    "clips_summarization_generation": {
      "enable": true
    },
    "clips_create_video_with_aic": {
      "enable": true
    },
    "allow_user_create_customize_avatar": {
      "enable": true
    },
    "task_creation_and_management": {
      "enable": true
    },
    "show_conversational_ai_companion": {
      "enabled": true,
      "enable_zoom_mate": true,
      "delete_ai_conversation": true,
      "delete_ai_conversation_time": true
    },
    "ai_panel_in_workplace": {
      "enabled": true,
      "delete_ai_conversation": true,
      "delete_ai_conversation_time": true
    },
    "enable_ai_on_web": true,
    "enable_email_compose_with_ai": true,
    "microsoft_365": {
      "enable": true
    },
    "google": {
      "enable": true
    },
    "web_content": true,
    "local_file_uploads": true,
    "organization_custom_dictionaries": true,
    "third_party_app_tasks": true,
    "workspace_reservation_recommendations_with_ai": {
      "enabled": true
    },
    "participant_can_request_aic_in_meeting": false,
    "restrict_aic_when_external_user_join_meeting": false,
    "restrict_aic_when_restrict_user_join": false,
    "restrict_users_from_joining_ai_enabled_meetings": {
      "enable": false
    },
    "meeting_questions": {
      "enable": false,
      "auto_enable": false,
      "who_can_ask_questions": false
    },
    "meeting_summary": {
      "enable": false,
      "auto_enable": false,
      "who_will_receive_summary": false
    },
    "meeting_summary_template": {
      "enable": false
    },
    "meeting_summary_default_language": {
      "enable": false
    },
    "meeting_summary_ip_access": {
      "enable": false
    },
    "remind_me_turn_on_aic": false,
    "remind_me_turn_on_catch_me_up": false,
    "meeting_summary_email_only_mode": false,
    "restrict_users_from_deleting_ai_companion_assets": false,
    "restrict_users_from_editing_ai_companion_assets": false,
    "webinar_summary_ocr": false,
    "zoom_events_chat_panel": false,
    "zoom_events_session_summary": {
      "enable": false,
      "auto_start": false
    },
    "chat_summary": true,
    "chat_compose": true,
    "hub_ai_question_and_file_creation": true,
    "canvas_ai_content_generation": true,
    "canvas_ai_sentence_completion": true,
    "canvas_ai_post_meeting_writing_tasks": true,
    "paper_ai_content_generation": true,
    "sheets_ai_content_generation": true,
    "sheets_ai_formula": true,
    "sheets_ai_function": true,
    "sheets_ai_resources": true,
    "slides_ai_content_generation": true,
    "my_notes_meeting_transcription": true,
    "my_notes_ai_content_generation": true,
    "webinar_questions": {
      "enable": false,
      "auto_enable": false,
      "who_can_ask_questions": false
    },
    "webinar_summary": {
      "enable": false,
      "auto_enable": false,
      "email_notification": false,
      "restrict_share_to_outside_of_organization": false,
      "who_will_receive_summary": false
    },
    "include_webinar_summary_follow_up_email": {
      "enable": false
    }
  }
}

Responses

Status: 200 **Error Code:** `200` Only available for Paid account: $accountId.
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `2001` <br> TAccount does not exist: $subAccountId. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get account's managed domains

  • Method: GET
  • Path: /accounts/{accountId}/managed_domains
  • Tags: Accounts

Retrieve a list of an account's managed domains. To get the master account's managed domains, pass the me value for the accountId path parameter.

Prerequisites:

  • A Pro or a higher paid account with the Master account option enabled.

[Scopes(/docs/integrations/oauth-scopes-overview/): account:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): account:read:managed_domains:master

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` Account's managed domains returned. **Error Code:** `200` Only available for Paid or ZMP account: {accountId}.
Content-Type: application/json
  • domains

    array — Information about the managed domains.

    Items:

    All of:

    • domain

      string — The domain's name.

    • status

      string — The domain's status.

  • total_records

    integer — The total number of records returned.

Example:

{
  "domains": [
    {
      "domain": "example.com",
      "status": "verified"
    }
  ],
  "total_records": 1
}
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `2001` <br> Account does not exist: $accountId <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Update the account owner

  • Method: PUT
  • Path: /accounts/{accountId}/owner
  • Tags: Accounts

Changes an account's owner.

An account's current owner can change the account's owner to another user on the same account.

Prerequisites:

  • An account owner or admin permissions of an account
  • The account making this API request must be on a Pro or a higher account plan with [Master account(/docs/api/rest/master-account-apis/) privileges

[Scopes(/docs/integrations/oauth-scopes-overview/): account:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): account:update:owner:master,account:update:owner:admin

Rate Limit Label: HEAVY

Request Body

Content-Type: application/json
  • email (required)

    string, format: email — The email address of the account's new owner.

Example:

{
  "email": "admin@example.com"
}

Responses

Status: 204 **HTTP Status Code:** `204` Account owner updated.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `200` <br> User is not an admin or is an API user or doesn't belong to this account: {accountId}.<br> Cannot make a user outside of your account an owner.<br> Cannot update the role of an account owner. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `2001` <br> Account does not exist: $subAccountId.<br> <br> **Error Code:** `3201` <br> Cannot find a billing account for this: $accountId.<br> <br> **Error Code:** `3211` <br> Cannot find a billing contact for this: $accountId. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get account settings

  • Method: GET
  • Path: /accounts/{accountId}/settings
  • Tags: Accounts

Returns an account's settings.

To get settings for a master account, use the me value for the accountId path parameter.

Prerequisites:

  • The account must be a paid account.

[Scopes(/docs/integrations/oauth-scopes-overview/): account:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): account:read:settings:admin,account:read:settings:master

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` Account settings returned. **Error Code:** `200` Only available for paid accounts.
Content-Type: application/json

One of:

  • ai

    object — Workspace Reservation recommendations with AI.

    • ai_generated_virtual_backgrounds

      boolean — Whether AI-generated virtual backgrounds are enabled.

    • ai_panel_in_workplace

      object — AI panel in Zoom Workplace settings.

      • delete_ai_conversation

        boolean — Whether to automatically delete AI conversation history in the AI panel.

      • delete_ai_conversation_time

        integer | null, possible values: 30, 60, 90, 120 — The number of days after which AI conversation history in the AI panel is automatically deleted. Supported values are 30, 60, 90, and 120.

      • enabled

        boolean — Whether the AI panel in Zoom Workplace is enabled.

    • allow_user_create_customize_avatar

      object — setting for clip allow user create customize avatar

      • clips_custom_avatar_delegation

        boolean — Whether custom avatar delegation is enabled

      • enable

        boolean — Whether clips allow user create customize avatar is enabled.

    • canvas_ai_content_generation

      boolean — Whether users can use AI to generate and revise content in Canvas. Meeting transcripts from meeting summaries will be shown to hosts and can be used to create document content.

    • canvas_ai_post_meeting_writing_tasks

      boolean — Whether AI can identify post-meeting writing tasks from meeting context and generate drafts that users can review and use.

    • canvas_ai_sentence_completion

      boolean — Whether users can receive predictive writing suggestions while writing in Canvas.

    • chat_compose

      object — Allow users to use AI to help them compose a response from scratch or wordsmith their chat messages.

      • enable

        boolean — Compose with AI Companion

      • shown_in_team_chat

        boolean — Show in Team Chat

    • chat_summary

      object — Allow users to summarize chats, channels, and shared documents.

      • enable

        boolean — Summarize with AI Companion

      • shown_in_team_chat

        boolean — Show in Team Chat

    • clips_create_video_with_aic

      object — setting for clip create video with aic

      • enable

        boolean — Whether clips create video with aic is enabled.

      • show_clips_with_avatar

        boolean — Whether show clips with avatar

    • clips_summarization_generation

      object — setting for clip summarization generation

      • enable

        boolean — Whether summarization generation is enabled.

      • general_summary

        boolean — Whether summary generation is enabled.

      • generation_chapter

        boolean — Whether chapter generation is enabled.

    • enable_ai_on_web

      boolean — Whether Zoom AI on the web is enabled.

    • enable_email_compose_with_ai

      boolean — Whether users can use AI to compose or wordsmith email responses in Zoom Mail.

    • full_display_names_in_ai_assets

      boolean — Whether AI-generated meeting assets use full display names.

    • google

      object — Settings for Google data sources.

      • calendar_events

        boolean — Whether Google Calendar events accessible to the user can be used as a data source for AI.

      • documents

        boolean — Whether Google Drive documents accessible to the user can be used as a data source for AI.

      • emails

        boolean — Whether Gmail emails accessible to the user can be used as a data source for AI.

      • enable

        boolean — Whether Google data sources can be used as data sources for AI.

    • hub_ai_question_and_file_creation

      boolean — Whether users can ask AI questions about file content and create new files, such as Canvas, Slides, Sheets, Paper, or data tables, from the Hub Home page. Creating files requires AI to be enabled in each product's settings.

    • include_webinar_summary_follow_up_email

      object — Webinar follow-up email. When enabled, the host can include the webinar summary in follow-up emails.

      • absentee_follow_up_email

        boolean — Whether the webinar summary is included in the absentee follow-up email.

      • attendee_follow_up_email

        boolean — Whether the webinar summary is included in the attendee follow-up email.

      • enable

        boolean — Whether the host can include the webinar summary in follow-up email.

    • local_file_uploads

      boolean — Whether files uploaded by users can be used as a data source for AI by the users who uploaded them.

    • meeting_agenda

      boolean — Whether Meeting Agenda with AI is enabled.

    • meeting_chat_messages

      boolean — Whether meeting chat messages are used to enhance transcripts.

    • meeting_coach

      object — Meeting Coach with AI.

      • enable

        boolean — Whether Meeting Coach with AI is enabled.

      • participant_scope

        string, possible values: "all_participants_and_invitees", "participants_and_invitees_in_our_organization" — Which participants Meeting Coach applies to.

    • meeting_questions

      object — Zoom AI answers the meeting questions based on what is said in the meeting. If a transcript is retained, participants with access will be able to ask questions after the meeting based on that transcript.

      • auto_enable

        boolean — Whether to automatically allow access when the meeting starts.

      • enable

        boolean — Whether to allow hosts and invited participants to ask questions to AI Companion during a meeting.

      • who_can_ask_questions

        string, possible values: "from_entire_meeting", "from_join_meeting", "host", "org", "org_from_join_meeting" — Defines who can ask questions about this meeting's transcript. Valid values: `from_entire_meeting` (all participants and invitees), `from_join_meeting` (all participants only from when they join), `host` (only the meeting host), `org` (participants and invitees in the organization), `org_from_join_meeting` (participants in the organization only from when they join).

    • meeting_summary

      object — Allow hosts to generate a summary. Summaries are sent based on sharing permissions after the meeting has ended.

      • auto_enable

        boolean — Whether to turn on meeting summary automatically when meetings start.

      • email_notification

        boolean — Send an email notification when sharing with participants.

      • enable

        boolean — Whether to allow hosts to generate a summary.

      • restrict_share_to_outside_of_organization

        boolean — Restrict users from sharing summaries to those outside of our organization.

      • restrict_summary_share

        string, possible values: "external_users", "all_users", "all_users_except_delegate" — Restrict users from sharing summaries. Valid values: `external_users` (to those outside of our organization), `all_users` (to all users), `all_users_except_delegate` (to all users except delegates).

      • whether_include_full_text_in_email

        string, possible values: "include_full_text_in_email", "not_include_full_text_in_email" — Whether to include summary text in the email. Valid values: `include_full_text_in_email` (include summary text in the email), `not_include_full_text_in_email` (do not include summary text in the email).

      • who_will_receive_summary

        string, possible values: "host", "alt_host", "organization", "all" — Automatically share summary with. Valid values: `host` (only meeting host), `alt_host` (only meeting host, co-hosts, and alternative hosts), `organization` (only meeting host and meeting invitees in our organization), `all` (all meeting invitees including those outside of our organization).

    • meeting_summary_default_language

      object — When this feature is enabled, all meeting summaries will automatically use the language you choose.

      • enable

        boolean — When this feature is enabled, all meeting summaries will automatically use the language you choose.

      • language

        string, possible values: "ar", "bn", "zh", "zh-hant", "cs", "da", "nl", "en", "et", "fi", "fr", "de", "hi", "hu", "id", "it", "ja", "ko", "ms", "fa", "pl", "pt", "ro", "ru", "es", "sv", "tl", "ta", "te", "th", "tr", "uk", "vi" — Set default meeting summary language. Supported values: `ar` (Arabic), `bn` (Bengali), `zh` (Chinese (Simplified)), `zh-hant` (Chinese (Traditional)), `cs` (Czech), `da` (Danish), `nl` (Dutch), `en` (English), `et` (Estonian), `fi` (Finnish), `fr` (French), `de` (German), `hi` (Hindi), `hu` (Hungarian), `id` (Indonesian), `it` (Italian), `ja` (Japanese), `ko` (Korean), `ms` (Malay), `fa` (Persian), `pl` (Polish), `pt` (Portuguese), `ro` (Romanian), `ru` (Russian), `es` (Spanish), `sv` (Swedish), `tl` (Tagalog), `ta` (Tamil), `te` (Telugu), `th` (Thai), `tr` (Turkish), `uk` (Ukrainian), `vi` (Vietnamese).

    • meeting_summary_docs

      object — Automatic Zoom Doc creation from meeting summary.

      • enable

        boolean — Whether automatic Zoom Doc creation is enabled.

      • share_with_summary_recipients

        boolean — Whether generated Zoom Docs are shared with meeting summary recipients.

    • meeting_summary_email_only_mode

      boolean — When this setting is enabled, summaries will only be shared to users by email. Users will not be able to view or edit summaries on the Zoom client or web portal, as the meeting summary will not be retained.

    • meeting_summary_ip_access

      object — Allow meeting summary access only from specific IP address ranges.

      • enable

        boolean — Whether meeting summary access is restricted to specific IP address ranges.

      • ip_addresses_or_ranges

        string — IP addresses or ranges from which meeting summaries can be accessed.

    • meeting_summary_personal_data_redaction

      object — Personal data redaction for meeting summaries.

      • enable

        boolean — Whether personal data redaction is enabled.

      • personal_data_types

        array — Personal data types to redact.

        Items:

        string, possible values: "ADDRESS", "AGE", "CREDIT_DEBIT_CVV", "CREDIT_DEBIT_EXPIRY", "CREDIT_DEBIT_NUMBER", "DATE_TIME", "DRIVER_ID", "EMAIL", "INTERNATIONAL_BANK_ACCOUNT_NUMBER", "IP_ADDRESS", "LICENSE_PLATE", "MAC_ADDRESS", "NAME", "PASSWORD", "PHONE", "PIN", "SWIFT_CODE", "URL", "USERNAME", "VEHICLE_IDENTIFICATION_NUMBER", "BANK_ACCOUNT_NUMBER", "BANK_ROUTING", "PASSPORT_NUMBER", "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", "SSN"

    • meeting_summary_retention

      object — Automatic meeting summary deletion.

      • enable

        boolean — Whether automatic meeting summary deletion is enabled.

      • retention_days

        integer — Number of days to retain meeting summaries before deletion.

    • meeting_summary_sensitive_data_filter

      object — Sensitive data filter for meeting summaries.

      • enable

        boolean — Whether the sensitive data filter is enabled.

      • rules

        array — Sensitive data filter rules.

        Items:

        • name

          string — Rule display name.

        • regular_expression

          string — RE2J regular expression.

    • meeting_summary_template

      object — Allow users to select a meeting summary template for their meetings. After the meeting, the summary will be generated into the new template.

      • enable

        boolean — Whether users can select a meeting summary template for their meetings. After the meeting, the summary will be generated into the new template.

      • summary_template_id

        string — Default summary template.

    • microsoft_365

      object — Settings for Microsoft 365 data sources.

      • calendar_events

        boolean — Whether Microsoft Outlook calendar events accessible to the user can be used as a data source for AI.

      • documents

        boolean — Whether Office 365 documents accessible to the user can be used as a data source for AI.

      • emails

        boolean — Whether Microsoft Outlook emails accessible to the user can be used as a data source for AI.

      • enable

        boolean — Whether Microsoft 365 data sources can be used as data sources for AI.

    • my_notes_ai_content_generation

      object — My Notes AI content generation settings.

      • auto_generate_summary

        boolean — Whether My Notes automatically generates a summary when a note is completed.

      • auto_send_summary_email

        boolean — Whether My Notes automatically sends a summary email when a note summary is generated.

      • enable

        boolean — Whether users can use AI to generate content in My Notes and enrich their writing with the meeting transcript.

    • my_notes_meeting_transcription

      boolean — Whether users can transcribe their meetings with My Notes.

    • organization_custom_dictionaries

      boolean — Whether AI can consume the organization's custom dictionaries.

    • paper_ai_content_generation

      boolean — Whether users can use AI to generate and revise content in Zoom Paper. Meeting transcripts from meeting summaries will be shown to hosts and can be used to create documents.

    • participant_can_request_aic_in_meeting

      boolean — Participants can request the host to start in-meeting AI features.

    • phone_user_ai_notices

      object — Phone user AI notices.

      • enable

        boolean — Whether phone user AI notices are enabled.

      • multiple_notifications

        boolean — Whether multiple notifications are allowed.

      • require_press_1_consent

        boolean — Whether callers must press 1 to consent.

    • remind_me_turn_on_aic

      boolean — If you don't set AI features to auto-start in your meetings, you will be reminded to turn on AI at the beginning of each meeting you host.

    • remind_me_turn_on_catch_me_up

      boolean — When you join a meeting late, you'll get a prompt for AI to summarize what's been discussed so far.

    • restrict_aic_when_external_user_join_meeting

      boolean — Automatically restrict Zoom AI and transcription features when external users or groups join a meeting.

    • restrict_users_from_deleting_ai_companion_assets

      boolean — When enabled, users cannot delete AI assets. Only admins can delete them.

    • restrict_users_from_editing_ai_companion_assets

      boolean — When enabled, users cannot edit AI assets. Only admins can edit them.

    • restrict_users_from_joining_ai_enabled_meetings

      object — Users would be restricted from joining meetings in which AI meeting processing (meeting questions and summary) is allowed.

      • apply_scope

        string, possible values: "internal_only", "external_only", "internal_and_external" — Apply this setting to. Valid values: `internal_only` (internal meetings only), `external_only` (external meetings only), `internal_and_external` (internal and external meetings).

      • enable

        boolean — Whether users are restricted from joining meetings in which AI meeting processing (meeting questions and summary) is allowed.

      • join_notify

        string, possible values: "out_of_compliance", "notify_and_remove" — Action to take when a restricted user tries to join an AI-enabled meeting. Valid values: `out_of_compliance` (notify users that they are out of compliance), `notify_and_remove` (notify and remove users from the meeting).

    • screen_share_ocr

      boolean — Whether screen share content is used with OCR.

    • sheets_ai_content_generation

      boolean — Whether users can use AI to generate and revise content in Zoom Sheets. Meeting transcripts from meeting summaries will be shown to hosts and can be used to create sheet content.

    • sheets_ai_formula

      boolean — Whether AI can generate, explain, and apply spreadsheet formulas from natural-language input in Zoom Sheets.

    • sheets_ai_function

      boolean — Whether users can use the =AI() function in Zoom Sheets to generate, summarize, categorize, and analyze data.

    • sheets_ai_resources

      boolean — Whether users can add resources, such as meetings, docs, and data tables, to a spreadsheet and have AI suggest updates when they change.

    • show_conversational_ai_companion

      object — Show conversational AI companion settings.

      • delete_ai_conversation

        boolean — Whether to automatically delete AI conversation history.

      • delete_ai_conversation_time

        integer | null, possible values: 30, 60, 90, 120 — The number of days after which AI conversation history is automatically deleted. Supported values are 30, 60, 90, and 120.

      • enable_zoom_mate

        boolean — Whether ZoomMate is available in the web navigation and Zoom Workplace app navigation bar.

      • enabled

        boolean — Whether conversational AI is enabled.

    • slides_ai_content_generation

      boolean — Whether users can use AI to generate and revise content in Zoom Slides. Meeting transcripts from meeting summaries will be shown to hosts and can be used to create presentation content.

    • smart_recording

      object — Smart Recording

      • create_next_steps

        boolean — Next steps

      • create_recording_highlights

        boolean — Recording highlights

      • create_smart_chapters

        boolean — Summary and smart chapters

    • task_creation_and_management

      object — AI-powered task creation and management with AI Companion.

      • auto_generate_action

        boolean — Whether to automatically generate action items from tasks.

      • auto_generate_details

        boolean — Whether to automatically generate task details.

      • enable

        boolean — Whether AI-powered task creation and management is enabled.

      • generate_from_phone_call

        object — Settings for generating tasks from phone calls.

        • auto_add_participant_as_collaborator

          boolean — Whether to automatically add phone call participants as task collaborators.

        • auto_assign_to_collaborator

          boolean — Whether to automatically assign phone call tasks to collaborators.

        • enable

          boolean — Whether to allow generating tasks from phone calls.

      • generate_from_transcripts

        object — Settings for generating tasks from meeting transcripts.

        • auto_assign_to_collaborator

          boolean — Whether to automatically assign tasks to collaborators.

        • auto_share_with

          string, possible values: "host_only", "internal_participants", "internal_assigned_participants" — Defines who tasks are automatically shared with when generated from transcripts.

        • enable

          boolean — Whether to allow generating tasks from meeting transcripts.

      • generate_from_voicemail

        boolean — Whether to allow generating tasks from voicemail.

    • third_party_app_tasks

      boolean — Whether AI can perform tasks on the user's behalf in third-party apps configured within AI Studio.

    • third_party_meeting_join

      object — Third-party meeting join with AI.

      • allow_recording

        boolean — Whether recording is enabled for joined third-party meetings.

      • calendar

        object — Calendar-based third-party meeting join.

        • enable

          boolean — Whether calendar-based third-party meeting join is enabled.

        • join_scope

          string, possible values: "all_events_with_video_conference_links", "meetings_where_i_am_the_host", "meetings_where_i_am_a_participant" — Which calendar events third-party meeting join applies to.

      • enable

        boolean — Whether third-party meeting join with AI is enabled.

      • pre_meeting_email_notification

        object — Pre-meeting email notification.

        • enable

          boolean — Whether pre-meeting email notification is enabled.

        • recipients

          string, possible values: "all_invitees", "only_meeting_host" — Who receives the pre-meeting email notification.

    • web_content

      boolean — Whether public web content can be used as a data source for AI.

    • webinar_questions

      object — During the webinar, answers are based on speech-to-text data. If a transcript is retained, participants with access can ask questions after the webinar based on that transcript.

      • auto_enable

        boolean — Whether to automatically allow access when the webinar starts.

      • enable

        boolean — Whether to allow users to ask webinar questions with AI.

      • who_can_ask_questions

        string, possible values: "panelist_all", "panelist_org", "host", "all_participants" — Who can ask questions about the webinar. Valid values: `panelist_all` (Hosts and all panelists), `panelist_org` (Hosts and all panelists in the organization), `host` (Only webinar host, co-hosts, and alternative hosts), `all_participants` (All participants).

    • webinar_summary

      object — Allows hosts to generate a summary. Summaries are sent after the webinar has ended based on sharing permissions.

      • auto_enable

        boolean — Whether to turn on webinar summary automatically when the webinar starts.

      • email_notification

        boolean — Whether to send an email notification when sharing to participants.

      • enable

        boolean — Whether to allow hosts to generate a summary.

      • restrict_share_to_outside_of_organization

        boolean — Whether to restrict users from sharing summaries to those outside of the organization.

      • restrict_summary_share

        string, possible values: "external_users", "all_users", "all_users_except_delegate" — Restrict users from sharing summaries. Valid values: `external_users` (To those outside of the organization), `all_users` (To all users), `all_users_except_delegate` (To all users except delegates).

      • whether_include_full_text_in_email

        string, possible values: "include_full_text_in_email", "not_include_full_text_in_email" — Whether to include summary text in the email. Valid values: `include_full_text_in_email` (Include summary text in the email), `not_include_full_text_in_email` (Don't include summary text in the email).

      • who_will_receive_summary

        string, possible values: "host", "host_and_panelist_in_organization", "host_and_panelist_not_in_organization" — Who to automatically share the summary with. Valid values: `host` (Only webinar host), `host_and_panelist_in_organization` (Only webinar host, co-hosts, and panelists in the organization), `host_and_panelist_not_in_organization` (Webinar host, co-hosts, and all panelists, including those outside the organization).

    • webinar_summary_follow_up_email

      boolean — Whether webinar summaries are included in webinar follow-up email. Deprecated. Use `include_webinar_summary_follow_up_email`.

    • webinar_summary_ocr

      boolean — Whether screen share content is used with OCR for webinar summaries. Optical Character Recognition (OCR) converts images of text screen shared during a webinar into machine-readable text to generate more accurate and relevant AI results.

    • whiteboard_content_generation

      boolean — Whether Whiteboard content generation with AI is enabled.

    • workspace_reservation_recommendations_with_ai

      object — Workspace Reservation recommendations with AI.

      • custom_workspaces_recommendation

        boolean — Whether custom workspace recommendations are enabled.

      • day_recommendation

        boolean — Whether day recommendations are enabled.

      • desk_recommendation

        boolean — Whether desk recommendations are enabled.

      • enabled

        boolean — Whether Workspace Reservation recommendations with AI are enabled.

      • proactive_room_recommendation

        boolean — Whether proactive room recommendations are enabled.

      • room_recommendation

        boolean — Whether room recommendations are enabled.

    • zoom_events_analytics

      boolean — Whether Zoom Events AI Analytics is enabled. AI can analyze event engagement and uncover key moments, topics of interest, and actionable insights.

    • zoom_events_chat_compose

      boolean — Whether Zoom Events Chat Compose is enabled. AI helps users compose a response from scratch or wordsmith their chat messages.

    • zoom_events_chat_panel

      boolean — Whether the AI chat panel is enabled in Zoom Events. AI chat appears in Zoom Events setup surfaces and can be opened with the floating AI sparkle icon. You can ask AI chat about event performance and get insights and recommendations, including analytics for a specific event and across events in a Zoom Events hub.

    • zoom_events_content_generation

      boolean — Whether Zoom Events Content Generation with AI is enabled. AI content generation helps users create blogs, ebooks, whitepapers, emails, highlights, and sales briefs.

    • zoom_events_content_studio

      boolean — Whether Content Studio is enabled. Content Studio can turn recordings into high-quality content such as video clips, emails, and blog posts.

    • zoom_events_email_compose

      boolean — Whether Zoom Events Email Compose with AI is enabled. AI can compose emails and subject lines for events in the Email Builder.

    • zoom_events_image_generation

      boolean — Whether the Zoom Events image generator is enabled. AI can create images for use in an event.

    • zoom_events_session_summary

      object — Session summary. Allows hosts to generate a summary. Summaries are sent after the session has ended based on the in-session access options.

      • auto_start

        boolean — Whether to turn on session summary automatically when sessions start.

      • enable

        boolean — Whether Zoom Events session summaries are enabled.

    • zoom_events_smart_compose

      boolean — Whether Zoom Events Smart Compose with AI is enabled. AI can write event content when setting up an event, including event descriptions, session descriptions, speaker bios, and lobby announcements.

    • zoom_events_smart_upload

      boolean — Whether Zoom Events Smart Upload is enabled. AI can ingest files to quickly create event content such as speaker biographies.

  • audio_conferencing

    object — Account Audio Conference Settings

  • chat

    object — The account's chat settings.

    • ai_compose

      object — The field has been moved from the `chat` object to the `ai` object and renamed to `chat_compose` to better reflect its functionality. Allow users to summarize chats, channels, and shared documents.

      • enable

        boolean — Compose with AI Companion

      • shown_in_team_chat

        boolean — Show in Team Chat

    • ai_quick_reply

      boolean — **Zoom no longer supports this feature.** Quick reply with AI Companion.

    • ai_quick_schedule

      boolean — **Zoom no longer supports this feature.** Quick schedule with AI Companion

    • ai_recommend

      boolean — **Zoom no longer supports this feature.** Chat Recommendation with Zoom AI Companion

    • ai_sentence_completion

      boolean — **Zoom no longer supports this feature.** Sentence completion with AI Companion

    • ai_summary

      object — The field has been moved from the `chat` object to the `ai` object and renamed to `chat_summary` to better reflect its functionality. Allow users to summarize chats, channels, and shared documents.

      • enable

        boolean — Summarize with AI Companion

      • shown_in_team_chat

        boolean — Show in Team Chat

    • allow_bots_chat

      boolean — Whether chatbots added to chats and channels can read and write messages.

    • allow_delete_message

      object — When this setting is enabled, users can delete their own messages in Team Chat. If the user is the channel owner or admin and this setting is disabled, the user will also not be able to remove messages of other members in that channel even if other settings allow this. Time frame is configurable even when account setting is OFF and unlocked.

      • enable

        boolean — Allow users to delete messages

      • time

        integer, possible values: 0, 5, 30, 60, 1440, 10080 — Within how many minitues of posting

    • allow_edit_message

      object — When this setting is enabled, users can edit their own messages in Team Chat. Time frame is configurable even when account setting is OFF and unlocked.

      • enable

        boolean — Allow users to edit messages

      • time

        integer, possible values: 0, 5, 30, 60, 1440, 10080 — Within how many minitues of posting

    • allow_huddles_from_channels

      boolean — Allow huddles from channels

    • allow_remove_msg_by_owner_and_admins

      boolean — Allow channel owner and admin(s) to remove messages of other members

    • allow_users_to_add_contacts

      object — Allow users to add contacts.

      • enable

        boolean — By disabling this setting, users will not be able to add contacts.

      • selected_option

        integer, possible values: 1, 2, 3, 4 — The type of allowing users to add contacts. * 1 - Anyone (internal and external contacts). * 2 - In the same organization. * 3 - In the same organization and specified domains. * 4 - In the same organization and specified users.

      • user_email_addresses

        string — The domains or emails (internal or external). * When the `selected_option` field value is `3`, the value is internal or external domains. Use a comma to separate multiple domains. Example: company.com. * When the `selected_option` field value is `4`, the value is internal or external email addresses. Use a comma to separate multiple emails.

    • allow_users_to_chat_with_others

      object — Allow users to chat with others.

      • enable

        boolean — If you select 'In the same organization', users may still be able to chat with external users if they are added to channels or group chats with external users.

      • selected_option

        integer, possible values: 1, 2, 3, 4 — The type of allowing users to add contacts. * 1 - Anyone (internal and external contacts). * 2 - In the same organization. * 3 - In the same organization and specified domains. * 4 - In the same organization and specified users.

      • user_email_addresses

        string — The domains or emails, internal or external. * When the `selected_option` field value is `3`, the value is internal or external domains. Separate multiple domains with a comma. Example: company.com. * When the `selected_option` field value is `4`, the value is internal or external email addresses. Use a comma to separate multiple emails.

    • apply_local_storage_to_personal_channel

      object — Store personal channel messages on local devices.

      • enable

        boolean — Specify how long your messages sent in your personal channel are saved on local devices. If this setting is disabled, messages are never deleted locally.

      • retention_period

        string — Delete data after retention period. 'y' - year, 'm' - month, 'd' - day.

    • chat_email_address

      object — Allow users to create email addresses for chats and channels. Email sent to a created address will also be posted in respective chat or channel.

      • enable

        boolean — Chat email address

      • only_allow_specific_domains

        boolean — Only allow emails from specified domains

      • specific_domains

        array — Specified domains.

        Items:

        string — Specified domains.

    • chat_emojis

      object — Chat emojis.

      • emojis_option

        string, possible values: "all", "selected" — All emojis / selected emojis

      • enable

        boolean — Allow users to use the emoji library in direct messages or group conversations. Choose between allowing users to use any emoji in the library, or choose to allow only pre-selected emojis. If the setting is disabled, users can still use keyboard shortcuts to add emojis. Users can change their emoji skin tone in Settings.

    • chat_etiquette_tool

      object — Information about the **Chat Etiquette Tool**.

      • enable

        boolean — Whether to enable the **Chat Etiquette Tool**.

      • policies

        array — Information about the defined **Chat Etiquette Tool** policies.

        Items:

        • description

          string — The policy's description.

        • id

          string — The policy ID.

        • is_locked

          boolean — Whether the policy is locked by an account-level user. When it is locked, users cannot update the policy.

        • keywords

          array — A list of defined rule keywords.

          Items:

          string

        • name

          string — The policy name.

        • regular_expression

          string — The regular expression to match to the content of chat messages.

        • status

          string, possible values: "activated", "deactivated" — The policy's current status. * `activated` - Activated. * `deactivated` - Deactivated.

        • trigger_action

          integer, possible values: 1, 2 — The policy's trigger action. * `1` - Ask the user to confirm before they send the message. * `2` - Block the user's message.

      • policy_max_count

        integer — The read-only maximum number of **Chat Etiquette Tool** policies.

    • code_snippet

      boolean — Send code snippet

    • create_group_chat

      boolean — Allow users to create group chats.

    • create_private_channels

      boolean — Allow users to create private channels.

    • create_public_channels

      boolean — Allow users to create public channels.

    • download_file

      boolean — Downloading files

    • external_collab_restrict

      object — Restrict external collaboration in group chats and channels for a select group

      • enable

        boolean — Restrict external collaboration in group chats and channels for a select group

      • external_chat

        string, possible values: "allowed", "not_allowed" — The type of restrict external collaboration in group chats and channels for a select group * - Allowed user group * - Not allowed user group

      • group_id

        string — The group Id

    • external_invite_approve

      object — Require admin approval for adding external users in group chats and channels

      • channel_id

        string — The channel Id

      • enable

        boolean — Require admin approval for adding external users in group chats and channels

      • external_account

        boolean — Allow this setting to be edited for specified accounts

      • selected_option

        integer, possible values: 1, 2 — The type of requiring admin approval for adding external users in group chats and channels* 1 - Send requests directly to all approvers* 2 - Send requests to a specific channel

    • external_join_approve

      object — Require admin approval for joining external group chats and channels

      • channel_id

        string — The channel Id

      • enable

        boolean — Require admin approval for joining external group chats and channels

      • external_account

        boolean — Allow this setting to be edited for specified accounts

      • selected_option

        integer, possible values: 1, 2 — The type of requiring admin approval for joining external group chats and channels * 1 - Send requests directly to all approvers * 2 - Send requests to a specific channel

    • external_member_join

      object — Allow members of your organization to join external group chats and channels

      • enable

        boolean — Allow members of your organization to join external group chats and channels

      • external_account

        boolean — Allow this setting to be edited for specified accounts

    • external_user_control

      object — Add external users into group chats and channels

      • enable

        boolean — Allow to add external users into group chats and channels

      • external_account

        boolean — Allow this setting to be edited for specified accounts

      • selected_option

        integer, possible values: 1, 2, 3 — The type of allowing external user control * 1 - Everyone * 2 - Only members in your organization, plus specified external accounts * 3 - Only the account owner and admins

    • hyper_link

      boolean — Allow hyperlinks in Team Chat

    • personal_channel

      boolean — Enable Personal Chat

    • presence_away_when_screen_saver

      boolean — Change my status to away when screen saver begins

    • presence_on_meeting

      boolean — Change my presence status when I am in a meeting or call

    • read_receipts

      object — Indicate when messages have been seen by recipients, for chats and channels with less than 20 members.

      • allow_users_opt_out

        boolean — Allow users to opt out

      • enable

        boolean — Enable read receipts

    • record_video_messages

      boolean — Allow users to record video messages that can be sent in direct messages or group conversations. If the file share setting is disabled, they will not be able to record and send video messages.

    • record_voice_messages

      boolean — Allow users to record voice messages that can be sent in direct messages or group conversations.

    • schedule_meetings_in_chat

      boolean — Schedule a meeting from chat or channel.

    • screen_capture

      boolean — Allow users to take and send screenshots in direct messages or group conversations.

    • search_and_send_animated_gif_images

      object — Allow users to search GIF images from GIPHY when they compose messages. See GIPHY's website for more information about content ratings.

      • enable

        boolean — Whether to allow users to search GIF images from GIPHY when they compose messages.

      • giphy_content_rating

        integer, possible values: 1, 2, 3, 4 — Set the GIPHY content rating. This feature is only available for Zoom Client v5.11.0 or later.

    • send_data_to_third_party_archiving_service

      object — Send data to third-party archiving service.

      • authorized_channel_token

        string — Authorized channel token. It is used when the field `type` value is `smarsh`.

      • enable

        boolean — Allow users to send data to third-party archiving service.

      • passcode

        string — passcode. It is used when the field `type` value is `global_relay`.

      • smtp_delivery_address

        string — SMTP delivery address. It is used when the field `type` value is `global_relay`.

      • type

        string, possible values: "global_relay", "smarsh" — The type of global relay. * `global_relay` - The participant cannot use chat. * `smarsh` - Host and co-hosts only.

      • user_name

        string — User name. It is used when the field `type` value is `global_relay`.

    • set_chat_as_default_tab

      boolean — Set Team Chat as a default tab for first-time users

    • set_retention_period_in_cloud

      object — Set retention period for messages and files in Zoom's cloud.

      • enable

        boolean — By default, messages and files are stored in Zoom's cloud. Enable this setting to specify when they are deleted. When retention is disabled, messages sent by offline users can be received within 7 days before they are deleted.

      • retention_period_of_channels

        string — Delete data in channels after retention period. 'y' - year, 'm' - month, 'd' - day

      • retention_period_of_direct_messages_and_group_conversation

        string — Delete direct messages and group conversations after retention period. 'y' - year, 'm' - month, 'd' - day

    • set_retention_period_in_local

      object — Store messages on local devices, excluding personal channel messages.

      • enable

        boolean — Specify how long your messages are saved on local devices. If this setting is disabled, messages are never deleted locally.

      • retention_period_of_channels

        string — Delete data in channels after retention period. 'y' - year, 'm' - month, 'd' - day

      • retention_period_of_direct_messages_and_group_conversation

        string — Delete direct messages and group conversations after retention period. 'y' - year, 'm' - month, 'd' - day

    • share_files

      object — Users can share and view files in chats and channels.

      • enable

        boolean — Allow users to view, share, and forward files in chats and channels. When disabled, users can still take, share, and forward screenshots; record and forward voice and video messages; send and forward GIF images; and send and forward code snippets if those specific settings are enabled.

      • restrictions

        object — User restrictions for sharing and viewing files in chats and channels.

        • file_restrictions_apply_to

          string, possible values: "sharing_and_viewing", "sharing" — Apply restrictions to both sharing and viewing, or only apply to sharing

        • file_size_restrictions

          integer, possible values: 50, 100, 200, 300, 400, 500 — Maximum file size.

        • file_size_restrictions_for_external

          integer, possible values: 50, 100, 200, 300, 400, 500 — Maximum file size for external users.

        • file_type_restrictions

          array — Specified file type.

          Items:

          string, possible values: ".gz", ".rar", ".zip", ".xls", ".xlsx", ".json", ".png", ".pptx", ".ppt", ".7z", ".xmind", ".pdf", ".pps", ".txt", ".docx", ".doc" — Specified file type.

        • file_type_restrictions_for_external

          array — Specified file type.

          Items:

          string, possible values: ".gz", ".rar", ".zip", ".xls", ".xlsx", ".json", ".png", ".pptx", ".ppt", ".7z", ".xmind", ".pdf", ".pps", ".txt", ".docx", ".doc" — Specified file type.

        • maximum_file_size

          boolean — Whether to restrict the file size.

        • only_allow_specific_file_types

          boolean — Only allow specified file types.

      • share_option

        string, possible values: "disable", "anyone", "account", "organization" — Allow users of this account to send files in chats and channels.

      • view_option

        string, possible values: "anyone", "account", "organization" — Allow users of this account to view files in chats and channels.

    • share_links_in_chat

      boolean — Share links to messages and channels in Team Chat.

    • share_screen_in_chat

      boolean — Share screen in chat

    • shared_spaces

      boolean — Allow users to create Shared Spaces

    • show_h323_contact_tab

      boolean — Show H.323 contacts

    • show_status_to_internal_contact

      boolean — Show status to internal contacts

    • store_revise_chat

      boolean — Store edited and deleted message revisions

    • suppress_removal_notification

      boolean — Suppress deleted, deactivated, and reactivated user notice in group chats and channels

    • suppress_user_group_notification

      boolean — Suppress add and remove user notice in channels

    • survey_poll

      boolean — Allow users to launch a poll in chats and channels

    • translate_messages

      boolean — Allow users to translate team chat messages. [Learn more].(https://support.zoom.us/hc/en-us/articles/12998089084685)

  • email_notification

    object — Account Settings: Notification.

    • alternative_host_reminder

      boolean — Notify when an alternative host is set or removed from a meeting.

    • cancel_meeting_reminder

      boolean — Notify the host and participants when a meeting is cancelled.

    • cloud_recording_available_reminder

      boolean — Whether to notify the host when a cloud recording is available.

    • jbh_reminder

      boolean — Notify the host when participants join the meeting before them.

    • low_host_count_reminder

      boolean — Notify user when host licenses are running low.

    • recording_available_reminder_alternative_hosts

      boolean — Whether to notify any alternative hosts when a cloud recording is available.

    • recording_available_reminder_schedulers

      boolean — Whether to notify the person who scheduled the meeting or webinar for the host when a cloud recording is available.

    • schedule_for_reminder

      boolean — Notify the host there is a meeting is scheduled, rescheduled, or cancelled.

  • feature

    object — Account Settings: Feature.

    • meeting_capacity

      integer — Set the maximum number of participants a host can have in a single meeting.

  • general_setting

    object — General settings.

    • auto_zoom_room_proximity_connect

      boolean — Allow automatic direct sharing and connecting to Zoom Rooms using ultrasonic proximity signal.

    • show_zoom_room_feature

      boolean — Show "Zoom Room" feature in the Zoom Workplace app.

  • in_meeting

    object — The in-meeting account setting.

    • ai_companion_questions

      object — Allow hosts and invited participants to ask questions to AI Companion during a meeting. Questions are answered based on the conversation transcript.

      • auto_enable

        boolean — Whether to automatically allow access when the meeting starts

      • enable

        boolean — Whether to allow hosts and invited participants to ask questions to AI Companion during a meeting.

      • who_can_ask_questions

        integer, possible values: 1, 2, 3, 4, 5 — Defines who can ask questions about this meeting's transcript. * `1` - All participants and invitees. * `2` - All participants only from when they join. * `3` - Only meeting host. * `4` - Participants and invitees in our organization. * `5` - Participants in our organization only from when they join.

    • alert_guest_join

      boolean — Identify guest participants in a meeting or webinar.

    • allow_host_panelists_to_use_audible_clap

      boolean — Whether to allow host and panelist to use audible clap.

    • allow_host_to_enable_focus_mode

      boolean — Whether the host can enable [**Focus Mode**](https://support.zoom.us/hc/en-us/articles/360061113751-Using-focus-mode) when scheduling a meeting.

    • allow_live_streaming

      boolean — Whether to allow livestreaming.

    • allow_participants_chat_with

      integer, possible values: 1, 2, 3, 4 — Whether to allow participants to only chat with certain groups. * `1` - The participant cannot use chat. * `2` - Host and co-hosts only. * `3` - The participant can chat with other participants publicly. * `4` - The participant can chat with other participants publicly and privately. **Note:** This setting is only available with client versions 5.7.3 and above.

    • allow_participants_to_rename

      boolean — If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.

    • allow_show_zoom_windows

      boolean — Show the Zoom desktop application when sharing screens.

    • allow_users_save_chats

      integer, possible values: 1, 2, 3 — Whether to allow participants to save meeting chats. * `1` - Participants cannot save meeting chats. * `2` - Participants can only save host and co-host meeting chats. * `3` - Participants can save all meeting chats.

    • annotation

      boolean — Allow participants to use annotation tools to add information to shared screens.

    • anonymous_question_answer

      boolean — Allow an anonymous Q&amp;A in a webinar.

    • attendee_on_hold

      boolean, default: false — Allow host to put attendee on hold. **This field has been deprecated and is no longer supported.**

    • attention_mode_focus_mode

      boolean, default: false — Whether to enable [**Focus Mode**](https://support.zoom.us/hc/en-us/articles/360061113751-Using-focus-mode). When enabled, this feature only displays the host and co-hosts' video and profile pictures during a meeting. This value defaults to `false`.

    • auto_answer

      boolean — Enable users to see and add contacts to the `auto-answer group` in the chat contact list. Any call from members of this group will automatically be answered.

    • auto_generated_translation

      object — The [translated captions](https://support.zoom.us/hc/en-us/articles/6643133682957-Enabling-and-configuring-translated-captions) setting in meetings.

      • enable

        boolean — The option for participants to enable the automated translation captions in meetings.

      • language_item_pairList

        object — The input speaking language and output caption language pair list.

        • all

          boolean — The option to select all language pairs.

        • trans_lang_config

          array — The speaking language and caption language list.

          Items:

          • speak_language

            object — The input speaking language in meetings.

          • translate_to

            object — The translated output caption language.

    • auto_saving_chat

      boolean — Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.

    • breakout_room

      boolean — Allow host to split meeting participants into separate, smaller rooms.

    • breakout_room_schedule

      boolean — Whether the host can assign participants to breakout rooms when scheduling. This feature is **only** available in version 4.5.0 or higher.

    • chat

      boolean — Allow meeting participants to send a message that is visible to all participants.

    • closed_caption

      boolean — Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions.

    • closed_captioning

      object — Information about the account's closed captioning settings.

      • auto_transcribing

        boolean — Whether to allow a live transcription service to transcribe meetings.

      • enable

        boolean — Whether to allow the host to type closed captions or assign a participant or 3rd-party service to provide closed captioning.

      • save_caption

        boolean — Whether to allow participants to save closed captions or transcripts.

      • third_party_captioning_service

        boolean — Whether to allow the use of an API token to integrate with 3rd-party closed captioning services.

      • view_full_transcript

        boolean — Whether to allow the viewing of full transcripts in the in-meeting side panel.

    • co_host

      boolean — Allow the host to add co-hosts.

    • custom_data_center_regions

      boolean — If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.

    • custom_live_streaming_service

      boolean — Whether to allow custom livestreaming.

    • custom_service_instructions

      string — The specific instructions to configure a custom livestream.

    • data_center_regions

      array — If the value of `custom_data_center_regions` is `true`, a comma-separated list of the following [data center regions](https://support.zoom.us/hc/en-us/articles/360059254691-Datacenter-abbreviation-list) to opt in to. * `AU` - Australia. * `LA` - Latin America. * `CA` - Canada. * `CN` - China. * `DE` - Germany. * `HK` - Hong Kong SAR. * `IN` - India. * `IE` - Ireland. * `TY` - Japan. * `MX` - Mexico. * `NL` - Netherlands. * `SG` - Singapore. * `US` - United States.

      Items:

      string, possible values: "AU", "LA", "CA", "CN", "DE", "HK", "IN", "IE", "TY", "MX", "NL", "SG", "US"

    • disable_screen_sharing_for_host_meetings

      boolean — Whether to enable the **Disable desktop screen sharing for meetings you host** setting.

    • disable_screen_sharing_for_in_meeting_guests

      boolean — Whether to enable the **Disable screen sharing when guests are in the meeting** setting.

    • dscp_audio

      integer — DSCP audio.

    • dscp_dual

      boolean — Whether to use the differentiated services code point classifiers ('dscp_video', 'dscp_audio') in the dual way (incoming and outgoing).

    • dscp_marking

      boolean — DSCP marking.

    • dscp_video

      integer — DSCP video.

    • e2e_encryption

      boolean — Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).

    • entry_exit_chime

      string, possible values: "host", "all", "none" — Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.

    • far_end_camera_control

      boolean — Allow another user to take control of your camera during a meeting.

    • feedback

      boolean — Add a **Feedback** tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.

    • file_transfer

      boolean — Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.

    • group_hd

      boolean — Activate higher quality video for host and participants in Meeting. Please note: This will use more bandwidth.

    • join_from_desktop

      boolean — Whether to allow participants to join a meeting directly from their desktop browser. Note that the meeting experience from the desktop browser is limited.

    • join_from_mobile

      boolean — Whether to allow participants to join a meeting directly from their mobile browser. Note that the meeting experience from the mobile browser is limited.

    • language_interpretation

      object — Information about the [language interpretation](https://support.zoom.us/hc/en-us/articles/360034919791-Using-Language-Interpretation-in-your-meeting-or-webinar) settings.

      • allow_participants_to_speak_in_listening_channel

        boolean — Whether to allow participants to speak in the listening channel.

      • allow_up_to_25_custom_languages_when_scheduling_meetings

        boolean — Whether to allow up to 25 custom languages when scheduling meetings.

      • custom_languages

        array — A list of user-defined supported languages.

        Items:

        string

      • enable

        boolean — Whether to allow hosts to assign participants as interpreters who can interpret one language into another in real-time.

      • enable_language_interpretation_by_default

        boolean — Whether to enable language interpretation by default.

      • languages

        array — A list of system-supported languages.

        Items:

        string, possible values: "English", "Chinese", "Japanese", "German", "French", "Russian", "Portuguese", "Spanish", "Korean"

    • live_streaming_facebook

      boolean — Whether to allow Facebook livestreaming.

    • live_streaming_youtube

      boolean — Whether to allow YouTube livestreaming.

    • manual_captioning

      object — Information about manual captioning settings.

    • meeting_data_transit_and_residency_method

      string, possible values: "cloud", "On-Prem" — Select meeting data transit and residency method for meeting hosts and participants. `cloud` - Zoom Cloud. `On-Prem` - On-Prem (Zoom Meeting Connector, only applicable for licensed users).

    • meeting_polling

      object — Information about the account's meeting polling settings.

      • advanced_polls

        boolean — Whether to allow host to create advanced polls and quizzes. Advanced polls and quizzes include single choice, multiple choice, drop down, matching, short answer, long answer, rank order, and fill-in-the-blank questions. Hosts can also set the correct answers for quizzes they create.

      • allow_alternative_host_to_add_edit

        boolean — Whether to allow the alternative host to add or edit polls and quizzes.

      • allow_host_to_upload_image

        boolean — Whether to allow host to upload an image for each question.

      • enable

        boolean — Whether to allow the host to add polls before or during a meeting.

      • manage_saved_polls_and_quizzes

        boolean — Whether to allow users to manage saved polls and quizzes from Meetings

      • require_answers_to_be_anonymous

        boolean — Whether to require answers to be anonymous.

    • meeting_question_answer

      boolean — Allow participants to ask questions for the host and participants to answer.

    • meeting_reactions

      boolean — Whether meeting participants can [communicate using the emoji reactions](https://support.zoom.us/hc/en-us/articles/115001286183-Nonverbal-feedback-and-meeting-reactions) located in the **Reactions** menu in the meeting toolbar.

    • meeting_reactions_emojis

      string, possible values: "all", "selected" — Choose from these meeting reaction options. * `all` - All emojis: Allow meeting participants to use any emoji available in Zoom chat as a reaction in a meeting. * `selected` - Selected emojis: Allow meeting participants to use the 6 standard meeting reaction emojis: Clapping Hands, Thumbs Up, Heart, Tears of Joy, Open Mouth, Party Popper (Tada, Celebration).

    • meeting_summary_with_ai_companion

      object — As a host, you can generate a summary. Summaries are sent after the meeting has ended based on the share options.

      • auto_enable

        boolean — Whether to turn on meeting summary automatically when meetings start

      • enable

        boolean — Whether to allow hosts to generate a summary.

      • enable_summary_template

        boolean — Whether to allow users to select a meeting summary template for their meetings. After the meeting, the summary will be generated using the selected template.

      • summary_template_id

        string — The default summary template ID. The meeting summary template list can be found in the [List meeting summary templates] API.

      • who_will_receive_summary

        integer, possible values: 1, 2, 3, 4 — Defines who will receive a summary after this meeting. * `1` - Only meeting host. * `2` - Only meeting host, co-hosts, and alternative hosts. * `3` - Only meeting host and meeting invitees in our organization. * `4` - All meeting invitees including those outside of our organization.

    • meeting_survey

      boolean — Whether to allow the host to present a survey to participants once a meeting has ended. This feature is only available in version 5.7.3 or higher.

    • non_verbal_feedback

      boolean, default: false — Whether to enable the [**Non-verbal feedback**](https://support.zoom.us/hc/en-us/articles/115001286183-Nonverbal-feedback-and-meeting-reactions-) setting. This value defaults to `false`.

    • original_audio

      boolean — Allow users to select original sound in their client settings.

    • p2p_connetion

      boolean — Peer to peer connection while only two people are in a meeting.

    • p2p_ports

      boolean — Peer to peer listening ports range.

    • participants_share_simultaneously

      string, possible values: "multiple", "one" — Indicates how many participants can share at the same time. The value can be one of the following: `one`: Only one participant can share at a time . `multiple`: Multiple participants can share simultaneously (dual monitors recommended) . For Webinar, the hosts and panelists can start screen sharing, but not the attendees.

    • polling

      boolean — Add **Polls** to the meeting controls.

    • ports_range

      string, default: "" — The listening ports range, separated by a comma, such as `55,56`. The ports range must be between 1 to 65535.

    • post_meeting_feedback

      boolean — Display a thumbs up or down survey at the end of each meeting.

    • private_chat

      boolean — Allow a meeting participant to send a private message to another participant.

    • record_play_own_voice

      boolean — Record and play their own voice.

    • remote_control

      boolean — Allow users to request remote control.

    • remote_support

      boolean, default: false — Whether to enable the [**Remote support**](https://support.zoom.us/hc/en-us/articles/360060951012-Enabling-remote-support) setting. This value defaults to `false`.

    • request_permission_to_unmute_participants

      boolean — Whether to enable the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting) setting.

    • screen_sharing

      boolean — Allow screen sharing.

    • sending_default_email_invites

      boolean — Only show the default email when sending email invites.

    • show_a_join_from_your_browser_link

      boolean — Whether to allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is useful for participants who cannot download, install, or run applications. Note that the meeting experience from the browser is limited.

    • show_meeting_control_toolbar

      boolean — Always show the meeting control toolbar.

    • sign_language_interpretation

      object — Allow hosts to assign participants as sign language interpreters who can interpret one language into sign language in real-time. Hosts can assign interpreters when scheduling, or during the meeting itself. This feature is only available with version 5.11.3 or later.

      • custom_languages

        array — A list of user-defined supported languages.

        Items:

        string

      • enable

        boolean — Whether to allow hosts to assign participants as sign language interpreters who can interpret one language into another in real-time.

      • enable_sign_language_interpretation_by_default

        boolean — Whether to enable sign language interpretation view by default in scheduler.

      • languages

        array — A list of system-supported languages.

        Items:

        string, possible values: "American", "Chinese", "French", "German", "Japanese", "Russian", "Brazilian", "Spanish", "Mexican", "British"

    • slide_control

      boolean — Whether the person sharing during a presentation can allow others to control the slide presentation. This feature is only available in version 5.8.3 or higher.

    • stereo_audio

      boolean — Allow users to select stereo audio in their client settings.

    • transfer_meetings_between_devices

      boolean — Users can move to a new device without leaving the meeting they're in.

    • unchecked_data_center_regions

      array — If the value of `custom_data_center_regions` is `true`, a comma-separated list of the following [data center regions](https://support.zoom.us/hc/en-us/articles/360059254691-Datacenter-abbreviation-list) to **not** opt in to. * `EU` - Europe. * `HK` - Hong Kong. * `AU` - Australia. * `IN` - India. * `LA` - Latin America. * `TY` - Tokyo. * `CN` - China. * `US` - United States. * `CA` - Canada.

      Items:

      string, possible values: "EU", "HK", "AU", "IN", "TY", "CN", "US", "CA", "DE", "NL", "LA"

    • use_html_format_email

      boolean — Use HTML formatted email for the Outlook plugin.

    • virtual_background

      boolean — Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.

    • virtual_background_settings

      object — Settings to manage virtual background.

      • allow_upload_custom

        boolean — Allow users to upload custom backgrounds.

      • allow_videos

        boolean — Allow use of videos for virtual backgrounds.

      • enable

        boolean — Enable virtual background.

      • files

        array

        Items:

        • id

          string — The file's unique identifier.

        • is_default

          boolean — Indicates whether or not this file is the default virtual background file.

        • name

          string — test.png

        • size

          integer — File size.

        • type

          string — File type.

    • watermark

      boolean — Add a watermark when viewing a shared screen.

    • webinar_ai_companion_questions

      object — Allow webinar hosts and panelists to ask questions to AI Companion during a webinar. Questions are answered based on the conversation transcript.

      • auto_enable

        boolean — Whether to automatically allow access when the webinar starts.

      • enable

        boolean — Whether to allow webinar hosts and panelists to ask questions to AI Companion during a webinar.

      • who_can_ask_questions

        integer, possible values: 0, 1, 2, 3 — Defines who can ask questions about the webinar's transcript. * `0` - Hosts and all panelists. * `1` - Hosts and all panelists in your organization. * `2` - Only the webinar host, co-hosts, and alternative hosts. * `3` - All participants.

    • webinar_chat

      object

      • allow_attendees_chat_with

        integer, possible values: 1, 2, 3 — Designate who webinar attendees can chat with in the meeting. * `1` - No one. * `2` - Host and all panelists. * `3` - Everyone.

      • allow_auto_save_local_chat_file

        boolean — Whether to automatically save chat messages to a local file on the host's computer when the webinar ends.

      • allow_panelists_chat_with

        integer, possible values: 1, 2 — Designate which other participants users can chat with in the meeting. * `1` - Host and all panelists. * `2` - Everyone.

      • allow_panelists_send_direct_message

        boolean — Whether to allow webinar panelists to send direct messages to other panelists.

      • allow_users_save_chats

        integer, possible values: 0, 1, 2 — Whether to allow webinar attendees to save chats. * `0` - Attendees cannot save chats. * `1` - Attendees can only save host and panelist chats. * `2` - Attendees can save all chats.

      • allow_users_to_delete_messages_in_meeting_chat

        boolean — If the value of this field is set to `true`, allow users to delete messages in the in-meeting chat.

      • default_attendees_chat_with

        integer, possible values: 1, 2 — By default, allow webinar attendees to chat with: * `1` - Host and all panelists. * `2` - Everyone.

      • enable

        boolean — Whether to allow webinar participants to send chat messages.

    • webinar_group_hd

      boolean — Activate higher quality video for host and participants in Webinar. Please note: This will use more bandwidth.

    • webinar_live_streaming

      object

      • custom_service_instructions

        string — The specific instructions to allow your account's meeting hosts to configure a custom livestream.

      • enable

        boolean — Whether to enable webinar livestreaming.

      • live_streaming_reminder

        boolean — Whether to notify users to watch the livestream. This does not apply to custom RTMP (real-time messaging protocol).

      • live_streaming_service

        array — The available livestreaming services: * `facebook` * `workplace_by_facebook` * `youtube` * `custom_live_streaming_service`

        Items:

        string, possible values: "facebook", "workplace_by_facebook", "youtube", "custom_live_streaming_service"

    • webinar_polling

      object — Information about the account's webinar polling settings.

      • advanced_polls

        boolean — Whether to allow host to create advanced polls and quizzes. Advanced polls and quizzes include single choice, multiple choice, drop down, matching, short answer, long answer, rank order, and fill-in-the-blank questions. Hosts can also set the correct answers for quizzes they create.

      • allow_alternative_host_to_add_edit

        boolean — Whether to allow the alternative host to add or edit polls and quizzes.

      • allow_host_to_upload_image

        boolean — Whether to allow host to upload an image for each question.

      • enable

        boolean — Whether to allow the host to add polls before or during a webinar.

      • manage_saved_polls_and_quizzes

        boolean — Whether to allow users to manage saved polls and quizzes from Webinars

      • require_answers_to_be_anonymous

        boolean — Whether to require answers to be anonymous.

    • webinar_question_answer

      boolean — Whether attendees can ask the host and panelists questions in the webinar.

    • webinar_reactions

      boolean — Set this field to true to use [webinar reactions](https://support.zoom.us/hc/en-us/articles/4803536268429).

    • webinar_summary_with_ai_companion

      object — As a webinar host, you can generate a summary. Summaries are sent after the webinar ends based on the share options.

      • auto_enable

        boolean — Whether to automatically turn on webinar summary when webinars start.

      • enable

        boolean — Whether to allow webinar hosts to generate a summary.

      • who_will_receive_summary

        integer, possible values: 1, 2, 3 — Defines who will receive a summary after the webinar. * `1` - Only the webinar host. * `2` - Only the webinar host, co-hosts, and panelists in your organization. * `3` - The webinar host, co-hosts, and all panelists, including those outside your organization.

    • webinar_survey

      boolean — Whether to allow the host to present surveys to attendees once a webinar has ended.

    • whiteboard

      boolean — Allow participants to share a whiteboard that includes annotation tools.

    • who_can_share_screen

      string, possible values: "host", "all" — Indicates who can share their screen or content during meetings. The value can be one of the following: `host`: Only host can share the screen. `all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.

    • who_can_share_screen_when_someone_is_sharing

      string, possible values: "host", "all" — Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following: `host`: Only a host can share the screen when someone else is sharing. `all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.

    • workplace_by_facebook

      boolean — Whether to allow Workplace by Facebook livestreaming.

  • integration

    object — Account Integration Settings

    • box

      boolean — Whether to allow users who join a meeting from their mobile device to share content from their Box account.

    • dropbox

      boolean — Whether to allow users who join a meeting from their mobile device to share content from their Dropbox account.

    • google_calendar

      boolean — Whether to enable the scheduling of meetings using Google Calendar.

    • google_drive

      boolean — Whether to allow users who join a meeting from their mobile device to share content from their Google Drive.

    • kubi

      boolean — Whether to allow users to control a connected Kubi device from within a Zoom meeting.

    • microsoft_one_drive

      boolean — Whether to allow users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.

  • mail_calendar

    object — Email and calendar related settings.

    • email_calendar_management

      boolean — Allow the Zoom client to manage both emails and calendar events for the user.

    • email_management

      boolean — Allow the Zoom client to manage user emails.

    • zoom_email_provider

      boolean — Allow users to select Zoom as their email service provider.

  • other_options

    object

    • allow_auto_active_users

      boolean — If true, administrators can activate users with a single default passcode when adding users. This activates added users immediately without waiting for them to set their own passcode.

    • allow_users_contact_support_via_chat

      boolean — If true, displays the Zoom Help badge on the bottom-right of the page.

    • allow_users_enter_and_share_pronouns

      boolean — If true, users can add pronouns to their profile cards and share them during meetings and webinars.

    • blur_snapshot

      boolean — If true, iOS blurs the screenshot in the task switcher when multiple apps are open. Android hides the screenshot in the system-level list of recent apps.

    • display_meetings_scheduled_for_others

      boolean — If true, a user with [scheduling privileges](https://support.zoom.us/hc/en-us/articles/201362803-Scheduling-privilege) can view other users' meetings.

    • email_in_attendee_report_for_meeting

      boolean — If true, include authenticated guests' email addresses in attendee reports for meetings.

    • meeting_qos_and_mos

      integer, possible values: 0, 1, 2, 3 — The dashboard meeting [quality scores and network alerts](https://support.zoom.us/hc/en-us/articles/360061244651) setting. * `0` 0 Do not enable meeting quality scores and network alerts on the dashboard. * `1` - Display the meeting quality score and network alerts on the dashboard. * `2` - Use custom thresholds for quality scores and network alerts. * `3` - Display the meeting quality score and network alerts on the dashboard and use custom thresholds for quality scores and network alerts.

    • show_one_user_meeting_on_dashboard

      boolean — If true, meetings with only one person will display on the dashboard and in reports.

    • use_cdn

      string, possible values: "none", "default", "wangsu" — Allow connections to different CDNs (content delivery networks) for a better web browsing experience. All users in your organization will use the selected CDN to access static resources. * `none` - Do not use a CDN. * `default` - Use the Amazon CloudFront CDN for users **except** Chinese Mainland users. Chinese Mainland users will use the Wangsu CDN (China). * `wangsu` - Use the Wangsu CDN for all users.

    • webinar_registration_options

      object — Webinar registration options.

      • allow_host_to_enable_join_info

        boolean — Allow host to enable **Show join info on registration confirmation page**.

      • allow_host_to_enable_social_share_buttons

        boolean — Allow host to enable **Show social share buttons on registration page**.

      • enable_custom_questions

        boolean — Enable custom questions.

  • profile

    object

  • recording

    object — Account Settings: Recording.

    • account_user_access_recording

      boolean — Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.

    • allow_add_cloud_recordings_to_zoom_clips

      boolean — Allow users to add cloud recordings to Zoom Clips

    • allow_cmr_3rd_party_bot

      boolean — Allow 3rd-party recording

    • allow_invitees_access_recordings_without_passcode

      boolean — Allow invitees to access recordings without the passcode

    • allow_recovery_deleted_cloud_recordings

      boolean — Allow recovery of deleted cloud recordings from trash. If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.

    • allow_revenue_accelerator_manage_recording_separate_auto_delete

      boolean — Allow Zoom Revenue Accelerator to manage recording files with separate auto-delete settings

    • allow_share

      boolean — Allow cloud recording sharing

    • archive

      object — [Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team.

      • enable

        boolean — Enable the archiving feature.

      • settings

        object

        • action_when_archive_failed

          integer, possible values: 1, 2 — Perform the action when meetings or webinars cannot be archived. `1` - Participants can stay in the meeting and will receive a notification. `2` - Nobody can join or stay in the meeting.

        • archive_retention

          integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 — The retention period for archiving content, in days.

        • audio_file

          boolean — Include in-meeting and/or in-webinar audio in the archive.

        • cc_transcript_file

          boolean — Include closed caption or transcript in the archive.

        • chat_file

          boolean — Include in-meeting chat in the archive.

        • chat_with_direct_message

          boolean — Include direct message in in-meeting chat file.

        • chat_with_sender_email

          boolean — Include user email in in-meeting chat file.

        • notification_when_archiving_starts

          string, possible values: "participants", "guest" — Show notification when video or audio archiving starts. `1` - Participants can stay in the meeting and will receive a notification. `2` - Nobody can join or stay in the meeting.

        • play_voice_prompt_when_archiving_starts

          string, possible values: "participants", "guest", "none" — Play voice prompt when video or audio archiving starts. `1` - Participants can stay in the meeting and will receive a notification. `2` - Nobody can join or stay in the meeting.

        • video_file

          boolean — Include in-meeting and/or in-webinar video in the archive.

      • type

        integer, possible values: 1, 2, 3 — Archive types. * `1` - Only meetings are archived. * `2` - Only webinars are archived. * `3` - Both meetings and webinars are archived.

    • authenticated_view_cloud_recoding

      object — Require users to authenticate before viewing cloud recordings

      • authenticated_can_view_cloud_recordings

        boolean — Main setting value

      • default_authenticate_content

        string, possible values: "Signed-in users in my account", "Sign in to Zoom", "Sign in to Zoom with specified domains", "Sign in to external Single Sign-On (SSO)", "Only people with access" — Default authentication option

    • auto_delete_cmr

      boolean — Allow Zoom to permanently delete recordings automatically after a specified number of days.

    • auto_delete_cmr_days

      integer, possible values: 30, 60, 90, 120 — When the `auto_delete_cmr` value is `true`, this value is the number of days before the auto-deletion of cloud recordings. * `30` - 30 days. * `60` - 60 days. * `90` - 90 days. * `120` - 120 days.

    • auto_recording

      string, possible values: "local", "cloud", "none" — Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.

    • cloud_recording

      boolean — Allow hosts to record and save the meeting in the cloud.

    • cloud_recording_download

      boolean — Cloud recording downloads.

    • cloud_recording_download_host

      boolean — Only the host can download cloud recordings.

    • cloud_recording_permanently_deleted

      object — When the cloud recording is going to be permanently deleted from trash

      • cloud_recording_permanently_deleted_from_trash

        boolean — Main setting value

      • email_reminder_type

        string, possible values: "7 days before deletion", "Weekly digest on Monday" — Selected email reminder

    • display_participant_name

      boolean — Whether to display participants' names in the recording.

    • durable_meeting_transcript

      object — Allow users to retain, access,and manage transcripts generated by AI Companion features for use by other AI Companion services.

      • allow_host_access_meeting_transcript

        boolean — Allow hosts to access and manage transcripts

      • durable_meeting_transcript

        boolean — Main setting value

    • embed_passcode_in_shareable_link

      boolean — Embed passcode in the shareable link for one-click access

    • host_delete_cloud_recording

      boolean — If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.

    • ip_address_access_control

      object — Setting to allow cloud recording access only from specific IP address ranges.

      • enable

        boolean — If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.

      • ip_addresses_or_ranges

        string — IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number. Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`

    • local_recording

      boolean — Allow hosts and participants to record the meeting using a local file.

    • local_recording_options

      object — all sub-options for local recording

      • external_auto_approve_requests

        boolean — Auto approve their permission requests

      • external_meeting_participants

        boolean — External meeting participants

      • internal_auto_approve_requests

        boolean — Auto approve their permission requests

      • internal_meeting_participants

        boolean — Internal meeting participants

      • participants_specified_domains_auto_approve_requests

        boolean — Auto approve their permission requests

      • participants_with_specified_domains

        boolean — Meeting participants with specified domains

      • participants_with_specified_domains_content

        string — Enter the domain information

      • save_chat_messages

        boolean — Save chat messages from the meeting / webinar

      • save_closed_caption

        boolean — Save closed caption as a VTT file

    • notification_subscription_url_when_recording_available

      boolean — Push notification to subscription URL when a cloud recording is available

    • optimize_recording_for_3rd_party_video_editor

      boolean — Whether to optimize recordings for a 3rd party video editor. This may increase the file size and the time it takes to generate recording files.

    • prevent_host_access_recording

      boolean — If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.

    • record_audio_file

      boolean — Whether to record one audio file for all participants.

    • record_audio_file_each_participant

      boolean — Whether to record a separate audio file for each participant. This only supports a maximum of 200 participants' audio files.

    • record_files_separately

      object — The account's [**Record active speaker, gallery view and shared screen separately**](https://support.zoom.us/hc/en-us/articles/360060316092-Changing-basic-and-advanced-cloud-recording-settings#h_01F4CYJTCTXNS2MXH00W9EFG6R) settings.

      • active_speaker

        boolean — Whether to record the active speaker only.

      • gallery_view

        boolean — Whether to record the gallery view only.

      • shared_screen

        boolean — Whether to record the shared screen only.

    • record_gallery_view

      boolean — Record the gallery view with a shared screen.

    • record_speaker_view

      boolean — Record the active speaker with a shared screen.

    • recording_as_on_demand

      boolean — Set recording as on-demand by default

    • recording_audio_transcript

      boolean — Automatically transcribe the audio of the meeting or webinar to the cloud.

    • recording_disclaimer

      boolean — Show a disclaimer to participants before a recording starts This field has been deprecated. The replacement field is recording_notification_for_zoom_client

    • recording_highlight

      boolean — Whether to enable the [recording highlights](https://support.zoom.us/hc/en-us/articles/360060802432) feature.

    • recording_notification_for_zoom_client

      object — setting name: Recording notifications - Zoom clients

      • ask_host_to_confirm

        boolean — Child setting name is [Ask host to confirm before starting a recording], the value is option name you selected

      • disclaimer_to_participants

        string — Child setting name is [Show a disclaimer to participants when a recording starts], the value is option name you selected.

      • play_voice_prompt

        string — Child setting name is [Play voice prompt for], the value is option name you selected.

    • recording_notifications_phone_users

      object — Recording notifications - Phone users

      • multiple_notifications_phone_users

        boolean — Multiple notifications for phone users

      • require_press_one_consent_to_record

        boolean — Require phone-only users to press 1 to consent to being recorded

    • recording_password_requirement

      object — This object represents the minimum passcode requirements set for recordings via Account Recording Settings.

      • have_letter

        boolean — Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).

      • have_number

        boolean — Indicates whether or not passcode must contain at least one number(1, 2, 3..).

      • have_special_character

        boolean — Indicates whether or not passcode must contain at least one special character(!, @, #..).

      • length

        integer — Minimum required length for the passcode.

      • only_allow_numeric

        boolean — Indicates whether or not passcode must contain only numeric characters.

    • recording_storage_email_notifications

      boolean — Recording storage email notifications

    • recording_thumbnails

      boolean — Whether to record thumbnails of the presenter when they are sharing their screen.

    • required_password_for_existing_cloud_recordings

      boolean — Require a passcode to access existing cloud recordings.

    • required_password_for_shared_cloud_recordings

      boolean — Whether to require a passcode to share cloud recordings.

    • save_chat_text

      boolean — Save the chat text from the meeting.

    • save_close_caption

      boolean — Whether to save [closed captions](https://support.zoom.us/hc/en-us/articles/207279736) as a VTT (Video Track Text) file.

    • save_panelist_chat

      boolean — Whether to save panelist chat to the recording. This setting saves messages sent by panelists during a webinar to either all panelists or all panelists and attendees to the recording.

    • save_poll_results

      boolean — Whether to save poll results shared during the meeting or webinar. This also includes poll results shared during the meeting or webinar.

    • show_timestamp

      boolean — Add a timestamp to the recording.

    • smart_recording

      object — By selecting this option, your recording will have meeting smart chapters, and next steps. You are directing Zoom to access, process, and use your account's recording data for the purpose of analysis and insights.

      • create_next_steps

        boolean — By selecting this option, there will be a summary of actions to take after the recorded meeting.

      • create_recording_highlights

        boolean — By selecting this option, meeting details in the audio transcript will be highlighted. Hosts can modify highlighted sections and generate a video summary (highlighted sections may have a 3-second offset) based on these sections. The summary is for informational purposes only and may not be complete.

      • create_smart_chapters

        boolean — By selecting this option, your recording will have chapters with overview. Hosts can edit the chapters.

    • upload_custom_caption

      boolean — Allow host to upload custom caption

    • upload_recording

      boolean — Upload recording to the cloud

    • viewer_see_chat

      boolean — Viewers see chat

    • viewer_see_transcript

      boolean — Viewers can see the transcript

    • water_marker_recording

      boolean — add water marker for recording

  • schedule_meeting

    object — Account Settings: Schedule Meeting.

    • allow_host_to_disable_participant_video

      boolean — Allow host to disable participant video when scheduling a meeting.

    • always_display_zoom_meeting_as_topic

      object — Information about the [**Always display `Zoom Meeting` as the meeting topic**](https://support.zoom.us/hc/en-us/articles/201363253-Changing-account-settings#h_01EG9BJ646V2WJK1S3H2MP6YV6) setting.

      • display_topic_for_scheduled_meetings

        boolean — Whether to display **Zoom Meeting** as the topic for already-scheduled meetings.

      • enable

        boolean — Whether to enable the **Always display `Zoom Meeting` as the meeting topic** setting.

    • always_display_zoom_webinar_as_topic

      object — Information about the [**Always show `Zoom Webinar` as the webinar topic**](https://support.zoom.us/hc/en-us/articles/201363253-Changing-account-settings#h_01EG9BJ646V2WJK1S3H2MP6YV6) setting.

      • display_topic_for_scheduled_webinars

        boolean — Whether to display **Zoom Webinar** as the topic for already-scheduled meetings.

      • enable

        boolean — Whether to enable the **Always show `Zoom Webinar` as the webinar topic** setting.

    • audio_type

      string, possible values: "both", "telephony", "voip", "thirdParty", default: "both" — Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.

    • continuous_meeting_chat

      object — Information about the **Enable continuous meeting chat** feature.

      • auto_add_invited_external_users

        boolean — Whether to enable the **Automatically add invited external users** setting.

      • can_add_external_users

        boolean — Whether to enable the **External users can be added** setting.

      • enable

        boolean — Whether to enable the **Enable continuous meeting chat** setting.

    • enable_dedicated_group_chat

      boolean — Enable dedicated group chats for meeting conversations.

    • enforce_login

      boolean — Only Zoom users who are signed in can join meetings.

    • enforce_login_domains

      string — Only signed in users with a specified domain can join the meeting.

    • enforce_login_with_domains

      boolean — Only signed in users with a specific domain can join meetings.

    • force_pmi_jbh_password

      boolean — Require a passcode for Personal Meetings if attendees can join before host.

    • hide_meeting_description

      object — Information about the **Hide meeting description** feature.

      • enable

        boolean — Whether to enable the **Hide meeting description** setting.

      • hide_description_for_scheduled_meetings

        boolean — Whether to hide the description for already-scheduled meetings.

    • hide_webinar_description

      object — Information about the **Hide webinar description** feature.

      • enable

        boolean — Whether to enable the **Hide webinar description** setting.

      • hide_description_for_scheduled_webinars

        boolean — Whether to hide webinar description for the webinars which have already been scheduled.

    • host_video

      boolean — Start meetings with the host video on.

    • jbh_time

      integer, possible values: 0, 5, 10, 15 — If the value of `join_before_host` field is set to `true`, this field can be used to indicate time limits when a participant may join a meeting before a host. * `0`: Allow participant to join anytime. * `5`: Allow participant to join 5 minutes before meeting start time. * `10`: Allow participant to join 10 minutes before meeting start time.

    • join_before_host

      boolean — Allow participants to join the meeting before the host arrives.

    • meeting_password_requirement

      object — Account wide meeting or webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).

      • consecutive_characters_length

        integer, possible values: 0, 4, 5, 6, 7, 8 — Specify the max length of consecutive characters(abcde...) that can be used in a passcode. If you set the value of this field to `0`, no restriction will be applied on consecutive characters. If you would like to set this restriction, you can specify a number between `4` and `8` that will define the maximum allowed length for consecutive characters in a passcode. The maximum allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a passcode(example: abc1x@8fdh).

      • have_letter

        boolean — If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).

      • have_number

        boolean — If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).

      • have_special_character

        boolean — If set to `true`, the passcode must have at least 1 special character (!,@,#...).

      • have_upper_and_lower_characters

        boolean — If set to `true`, the passcode must include both uppercase and lowercase characters.

      • length

        integer — The minimum length that the meeting or webinar passcode must have.

      • only_allow_numeric

        boolean — If set to `true`, the passcode must only contain numbers and no other characters.

      • weak_enhance_detection

        boolean — If set to `true`, users will be informed if the provided passcode is weak.

    • meeting_template

      object — Information about the **Meeting Templates** feature.

      • enable

        boolean — Whether to enable the **Meeting Templates** setting.

      • templates

        array — Information about the defined **Meeting Templates** policies.

        Items:

        • enable

          boolean — Whether to enable the meeting template. * `true` - Enable. * `false` - Disable.

        • id

          string — The meeting template ID.

        • name

          string — The meeting template name.

    • not_store_meeting_topic

      boolean — Always display **Zoom Meeting** as the meeting topic.

    • participant_video

      boolean — Start meetings with the participant video on. Participants can change this setting during the meeting.

    • personal_meeting

      boolean — Personal meeting setting. `true` - Indicates that the **Enable Personal Meeting ID** setting is turned on. Users can choose to use personal meeting ID for their meetings. `false` - Indicates that the **Enable Personal Meeting ID** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with a PMI will be invalid. Scheduled meetings will need to be manually updated. For Zoom Phone only - If a user has been assigned a desk phone, **Elevate to Zoom Meeting** on desk phone will be disabled.

    • require_password_for_instant_meetings

      boolean — Require a passcode for instant meetings. If you use a PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.

    • require_password_for_pmi_meetings

      string, possible values: "jbh_only", "all", "none" — Require a passcode for a meeting held using a personal meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.

    • require_password_for_scheduled_meetings

      boolean — Require a passcode for meetings which have already been scheduled.

    • require_password_for_scheduling_new_meetings

      boolean — Require a passcode when scheduling new meetings. This setting applies for regular meetings that do not use a PMI. If enabled, a passcode will be generated while a host schedules a new meeting and participants will be required to enter the passcode before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.

    • use_pmi_for_instant_meetings

      boolean — Use a Personal Meeting ID (PMI) when starting an instant meeting.

    • use_pmi_for_scheduled_meetings

      boolean — Use a Personal Meeting ID (PMI) when scheduling a meeting.

  • security

    object — [Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account.

    • admin_change_name_pic

      boolean — Whether to only allow account administrators to change a user's picture.

    • admin_change_user_info

      boolean — Whether to only allow account administrators to change a user's information.

    • automatic_sign_out

      object — Automatically sign users out after a specified period.

      • email_or_phone

        object — Automatic sign-out settings for email or phone number login.

        • desktop_client

          integer, possible values: -1, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000 — Automatic sign-out duration in seconds. `-1` disables automatic sign-out for this platform.

        • mobile_client

          integer, possible values: -1, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000 — Automatic sign-out duration in seconds. `-1` disables automatic sign-out for this platform.

        • web_browser

          integer, possible values: -1, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000 — Automatic sign-out duration in seconds. `-1` disables automatic sign-out for this platform.

        • zoom_scheduling_integration

          integer, possible values: -1, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000 — Automatic sign-out duration in seconds. `-1` disables automatic sign-out for this platform.

      • enable_separated_sign_out_settings

        boolean — Whether each login method can use different sign-out durations for different platforms.

      • social_oauth

        object — Automatic sign-out settings for social OAuth login. Only `web_browser` is supported. Other platform values are always `-1`.

        • desktop_client

          integer, possible values: -1

        • mobile_client

          integer, possible values: -1

        • web_browser

          integer, possible values: -1, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000

        • zoom_scheduling_integration

          integer, possible values: -1

      • sso

        object — Automatic sign-out settings for SSO login. SSO additionally supports 900 and 1800 seconds.

        • desktop_client

          integer, possible values: -1, 900, 1800, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000

        • mobile_client

          integer, possible values: -1, 900, 1800, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000

        • web_browser

          integer, possible values: -1, 900, 1800, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000

        • zoom_scheduling_integration

          integer, possible values: -1, 900, 1800, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000

    • block_screenshots

      boolean — Whether screenshots are blocked.

    • enforce_logout_bypass_management

      object — Settings that allow selected applications to bypass enforced logout.

      • allow_zpa_stay_signed_in

        boolean — Whether Zoom Phone Appliance devices can stay signed in.

      • allow_zr_stay_signed_in

        boolean — Whether Zoom Rooms can stay signed in.

    • hide_billing_info

      boolean — Hide billing information.

    • hide_push_notification_content

      boolean — Whether push notification content is hidden.

    • import_photos_from_devices

      boolean — Allow users to import photos from a photo library on a device.

    • multiple_resource_login

      object — Multiple resource login settings.

      • enable_multiple_resource_login

        boolean — Whether multiple resource login is enabled.

      • multiple_resource_login_limit

        integer — The maximum number of concurrent resource logins.

    • only_mdm_managed_devices_can_sign_in

      object — Restricts Zoom client sign-in to MDM-managed mobile and/or PC devices, including the required management tag.

      • enable

        boolean — Whether to enable the MDM-managed device sign-in restriction.

      • only_mdm_managed_devices_can_sign_in_tag

        string — The MDM management tag required when the parent restriction is enabled. Maximum 4,000 characters.

      • only_mdm_managed_mobile_can_sign_in

        boolean — Whether to restrict MDM tag checks to mobile Zoom clients when the parent restriction is enabled.

      • only_mdm_managed_pc_can_sign_in

        boolean — Whether to restrict MDM tag checks to Windows, Mac, and Linux Zoom clients when the parent restriction is enabled.

    • only_mdm_mobile_can_sign_in

      object — Deprecated. Parent on/off and MDM tag only; does not encode Mobile vs PC. Use `only_mdm_managed_devices_can_sign_in` instead.

      • enable_only_mdm_mobile_sign_in

        boolean — Whether the MDM-managed device sign-in parent restriction is enabled. Does not encode Mobile vs PC.

      • only_mdm_mobile_can_sign_in_tag

        string — The MDM management tag required when the parent restriction is enabled.

    • only_zoom_for_intune_app_can_sign_in

      boolean — Whether users can sign in only through the Zoom for Intune application.

    • otp_auth

      boolean — Whether OTP authentication is enabled.

    • password_requirement

      object — This object refers to the [enhanced passcode rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requirements to the users' Zoom login passcode.

      • change_rule

        integer, possible values: 0, 1, 2, 3, 4, 5, 6, 7, 8 — The maximum number of password changes allowed within 24 hours. A value of `0` removes this rule.

      • consecutive_characters_length

        integer — Specify the max length of consecutive characters(abcde...) that can be used in a passcode. If you set the value of this field to `0`, no restriction will be applied on consecutive characters. If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a passcode. The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a passcode(example: abc1x@8fdh).

      • expired_rule

        integer, possible values: 0, 30, 60, 90, 120 — The number of days after which a password expires automatically. A value of `0` removes this rule.

      • first_login_rule

        boolean — Whether new users must change their passwords upon first sign-in.

      • former_rule

        integer, possible values: 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 — The number of previous passwords that users cannot reuse. A value of `0` removes this rule.

      • have_special_character

        boolean — If the value of this field is set to `true`, the passcode must have at least one special character(!, @, #...).

      • minimum_password_length

        integer — Specify a minimum length for the passcode. The passcode length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic passcode length requirement (minimum of 8 characters) will be applied for the requirement.

      • weak_enhance_detection

        boolean — If the value of this field is set to `true`, user passcodes will have to pass detection through a weak passcode dictionary in case hackers use simple passcodes to sign in to your users' accounts.

    • require_biometric_auth

      boolean — Whether biometric authentication is required.

    • sign_again_period_for_inactivity_on_client

      integer — Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time. If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes, after which an inactive user will be automatically logged out of the Zoom client. `5` - 5 minutes. `10` - 10 minutes. `15` - 15 minutes. `30` - 30 minutes. `45` - 45 minutes. `60` - 60 . `90` - 90 minutes. `120` - 120 minutes.

    • sign_again_period_for_inactivity_on_web

      integer — Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time. If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes, after which an inactive user will be automatically logged out of the Zoom Web Portal. `5` - 5 minutes. `10` - 10 minutes. `15` - 15 minutes. `30` - 30 minutes. `60` - 60 minutes. `120` - 120 minutes.

    • sign_in_with_apple

      boolean — Whether users can sign in with Apple.

    • sign_in_with_fb

      boolean — Whether users can sign in with Facebook.

    • sign_in_with_google

      object — Google sign-in settings.

      • enable_sign_in_with_google

        boolean — Whether to allow users to sign in with Google.

      • force_google_login

        boolean — Whether to require users from configured domains to sign in with Google.

      • google_login_domains

        array — Approved account domains assigned to Google force redirect.

        Items:

        string

    • sign_in_with_microsoft

      boolean — Whether users can sign in with Microsoft.

    • sign_in_with_outlook

      object — Outlook sign-in settings.

      • custom_nested_app_id

        string — The custom nested application ID.

      • enable_custom_nested_app_auth

        boolean — Whether custom nested application authorization is enabled.

      • enable_sign_in_with_outlook

        boolean — Whether users can sign in with Outlook.

      • zm_official_nested_app_auth

        boolean — Whether official nested application authorization is enabled.

    • sign_in_with_passkey

      boolean — Whether users can sign in with a passkey.

    • sign_in_with_phone_number

      object — Phone number sign-in settings.

      • enable_sign_in_with_phone_number

        boolean — Whether users can sign in with a phone number.

      • sign_in_with_sms_code

        boolean — Whether users can sign in with an SMS verification code.

    • sign_in_with_two_factor_auth

      string, possible values: "all", "group", "role", "none" — Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). `all` - Two factor authentication will be enabled for all users in the account. `none` - Two factor authentication is disabled. `group` - Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field. `role` - Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the `sign_in_with_two_factor_auth_roles` field.

    • sign_in_with_two_factor_auth_groups

      array — This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`

      Items:

      string

    • sign_in_with_two_factor_auth_roles

      array — This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.

      Items:

      string

    • sign_in_with_work_email

      boolean — Whether users can sign in with a work email address.

    • signin_with_sso

      object — Allow users to sign in with single sign-on (SSO).

      • domains

        array — Users on these domains must sign in with single sign-on (SSO).

        Items:

        string

      • enable

        boolean — Whether to allow users to sign in with single sign-on (SSO). If enabling this, configure your account's SSO settings. This lets users sign in with SSO through your company's vanity URL.

      • require_sso_for_domains

        boolean — Whether to require users to sign in with single sign-on (SSO) if their e-mail address belongs to one of the `domains`.

      • sso_bypass_users

        array — The users can bypass SSO sign-in.

        Items:

        • email

          string — The user email.

        • id

          string — The user id.

    • support_clock_out

      boolean — Whether the clock-out security feature is enabled.

    • trusted_microsoft_tenant

      string — A JSON-encoded array of trusted Microsoft tenant IDs. Each tenant ID must be a UUID.

    • user_modifiable_info_by_admin

      array — If the `admin_change_user_info` value is `true`, the list of the types of user information that only the account administrators can modify. * `name` * `profile_picture` * `sign_in_email` * `host_key`

      Items:

      string, possible values: "name", "profile_picture", "sign_in_email", "host_key"

  • smart_recognition

    object — Account Settings: Smart Recognition.

    • personalized_audio_isolation

      boolean — Allow users to enable personalized audio isolation in the Zoom Workplace app to differentiate their voice and suppress background noise.

    • workplace_app

      object — Zoom Workplace app automatic smart name tags

      • voice_name_tags

        object — Workplace App: Voice Name Tags

        • allow_enrollment_email

          boolean — Allow Zoom to send an enrollment email to users in your account to help them set up Workplace app voice name tags.

        • enabled

          boolean — Allow users to enroll in automatic smart name tags for voice from their profile in the Zoom Workplace app.

    • zoom_rooms

      object — Zoom Rooms automatic smart name tags

      • video_name_tags

        object — Zoom Rooms: Video Name Tags

        • allow_enrollment_email

          boolean — Allow Zoom to send an enrollment email to users in your account to help them set up automatic smart name tags for video.

        • allow_external_identification

          boolean — Allow external Zoom Rooms to identify users in your account using their enrolled video name tags.

        • allow_user_photos

          boolean — Allow users to use their own profile photos as the reference image for video smart name tags.

        • enabled

          boolean — Allow users to enroll in automatic smart name tags for video in Zoom Rooms. When enabled, enrolled users’ reference images are used to recognize them in the Zoom Room.

      • voice_name_tags

        object — Zoom Rooms: Voice Name Tags

        • allow_enrollment_email

          boolean — Allow Zoom to send an enrollment email to users in your account to help them set up automatic smart name tags for voice.

        • allow_external_identification

          boolean — Allow external Zoom Rooms to identify users in your account using their enrolled voice name tags.

        • enabled

          boolean — Allow users to enroll in automatic smart name tags for voice in Zoom Rooms. When enabled, enrolled users’ uploaded voice recordings are used to recognize them as speakers.

  • telephony

    object — Account Settings: Telephony.

    • audio_conference_info

      string — Third party audio conference info.

    • telephony_regions

      object — Indicates where most of the participants call into or call from during a meeting.

      • allowed_values

        array — Telephony region options provided by Zoom to select from.

        Items:

        string

      • selection_values

        string — The account's selected telephony regions that indicate where most participants call into or call from during a meeting.

    • third_party_audio

      boolean — Users can join the meeting using the existing third party audio configuration.

  • tsp

    object — Account Settings: TSP.

    • allow_webinar_attendees_call_me

      boolean — Whether webinar attendees can use Call Me to connect audio. This feature is only available in version 5.2.2 and higher.

    • allow_webinar_attendees_toll_free_dial

      boolean — Whether webinar attendees can dial in through the account's **Toll-free** phone numbers. This feature is only available with version 5.2.2 or later.

    • call_out

      boolean — Call Out

    • call_out_countries

      array — Call Out Countries/Regions

      Items:

      string

    • display_toll_free_numbers

      boolean — Display toll-free numbers

    • global_dial_in_countries

      object — The account's **Global Dial-in Countries/Regions** settings.

      • allowed_countries

        array — The list of all available countries/regions that can be selected for displaying dial-in numbers in the meeting invitation.

        Items:

        • code

          string — The code of the country or region.

        • name

          string — The name of the country or region.

      • selected_countries

        array — The list of selected countries/regions whose dial-in numbers will be listed in the email invitation. You can adjust the order that the dial-in numbers appear in the email invitation.

        Items:

        • code

          string — The code of the country or region.

        • name

          string — The name of the country or region.

    • show_international_numbers_link

      boolean — Show international numbers link on the invitation email

  • zoom_rooms

    object — Account Settings: Zoom Rooms.

    • auto_start_stop_scheduled_meetings

      boolean — Automatic start and stop for scheduled meetings.

    • cmr_for_instant_meeting

      boolean — Cloud recording for instant meetings.

    • force_private_meeting

      boolean — Shift all meetings to private.

    • hide_host_information

      boolean — Hide host and meeting ID from private meetings.

    • list_meetings_with_calendar

      boolean — Display meeting list with calendar integration.

    • start_airplay_manually

      boolean — Start AirPlay service manually.

    • ultrasonic

      boolean — Automatic direct sharing using an ultrasonic proximity signal.

    • upcoming_meeting_alert

      boolean — Upcoming meeting alert.

    • weekly_system_restart

      boolean — Weekly system restart.

    • zr_post_meeting_feedback

      boolean — Zoom Room post meeting feedback.

One of:

  • allow_authentication_exception

    boolean — Whether to enable the [**Allow authentication exception**](https://support.zoom.us/hc/en-us/articles/360037117472#h_01F13A9N1FQFNVESC9C21NRHXY) setting. This lets hosts invite users who can bypass authentication.

  • authentication_options

    array — The account's [**Meeting Authentication Options**](https://support.zoom.us/hc/en-us/articles/360060549492-Allowing-only-authenticated-users-in-meetings#h_01F51KGPWJNQBDMFSJ3ZJQ4AA2) settings.

    Items:

    • default_option

      boolean — Whether the authentication option is the default authentication option.

    • domains

      string — A comma-separated list of approved authentication domains.

    • id

      string — The authentication option's ID.

    • name

      string — The authentication option's name.

    • type

      string, possible values: "enforce_login", "enforce_login_with_same_account", "enforce_login_with_domains" — The authentication type. * `enforce_login` - Only users logged in to Zoom can join meetings. * `enforce_login_with_domains` - Only users from specific domains can join meetings. The list of domains is defined in the `domains` field. * `enforce_login_with_same_account` - Only the Zoom account's users can join meetings.

    • visible

      boolean — Whether the authentication option is visible.

  • meeting_authentication

    boolean — Whether to only allow authenticated users to join meetings.

  • authentication_options

    array

    Items:

    • default_option

      boolean — Authentication default option

    • domains

      string — Authentication domains.

    • id

      string — Authentication id

    • name

      string — Authentication name

    • type

      string, possible values: "internally", "enforce_login", "enforce_login_with_domains" — Authentication type

    • visible

      boolean — Authentication visible

  • recording_authentication

    boolean — Only authenticated users can view cloud recordings

  • meeting_security

    object

    • auto_security

      boolean — Whether all meetings must be secured with at least one security option. This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts.

    • block_user_domain

      boolean — Whether users in specific domains are blocked from joining meetings and webinars.

    • block_user_domain_list

      array — The blocked domains.

      Items:

      string

    • chat_etiquette_tool

      object — Information about the **Chat Etiquette Tool**.

      • enable

        boolean — Whether to enable the **Chat Etiquette Tool**.

      • policies

        array — Information about the defined **Chat Etiquette Tool** policies.

        Items:

        • description

          string — The policy's description.

        • id

          string — The policy ID.

        • is_locked

          boolean — Whether the policy is locked by an account-level user. When it is locked, users cannot update the policy.

        • keywords

          array — A list of defined rule keywords.

          Items:

          string

        • name

          string — The policy name.

        • regular_expression

          string — The regular expression to match to the content of chat messages.

        • status

          string, possible values: "activated", "deactivated" — The policy's current status. * `activated` - Activated. * `deactivated` - Deactivated.

        • trigger_action

          integer, possible values: 1, 2 — The policy's trigger action. * `1` - Ask the user to confirm before they send the message. * `2` - Block the user's message.

      • policy_max_count

        integer — The read-only maximum number of **Chat Etiquette Tool** policies.

    • embed_password_in_join_link

      boolean — Whether the meeting passcode is encrypted and included in the invitation link. The provided link will allow participants to join the meeting without having to enter the passcode.

    • encryption_type

      string, possible values: "enhanced_encryption", "e2ee" — The type of encryption used when starting a meeting. * `enhanced_encryption` - Enhanced encryption. Encryption data is stored in the cloud. * `e2ee` - End-to-end encryption. The encryption key is stored on the local device and cannot be obtained by anyone else. Enabling E2EE also [**disables** certain features](https://support.zoom.us/hc/en-us/articles/360048660871), such as cloud recording, live streaming, and allowing participants to join before the host.

    • end_to_end_encrypted_meetings

      boolean — Whether to enable end-to-end encryption for meetings.

    • meeting_password

      boolean — Whether all instant and scheduled meetings that users can join via client or Zoom Rooms systems are passcode-protected. [Personal meeting ID (PMI)](https://support.zoom.us/hc/en-us/articles/203276937) meetings are **not** included in this setting.

    • meeting_password_requirement

      object — Information about the meeting and webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).

      • consecutive_characters_length

        integer, possible values: 0, 4, 5, 6, 7, 8 — The maximum length of consecutive characters (for example, `abcdef`) allowed in a passcode. * `4` through `8` - The maximum consecutive characters length. The length is `n` minus `1`, where `n` is the value. For example, if the value is `4`, there can only be a maximum of `3` consecutive characters in a passcode, such as `abc1x@8fdh`. * `0` - No consecutive character restriction.

      • have_letter

        boolean — Whether passcodes must contain at least one letter character.

      • have_number

        boolean — Whether passcodes must contain at least one numeric character.

      • have_special_character

        boolean — Whether passcodes must contain at least one special character. For example, `!`, `@`, and/or `#` characters.

      • have_upper_and_lower_characters

        boolean — Whether passcodes must include uppercase and lowercase characters.

      • length

        integer — The minimum passcode length.

      • only_allow_numeric

        boolean — Whether passcodes must contain **only** numeric characters.

      • weak_enhance_detection

        boolean — Whether users are informed when the provided passcode is weak.

    • only_authenticated_can_join_from_webclient

      boolean — Whether to specify that only authenticated users can join the meeting from the web client.

    • phone_password

      boolean — Whether passcodes are required for participants joining by phone. If enabled and the meeting is passcode-protected, a numeric passcode is required for participants to join by phone. For meetings with alphanumeric passcodes, a numeric passcode will be generated.

    • pmi_password

      boolean — Whether all Personal Meeting ID (PMI) meetings that users can join via client or Zoom Rooms systems are passcode-protected.

    • require_password_for_scheduled_meeting

      boolean — Whether passcodes are required for meetings that have already been scheduled.

    • require_password_for_scheduled_webinar

      boolean — Whether passcodes are required for webinars that have already been scheduled.

    • waiting_room

      boolean — Whether participants are placed in the [**Waiting Room**](https://support.zoom.us/hc/en-us/articles/115000332726-Waiting-Room) when they join a meeting. When the **Waiting Room** feature is enabled, the [**Allow participants to join before host**](https://support.zoom.us/hc/en-us/articles/202828525-Allow-participants-to-join-before-host) setting is disabled.

    • waiting_room_options

      object — Define how participants are admitted into a meeting, including if they can join before the host. Customize the waiting room design.

      • admit_domain_allowlist

        string — If the `admit_type` field is `4`, a comma-separated list of the domains that can bypass the waiting room (`example.com,example2.com`).

      • admit_type

        integer, possible values: 1, 2, 3, 4 — The type of admission for participants from the waiting room. * `1` - Everyone is automatically admitted. * `2` - Participants are manually admitted. * `3` - External users are manually admitted. Internal users are automatically admitted10 minutes before start time. * `4` - External users and users without approved domains are manually admitted. Internal users are automatically admitted.

      • enable

        boolean — Whether to enable the waiting room.

      • internal_user_auto_admit

        integer, possible values: 1, 2, 3, 4, 5 — If the `admit_type` in (`1`,`3`,`4`), the time when the internal user can join a meeting before the host. * `1` - when the host joins. * `2` - anytime. * `3` - 5 minutes before start time. * `4` - 10 minutes before start time. * `5` - 15 minutes before start time. If the `admit_type` equal `1`, this field value can not be `2`.

      • locked

        boolean — Whether to enable the option to lock after selecting `How are participants admitted from the waiting room`.

      • more_options

        object — More Options.

        • allow_participants_to_reply_to_host

          boolean — Allow participants in the waiting room to reply to host and co-hosts. This feature is only available with version 5.8.0 or later.

        • move_participants_to_waiting_room_when_host_dropped

          boolean — Move participants to the waiting room if the host dropped unexpectedly. By enabling this option, the waiting room setting will be enabled and locked, and participants will not be allowed to join before the host.

        • user_invited_by_host_can_bypass_waiting_room

          boolean — Users invited during the meeting by the host or co-hosts will bypass the waiting room. This feature is only available with version 5.4.0 or later.

      • sort_order_of_people

        integer, possible values: 0, 1 — The type of sort order of people in the waiting room in the participants panel. * `0` - Join order. * `1` - Alphabetical. This feature is only available with version 5.10.3 or later.

      • who_can_admit_participants

        integer, possible values: 0, 1 — The type of who can admit participants from the waiting room. * `0` - Host and co-hosts only. * `1` - Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).

    • waiting_room_settings

      object — Information about the Waiting Room settings.

      • participants_to_place_in_waiting_room

        integer, possible values: 0, 1, 2 — The type of participants to be admitted to the waiting room. * `0` - All attendees. * `1` - Users who are not in your account. * `2` - Users who are not in your account and are not part of your [allowed domains list](https://support.zoom.us/hc/en-us/articles/360037117472-Configuring-authentication-profiles#h_e3cf0d5f-eec7-4c2a-ad29-ef2a5079a7da).

      • users_who_can_admit_participants_from_waiting_room

        integer, possible values: 0, 1 — The users who can admit participants from the waiting room. * `0` - Host and co-hosts only. * `1` - Host, co-hosts, and anyone who bypassed the waiting room if the host and co-hosts are not present.

      • whitelisted_domains_for_waiting_room

        string — If the `participants_to_place_in_waiting_room` field is `2`, a comma-separated list of the domains that can bypass the waiting room (`example.com,example2.com`).

    • webinar_password

      boolean — Whether to generate a passcode when scheduling webinars. Participants must use the generated passcode to join the scheduled webinar.

  • in_meeting

    object

  • in_session

    object

    • custom_data_center_regions

      boolean — Whether custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-meetings-webinars) are in use. * `true` - Users can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting real-time meeting traffic. The data center regions can be provided in the `data_center_regions` field. * `false` - Only the default data center regions.

    • data_center_regions

      array — If the value of `custom_data_center_regions` is `true`, a comma-separated list of the selected custom [data center regions](https://support.zoom.us/hc/en-us/articles/360059254691-Datacenter-abbreviation-list). * `AU` - Australia. * `LA` - Latin America. * `CA` - Canada. * `CN` - China. * `DE` - Germany. * `HK` - Hong Kong SAR. * `IN` - India. * `IE` - Ireland. * `TY` - Japan. * `MX` - Mexico. * `NL` - Netherlands. * `SG` - Singapore. * `US` - United States.

      Items:

      string, possible values: "AU", "LA", "CA", "CN", "DE", "HK", "IN", "IE", "TY", "MX", "NL", "SG", "US"

    • dscp_audio

      integer, default: 56 — The DSCP audio marking value. This value defaults to `56`.

    • dscp_dual

      boolean — Whether to use the differentiated services code point classifiers ('dscp_video', 'dscp_audio') in the dual way (incoming and outgoing).

    • dscp_marking

      boolean — Whether to enable [differentiated services code point (DSCP)](https://en.wikipedia.org/wiki/Differentiated_services) marking.

    • dscp_video

      integer, default: 40 — The DSCP video marking value. This value defaults to `40`.

    • p2p_connetion

      boolean — Whether to enable the [**Peer to Peer connection while only 2 people are in a meeting**](https://support.zoom.us/hc/en-us/articles/360061410851-Enabling-Peer-to-Peer-connection-for-2-people-in-a-meeting) setting.

    • p2p_ports

      boolean — Whether to enable the **Listening ports range** setting.

    • ports_range

      string, default: "" — When the `p2p_ports` value is `true`, the value is a semi-colon list of the peer to peer listening ports range, between `1` to `65535`. This value defaults to an empty string.

    • subsession

      boolean — Allow host to split meeting participants into separate, smaller rooms.

    • unchecked_data_center_regions

      array — If the value of `custom_data_center_regions` is `true`, a comma-separated list the [data center regions](https://support.zoom.us/hc/en-us/articles/360059254691-Datacenter-abbreviation-list) that are **not** selected. * `EU` - Europe. * `HK` - Hong Kong. * `AU` - Australia. * `IN` - India. * `LA` - Latin America. * `TY` - Tokyo. * `CN` - China. * `US` - United States. * `CA` - Canada.

      Items:

      string, possible values: "EU", "HK", "AU", "IN", "TY", "CN", "US", "CA", "DE", "NL", "LA"

  • recording

    object

  • session_security

    object

    • approved_or_denied_countries_or_regions

      object — Approve or block users from specific regions or countries from joining this meeting.

      • approved_list

        array — List of countries/regions from where participants can join this meeting.

        Items:

        string

      • denied_list

        array — List of countries/regions from where participants can not join this meeting.

        Items:

        string

      • enable

        boolean — `true`: Setting enabled to either allow or block users from specific regions from joining your meetings. `false`: Setting disabled.

      • method

        string, possible values: "approve", "deny" — Specify whether to allow users from specific regions to join this meeting, or block users from specific regions from joining this meeting. `approve`: Allow users from specific regions or countries to join this meeting. If this setting is selected, the approved regions or countries must be included in the `approved_list`. `deny`: Block users from specific regions or countries from joining this meeting. If this setting is selected, the approved regions or countries must be included in the `denied_list`

Example:

{
  "security": {
    "admin_change_user_info": true,
    "user_modifiable_info_by_admin": [
      "[\"name\",\"host_key\",\"sign_in_email\"]"
    ],
    "signin_with_sso": {
      "enable": true,
      "require_sso_for_domains": true,
      "domains": [
        "test.com",
        "example.us"
      ],
      "sso_bypass_users": [
        {
          "id": "21212_aefwef32233",
          "email": "123@test.com"
        }
      ]
    },
    "hide_billing_info": true,
    "import_photos_from_devices": true,
    "password_requirement": {
      "consecutive_characters_length": 8,
      "have_special_character": true,
      "minimum_password_length": 8,
      "weak_enhance_detection": false,
      "first_login_rule": true,
      "former_rule": 5,
      "change_rule": 3,
      "expired_rule": 90
    },
    "sign_again_period_for_inactivity_on_client": 5,
    "sign_again_period_for_inactivity_on_web": 10,
    "sign_in_with_two_factor_auth": "none",
    "sign_in_with_two_factor_auth_groups": [
      "group"
    ],
    "sign_in_with_two_factor_auth_roles": [
      "role"
    ],
    "sign_in_with_google": {
      "enable_sign_in_with_google": true,
      "force_google_login": true,
      "google_login_domains": [
        "example.com"
      ]
    },
    "otp_auth": true,
    "enforce_logout_bypass_management": {
      "allow_zr_stay_signed_in": true,
      "allow_zpa_stay_signed_in": false
    },
    "hide_push_notification_content": true,
    "support_clock_out": true,
    "require_biometric_auth": true,
    "block_screenshots": true,
    "sign_in_with_work_email": true,
    "sign_in_with_fb": false,
    "sign_in_with_apple": true,
    "sign_in_with_microsoft": true,
    "sign_in_with_phone_number": {
      "enable_sign_in_with_phone_number": true,
      "sign_in_with_sms_code": true
    },
    "sign_in_with_passkey": true,
    "sign_in_with_outlook": {
      "enable_sign_in_with_outlook": true,
      "zm_official_nested_app_auth": true,
      "enable_custom_nested_app_auth": false,
      "custom_nested_app_id": "00000000-0000-0000-0000-000000000000"
    },
    "only_zoom_for_intune_app_can_sign_in": true,
    "trusted_microsoft_tenant": "[\"123e4567-e89b-12d3-a456-426614174000\"]",
    "multiple_resource_login": {
      "enable_multiple_resource_login": true,
      "multiple_resource_login_limit": 3
    },
    "automatic_sign_out": {
      "enable_separated_sign_out_settings": true,
      "email_or_phone": {
        "desktop_client": 5184000,
        "mobile_client": 5184000,
        "web_browser": 5184000,
        "zoom_scheduling_integration": 7776000
      },
      "sso": {
        "desktop_client": 2592000,
        "mobile_client": 2592000,
        "web_browser": 2592000,
        "zoom_scheduling_integration": 2592000
      },
      "social_oauth": {
        "desktop_client": -1,
        "mobile_client": -1,
        "web_browser": 2592000,
        "zoom_scheduling_integration": -1
      }
    },
    "only_mdm_managed_devices_can_sign_in": {
      "enable": true,
      "only_mdm_managed_mobile_can_sign_in": true,
      "only_mdm_managed_pc_can_sign_in": false,
      "only_mdm_managed_devices_can_sign_in_tag": "corporate"
    }
  },
  "audio_conferencing": {
    "toll_free_and_fee_based_toll_call": {
      "allow_webinar_attendees_dial": true,
      "enable": true,
      "numbers": [
        {
          "code": "86",
          "country_code": "CN",
          "country_name": "China",
          "display_number": "+86 777 777 77",
          "number": "777 777 77"
        }
      ]
    },
    "toll_call": {
      "enable": true,
      "numbers": [
        {
          "code": "86",
          "country_code": "CN",
          "country_name": "China",
          "display_number": "+86 777 777 77",
          "number": "777 777 77"
        }
      ]
    },
    "call_me_and_invite_by_phone": {
      "enable": true,
      "require_press_1_for_call_me": "auto",
      "allow_webinar_attendees_call_me": true,
      "call_out_countries": {
        "allowed_countries": [
          {
            "code": "CN",
            "name": "China"
          }
        ],
        "selected_countries": [
          {
            "code": "CN",
            "name": "China"
          }
        ]
      }
    },
    "personal_audio_conference": true,
    "participant_phone_masking": {
      "enable": true,
      "masking_type": "mask_default"
    },
    "global_dial_in_countries": {
      "allowed_countries": [
        {
          "code": "CN",
          "name": "China"
        }
      ],
      "selected_countries": [
        {
          "code": "CN",
          "name": "China"
        }
      ],
      "include_toll_free": true
    }
  },
  "chat": {
    "allow_bots_chat": true,
    "share_files": {
      "enable": true,
      "share_option": "account",
      "view_option": "anyone",
      "restrictions": {
        "only_allow_specific_file_types": true,
        "file_type_restrictions": [
          ".gz"
        ],
        "file_type_restrictions_for_external": [
          ".gz"
        ],
        "maximum_file_size": true,
        "file_size_restrictions": 100,
        "file_size_restrictions_for_external": 100,
        "file_restrictions_apply_to": "sharing_and_viewing"
      }
    },
    "chat_emojis": {
      "enable": true,
      "emojis_option": "all"
    },
    "record_voice_messages": true,
    "record_video_messages": true,
    "screen_capture": true,
    "create_public_channels": true,
    "create_private_channels": true,
    "create_group_chat": true,
    "share_links_in_chat": true,
    "schedule_meetings_in_chat": true,
    "set_retention_period_in_cloud": {
      "enable": true,
      "retention_period_of_direct_messages_and_group_conversation": "2m",
      "retention_period_of_channels": "2m"
    },
    "set_retention_period_in_local": {
      "enable": true,
      "retention_period_of_direct_messages_and_group_conversation": "2m",
      "retention_period_of_channels": "2m"
    },
    "allow_users_to_add_contacts": {
      "enable": true,
      "selected_option": 4,
      "user_email_addresses": "123@test.com"
    },
    "allow_users_to_chat_with_others": {
      "enable": true,
      "selected_option": 4,
      "user_email_addresses": "123@test.com"
    },
    "chat_etiquette_tool": {
      "enable": true,
      "policies": [
        {
          "description": "The policy's description",
          "id": "afwef342tr2qfwrg",
          "is_locked": true,
          "keywords": [
            "test"
          ],
          "name": "The policy name",
          "regular_expression": "^test",
          "status": "activated",
          "trigger_action": 1
        }
      ],
      "policy_max_count": 50
    },
    "send_data_to_third_party_archiving_service": {
      "enable": true,
      "type": "global_relay",
      "smtp_delivery_address": "test@zoom.us",
      "user_name": "test",
      "passcode": "111111111",
      "authorized_channel_token": "as1131zxwrwcssd32r4fkmaksjiajco999999999999a9qef23jr43twn4%^&IBNByeq"
    },
    "apply_local_storage_to_personal_channel": {
      "enable": true,
      "retention_period": "2m"
    },
    "translate_messages": true,
    "search_and_send_animated_gif_images": {
      "enable": true,
      "giphy_content_rating": 1
    },
    "external_collab_restrict": {
      "enable": true,
      "external_chat": "allowed",
      "group_id": "QSuHwTcvQoWPoG0ennkRug"
    },
    "external_user_control": {
      "enable": true,
      "selected_option": 1,
      "external_account": true
    },
    "external_invite_approve": {
      "enable": true,
      "selected_option": 1,
      "channel_id": "5fedbc697f8545aca465b5b114ad4275",
      "external_account": true
    },
    "external_member_join": {
      "enable": true,
      "external_account": true
    },
    "external_join_approve": {
      "enable": true,
      "selected_option": 1,
      "channel_id": "5fedbc697f8545aca465b5b114ad4275",
      "external_account": true
    },
    "download_file": true,
    "share_screen_in_chat": true,
    "code_snippet": true,
    "personal_channel": true,
    "store_revise_chat": false,
    "set_chat_as_default_tab": false,
    "hyper_link": true,
    "suppress_removal_notification": true,
    "suppress_user_group_notification": false,
    "allow_remove_msg_by_owner_and_admins": true,
    "allow_huddles_from_channels": true,
    "shared_spaces": true,
    "chat_email_address": {
      "enable": true,
      "only_allow_specific_domains": false,
      "specific_domains": [
        "[\"example.com\"]"
      ]
    },
    "read_receipts": {
      "enable": false,
      "allow_users_opt_out": false
    },
    "allow_delete_message": {
      "enable": true,
      "time": 5
    },
    "allow_edit_message": {
      "enable": true,
      "time": 5
    },
    "show_status_to_internal_contact": true,
    "presence_on_meeting": true,
    "presence_away_when_screen_saver": false,
    "show_h323_contact_tab": false,
    "survey_poll": true
  },
  "email_notification": {
    "alternative_host_reminder": true,
    "cancel_meeting_reminder": true,
    "cloud_recording_available_reminder": true,
    "jbh_reminder": true,
    "low_host_count_reminder": true,
    "recording_available_reminder_alternative_hosts": true,
    "recording_available_reminder_schedulers": true,
    "schedule_for_reminder": true
  },
  "feature": {
    "meeting_capacity": 100
  },
  "in_meeting": {
    "auto_generated_translation": {
      "language_item_pairList": {
        "trans_lang_config": [
          {
            "speak_language": {
              "name": "Chinese (Simplified)",
              "code": "zh"
            },
            "translate_to": {
              "all": true,
              "language_config": [
                {
                  "name": "English",
                  "code": "en"
                }
              ]
            }
          }
        ],
        "all": true
      },
      "enable": true
    },
    "alert_guest_join": true,
    "allow_host_to_enable_focus_mode": true,
    "allow_live_streaming": true,
    "allow_participants_chat_with": 4,
    "allow_participants_to_rename": true,
    "allow_show_zoom_windows": true,
    "allow_users_save_chats": 2,
    "annotation": true,
    "anonymous_question_answer": true,
    "attention_mode_focus_mode": true,
    "auto_answer": true,
    "auto_saving_chat": true,
    "breakout_room": true,
    "breakout_room_schedule": true,
    "chat": true,
    "meeting_question_answer": true,
    "closed_caption": true,
    "closed_captioning": {
      "auto_transcribing": true,
      "enable": true,
      "save_caption": true,
      "third_party_captioning_service": true,
      "view_full_transcript": true
    },
    "co_host": true,
    "custom_data_center_regions": true,
    "custom_live_streaming_service": true,
    "custom_service_instructions": "1234",
    "meeting_data_transit_and_residency_method": "On-Prem",
    "data_center_regions": [
      "AU",
      "LA",
      "CA",
      "CN",
      "DE",
      "HK",
      "IN",
      "IE",
      "TY",
      "MX",
      "NL",
      "SG",
      "US"
    ],
    "disable_screen_sharing_for_host_meetings": true,
    "disable_screen_sharing_for_in_meeting_guests": true,
    "dscp_audio": 1,
    "dscp_marking": true,
    "dscp_video": 63,
    "dscp_dual": false,
    "e2e_encryption": true,
    "entry_exit_chime": "none",
    "far_end_camera_control": true,
    "feedback": true,
    "file_transfer": true,
    "group_hd": true,
    "webinar_group_hd": true,
    "join_from_desktop": true,
    "join_from_mobile": true,
    "language_interpretation": {
      "custom_languages": [
        "English"
      ],
      "enable": true,
      "enable_language_interpretation_by_default": true,
      "allow_participants_to_speak_in_listening_channel": true,
      "allow_up_to_25_custom_languages_when_scheduling_meetings": true,
      "languages": [
        "English",
        "Chinese",
        "Japanese",
        "German",
        "French",
        "Russian",
        "Portuguese",
        "Spanish",
        "Korean"
      ]
    },
    "sign_language_interpretation": {
      "enable": true,
      "enable_sign_language_interpretation_by_default": true,
      "languages": [
        "American"
      ],
      "custom_languages": [
        "Language1"
      ]
    },
    "live_streaming_facebook": true,
    "live_streaming_youtube": true,
    "manual_captioning": {
      "allow_to_type": true,
      "auto_generated_captions": true,
      "full_transcript": true,
      "manual_captions": true,
      "save_captions": true,
      "third_party_captioning_service": true
    },
    "meeting_polling": {
      "advanced_polls": true,
      "allow_alternative_host_to_add_edit": true,
      "manage_saved_polls_and_quizzes": true,
      "allow_host_to_upload_image": true,
      "require_answers_to_be_anonymous": true,
      "enable": true
    },
    "meeting_reactions": true,
    "meeting_reactions_emojis": "all",
    "allow_host_panelists_to_use_audible_clap": true,
    "webinar_reactions": true,
    "meeting_survey": true,
    "original_audio": true,
    "p2p_connetion": true,
    "p2p_ports": true,
    "polling": true,
    "ports_range": "1;65535",
    "post_meeting_feedback": true,
    "private_chat": true,
    "record_play_own_voice": true,
    "remote_control": true,
    "non_verbal_feedback": true,
    "remote_support": true,
    "request_permission_to_unmute_participants": true,
    "screen_sharing": true,
    "sending_default_email_invites": true,
    "show_a_join_from_your_browser_link": true,
    "show_meeting_control_toolbar": true,
    "slide_control": true,
    "stereo_audio": true,
    "unchecked_data_center_regions": [
      "EU",
      "HK",
      "AU",
      "IN",
      "TY",
      "CN",
      "US",
      "CA",
      "DE",
      "NL",
      "LA"
    ],
    "use_html_format_email": true,
    "virtual_background": true,
    "virtual_background_settings": {
      "allow_upload_custom": true,
      "allow_videos": true,
      "enable": true,
      "files": [
        {
          "id": "ra3NawGWScGhY1hqfY2MJw",
          "is_default": true,
          "name": "file name",
          "size": 41519,
          "type": "image"
        }
      ]
    },
    "watermark": true,
    "webinar_chat": {
      "allow_attendees_chat_with": 2,
      "allow_auto_save_local_chat_file": true,
      "allow_panelists_chat_with": 1,
      "allow_panelists_send_direct_message": true,
      "allow_users_save_chats": 0,
      "allow_users_to_delete_messages_in_meeting_chat": true,
      "default_attendees_chat_with": 1,
      "enable": true
    },
    "webinar_live_streaming": {
      "custom_service_instructions": "The specific instructions",
      "enable": true,
      "live_streaming_reminder": true,
      "live_streaming_service": [
        "facebook"
      ]
    },
    "webinar_polling": {
      "advanced_polls": true,
      "allow_alternative_host_to_add_edit": true,
      "require_answers_to_be_anonymous": true,
      "manage_saved_polls_and_quizzes": true,
      "allow_host_to_upload_image": true,
      "enable": true
    },
    "webinar_question_answer": true,
    "webinar_survey": true,
    "whiteboard": true,
    "who_can_share_screen": "all",
    "who_can_share_screen_when_someone_is_sharing": "all",
    "participants_share_simultaneously": "multiple",
    "workplace_by_facebook": true,
    "transfer_meetings_between_devices": true,
    "meeting_summary_with_ai_companion": {
      "enable": true,
      "auto_enable": true,
      "who_will_receive_summary": 1,
      "enable_summary_template": true,
      "summary_template_id": "1e1356ad"
    },
    "webinar_summary_with_ai_companion": {
      "enable": true,
      "auto_enable": true,
      "who_will_receive_summary": 1
    },
    "ai_companion_questions": {
      "enable": true,
      "auto_enable": true,
      "who_can_ask_questions": 1
    },
    "webinar_ai_companion_questions": {
      "enable": true,
      "auto_enable": true,
      "who_can_ask_questions": 1
    }
  },
  "integration": {
    "box": true,
    "dropbox": true,
    "google_calendar": true,
    "google_drive": true,
    "kubi": true,
    "microsoft_one_drive": true
  },
  "other_options": {
    "allow_auto_active_users": true,
    "allow_users_contact_support_via_chat": true,
    "allow_users_enter_and_share_pronouns": true,
    "blur_snapshot": true,
    "display_meetings_scheduled_for_others": true,
    "meeting_qos_and_mos": 0,
    "show_one_user_meeting_on_dashboard": true,
    "use_cdn": "none",
    "webinar_registration_options": {
      "allow_host_to_enable_join_info": true,
      "allow_host_to_enable_social_share_buttons": true,
      "enable_custom_questions": true
    },
    "email_in_attendee_report_for_meeting": true
  },
  "profile": {
    "recording_storage_location": {
      "allowed_values": [
        "US",
        "AU",
        "CA",
        "DE",
        "JP",
        "BR",
        "SG",
        "IN"
      ],
      "value": "US"
    }
  },
  "recording": {
    "account_user_access_recording": true,
    "allow_recovery_deleted_cloud_recordings": true,
    "archive": {
      "enable": true,
      "settings": {
        "audio_file": true,
        "cc_transcript_file": true,
        "chat_file": true,
        "chat_with_sender_email": true,
        "video_file": true,
        "chat_with_direct_message": true,
        "archive_retention": 1,
        "action_when_archive_failed": 1,
        "notification_when_archiving_starts": "participants",
        "play_voice_prompt_when_archiving_starts": "guest"
      },
      "type": 2
    },
    "auto_delete_cmr": true,
    "auto_delete_cmr_days": 90,
    "auto_recording": "cloud",
    "cloud_recording": true,
    "cloud_recording_download": true,
    "cloud_recording_download_host": true,
    "display_participant_name": true,
    "host_delete_cloud_recording": true,
    "ip_address_access_control": {
      "enable": true,
      "ip_addresses_or_ranges": "46.33.24.184"
    },
    "local_recording": true,
    "local_recording_options": {
      "internal_meeting_participants": true,
      "internal_auto_approve_requests": true,
      "external_meeting_participants": true,
      "external_auto_approve_requests": true,
      "participants_with_specified_domains": true,
      "participants_with_specified_domains_content": "zoom.us",
      "participants_specified_domains_auto_approve_requests": true,
      "save_chat_messages": true,
      "save_closed_caption": true
    },
    "optimize_recording_for_3rd_party_video_editor": true,
    "prevent_host_access_recording": true,
    "record_audio_file": true,
    "record_audio_file_each_participant": true,
    "record_files_separately": {
      "active_speaker": true,
      "gallery_view": true,
      "shared_screen": true
    },
    "record_gallery_view": true,
    "record_speaker_view": true,
    "recording_audio_transcript": true,
    "smart_recording": {
      "create_recording_highlights": true,
      "create_smart_chapters": true,
      "create_next_steps": true
    },
    "recording_password_requirement": {
      "have_letter": true,
      "have_number": true,
      "have_special_character": true,
      "length": 10,
      "only_allow_numeric": true
    },
    "recording_thumbnails": true,
    "required_password_for_existing_cloud_recordings": true,
    "required_password_for_shared_cloud_recordings": true,
    "save_chat_text": true,
    "save_close_caption": true,
    "save_panelist_chat": true,
    "save_poll_results": true,
    "show_timestamp": true,
    "recording_notification_for_zoom_client": {
      "disclaimer_to_participants": "All participants or Guest only",
      "play_voice_prompt": " All participants or Guest only or  No one",
      "ask_host_to_confirm": true
    },
    "viewer_see_transcript": true,
    "viewer_see_chat": true,
    "allow_cmr_3rd_party_bot": true,
    "upload_custom_caption": true,
    "upload_recording": true,
    "water_marker_recording": true,
    "durable_meeting_transcript": {
      "durable_meeting_transcript": true,
      "allow_host_access_meeting_transcript": true
    },
    "allow_share": true,
    "authenticated_view_cloud_recoding": {
      "authenticated_can_view_cloud_recordings": true,
      "default_authenticate_content": "Signed-in users in my account"
    },
    "embed_passcode_in_shareable_link": true,
    "allow_invitees_access_recordings_without_passcode": true,
    "recording_as_on_demand": true,
    "notification_subscription_url_when_recording_available": true,
    "recording_notifications_phone_users": {
      "require_press_one_consent_to_record": true,
      "multiple_notifications_phone_users": true
    },
    "cloud_recording_permanently_deleted": {
      "cloud_recording_permanently_deleted_from_trash": true,
      "email_reminder_type": "Weekly digest on Monday"
    },
    "recording_storage_email_notifications": true,
    "allow_add_cloud_recordings_to_zoom_clips": true,
    "allow_revenue_accelerator_manage_recording_separate_auto_delete": true
  },
  "schedule_meeting": {
    "audio_type": "both",
    "enforce_login": true,
    "enforce_login_domains": "example.com",
    "enforce_login_with_domains": true,
    "force_pmi_jbh_password": true,
    "host_video": true,
    "enable_dedicated_group_chat": true,
    "jbh_time": 10,
    "join_before_host": true,
    "meeting_password_requirement": {
      "consecutive_characters_length": 5,
      "have_letter": true,
      "have_number": true,
      "have_special_character": true,
      "have_upper_and_lower_characters": true,
      "length": 10,
      "only_allow_numeric": true,
      "weak_enhance_detection": true
    },
    "not_store_meeting_topic": true,
    "participant_video": true,
    "allow_host_to_disable_participant_video": true,
    "personal_meeting": true,
    "require_password_for_instant_meetings": true,
    "require_password_for_pmi_meetings": "none",
    "require_password_for_scheduled_meetings": true,
    "require_password_for_scheduling_new_meetings": true,
    "use_pmi_for_instant_meetings": true,
    "use_pmi_for_scheduled_meetings": true,
    "always_display_zoom_meeting_as_topic": {
      "enable": true,
      "display_topic_for_scheduled_meetings": true
    },
    "hide_meeting_description": {
      "enable": true,
      "hide_description_for_scheduled_meetings": true
    },
    "always_display_zoom_webinar_as_topic": {
      "enable": true,
      "display_topic_for_scheduled_webinars": true
    },
    "hide_webinar_description": {
      "enable": true,
      "hide_description_for_scheduled_webinars": true
    },
    "meeting_template": {
      "enable": true,
      "templates": [
        {
          "id": "ydCUQzzVT6WZ_r_K_2iFzg",
          "name": "meeting_template_name",
          "enable": true
        }
      ]
    },
    "continuous_meeting_chat": {
      "enable": true
    }
  },
  "telephony": {
    "audio_conference_info": "test",
    "telephony_regions": {
      "allowed_values": [
        "CNTB",
        "USTB"
      ],
      "selection_values": "USTB"
    },
    "third_party_audio": false
  },
  "tsp": {
    "call_out": true,
    "call_out_countries": [
      "us"
    ],
    "allow_webinar_attendees_call_me": true,
    "display_toll_free_numbers": true,
    "allow_webinar_attendees_toll_free_dial": true,
    "show_international_numbers_link": true,
    "global_dial_in_countries": {
      "allowed_countries": [
        {
          "code": "CN",
          "name": "China"
        }
      ],
      "selected_countries": [
        {
          "code": "CN",
          "name": "China"
        }
      ]
    }
  },
  "zoom_rooms": {
    "auto_start_stop_scheduled_meetings": true,
    "cmr_for_instant_meeting": true,
    "force_private_meeting": true,
    "hide_host_information": true,
    "list_meetings_with_calendar": true,
    "start_airplay_manually": true,
    "ultrasonic": true,
    "upcoming_meeting_alert": true,
    "weekly_system_restart": true,
    "zr_post_meeting_feedback": true
  },
  "smart_recognition": {
    "personalized_audio_isolation": true,
    "zoom_rooms": {
      "video_name_tags": {
        "enabled": true,
        "allow_user_photos": true,
        "allow_enrollment_email": true,
        "allow_external_identification": true
      },
      "voice_name_tags": {
        "enabled": true,
        "allow_enrollment_email": true,
        "allow_external_identification": true
      }
    },
    "workplace_app": {
      "voice_name_tags": {
        "enabled": true,
        "allow_enrollment_email": true
      }
    }
  },
  "mail_calendar": {
    "email_calendar_management": true,
    "email_management": true,
    "zoom_email_provider": true
  },
  "general_setting": {
    "auto_zoom_room_proximity_connect": true,
    "show_zoom_room_feature": true
  },
  "ai": {
    "screen_share_ocr": true,
    "meeting_chat_messages": true,
    "full_display_names_in_ai_assets": true,
    "ai_generated_virtual_backgrounds": true,
    "meeting_agenda": true,
    "meeting_summary_docs": {
      "enable": true,
      "share_with_summary_recipients": true
    },
    "phone_user_ai_notices": {
      "enable": true,
      "require_press_1_consent": true,
      "multiple_notifications": true
    },
    "meeting_summary_retention": {
      "enable": true,
      "retention_days": 30
    },
    "meeting_summary_personal_data_redaction": {
      "enable": true,
      "personal_data_types": [
        "NAME",
        "EMAIL"
      ]
    },
    "meeting_summary_sensitive_data_filter": {
      "enable": true,
      "rules": [
        {
          "name": "Employee ID",
          "regular_expression": "[0-9]{6}"
        }
      ]
    },
    "meeting_coach": {
      "enable": true,
      "participant_scope": "participants_and_invitees_in_our_organization"
    },
    "third_party_meeting_join": {
      "enable": true,
      "allow_recording": true,
      "calendar": {
        "enable": true,
        "join_scope": "all_events_with_video_conference_links"
      },
      "pre_meeting_email_notification": {
        "enable": true,
        "recipients": "all_invitees"
      }
    },
    "whiteboard_content_generation": true,
    "smart_recording": {
      "create_recording_highlights": true,
      "create_smart_chapters": true,
      "create_next_steps": true
    },
    "clips_summarization_generation": {
      "enable": true,
      "general_summary": true,
      "generation_chapter": true
    },
    "clips_create_video_with_aic": {
      "enable": true,
      "show_clips_with_avatar": true
    },
    "allow_user_create_customize_avatar": {
      "enable": true,
      "clips_custom_avatar_delegation": true
    },
    "task_creation_and_management": {
      "enable": false,
      "auto_generate_details": false,
      "auto_generate_action": true,
      "generate_from_transcripts": {
        "enable": false,
        "auto_share_with": "internal_participants",
        "auto_assign_to_collaborator": true
      },
      "generate_from_phone_call": {
        "enable": false,
        "auto_add_participant_as_collaborator": true,
        "auto_assign_to_collaborator": true
      },
      "generate_from_voicemail": false
    },
    "show_conversational_ai_companion": {
      "enabled": true,
      "enable_zoom_mate": true,
      "delete_ai_conversation": true,
      "delete_ai_conversation_time": 30
    },
    "ai_panel_in_workplace": {
      "enabled": true,
      "delete_ai_conversation": true,
      "delete_ai_conversation_time": 30
    },
    "enable_ai_on_web": true,
    "enable_email_compose_with_ai": true,
    "microsoft_365": {
      "enable": true,
      "calendar_events": true,
      "emails": true,
      "documents": true
    },
    "google": {
      "enable": true,
      "calendar_events": true,
      "emails": true,
      "documents": true
    },
    "web_content": true,
    "local_file_uploads": true,
    "organization_custom_dictionaries": true,
    "third_party_app_tasks": true,
    "workspace_reservation_recommendations_with_ai": {
      "enabled": true,
      "day_recommendation": true,
      "desk_recommendation": true,
      "custom_workspaces_recommendation": true,
      "room_recommendation": true,
      "proactive_room_recommendation": true
    },
    "participant_can_request_aic_in_meeting": true,
    "restrict_aic_when_external_user_join_meeting": true,
    "restrict_users_from_joining_ai_enabled_meetings": {
      "enable": true,
      "join_notify": "notify_and_remove",
      "apply_scope": "internal_and_external"
    },
    "meeting_questions": {
      "enable": true,
      "auto_enable": false,
      "who_can_ask_questions": "org_from_join_meeting"
    },
    "meeting_summary": {
      "enable": true,
      "auto_enable": false,
      "email_notification": true,
      "whether_include_full_text_in_email": "include_full_text_in_email",
      "restrict_share_to_outside_of_organization": true,
      "restrict_summary_share": "external_users",
      "who_will_receive_summary": "alt_host"
    },
    "meeting_summary_template": {
      "enable": true,
      "summary_template_id": "template_123"
    },
    "meeting_summary_default_language": {
      "enable": true,
      "language": "en"
    },
    "meeting_summary_ip_access": {
      "enable": true,
      "ip_addresses_or_ranges": "192.0.2.0/24"
    },
    "remind_me_turn_on_aic": true,
    "remind_me_turn_on_catch_me_up": true,
    "meeting_summary_email_only_mode": false,
    "restrict_users_from_deleting_ai_companion_assets": true,
    "restrict_users_from_editing_ai_companion_assets": true,
    "webinar_summary_ocr": true,
    "zoom_events_chat_panel": true,
    "zoom_events_session_summary": {
      "enable": true,
      "auto_start": true
    },
    "zoom_events_analytics": true,
    "zoom_events_chat_compose": true,
    "zoom_events_email_compose": true,
    "zoom_events_smart_compose": true,
    "zoom_events_image_generation": true,
    "zoom_events_smart_upload": true,
    "zoom_events_content_generation": true,
    "chat_summary": {
      "enable": false,
      "shown_in_team_chat": true
    },
    "chat_compose": {
      "enable": false,
      "shown_in_team_chat": true
    },
    "hub_ai_question_and_file_creation": true,
    "canvas_ai_content_generation": true,
    "canvas_ai_sentence_completion": true,
    "canvas_ai_post_meeting_writing_tasks": true,
    "paper_ai_content_generation": true,
    "sheets_ai_content_generation": true,
    "sheets_ai_formula": true,
    "sheets_ai_function": true,
    "sheets_ai_resources": true,
    "slides_ai_content_generation": true,
    "my_notes_meeting_transcription": true,
    "my_notes_ai_content_generation": {
      "enable": true,
      "auto_generate_summary": true,
      "auto_send_summary_email": true
    },
    "include_webinar_summary_follow_up_email": {
      "enable": true,
      "attendee_follow_up_email": true,
      "absentee_follow_up_email": true
    },
    "zoom_events_content_studio": true,
    "webinar_summary": {
      "enable": true,
      "auto_enable": false,
      "email_notification": true,
      "whether_include_full_text_in_email": "include_full_text_in_email",
      "restrict_share_to_outside_of_organization": true,
      "restrict_summary_share": "external_users",
      "who_will_receive_summary": "host_and_panelist_in_organization"
    },
    "webinar_questions": {
      "enable": true,
      "auto_enable": false,
      "who_can_ask_questions": "panelist_org"
    }
  }
}
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `2001` <br> Account does not exist: $accountId <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Update account settings

  • Method: PATCH
  • Path: /accounts/{accountId}/settings
  • Tags: Accounts

Update an account's settings. To update the settings for a master account, pass the me value for the accountId path parameter.

Prerequisites:

  • The account must be a paid account.

[Scopes(/docs/integrations/oauth-scopes-overview/): account:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): account:update:settings:admin,account:update:settings:master

Rate Limit Label: MEDIUM

Request Body

Content-Type: application/json

One of:

  • ai

    object — Workspace Reservation recommendations with AI.

    • ai_generated_virtual_backgrounds

      boolean — Whether AI-generated virtual backgrounds are enabled.

    • ai_panel_in_workplace

      object — AI panel in Zoom Workplace settings.

      • delete_ai_conversation

        boolean — Whether to automatically delete AI conversation history in the AI panel.

      • delete_ai_conversation_time

        integer | null, possible values: 30, 60, 90, 120 — The number of days after which AI conversation history in the AI panel is automatically deleted. Supported values are 30, 60, 90, and 120.

      • enabled

        boolean — Whether the AI panel in Zoom Workplace is enabled.

    • allow_user_create_customize_avatar

      object — setting for clip allow user create customize avatar

      • clips_custom_avatar_delegation

        boolean — Whether custom avatar delegation is enabled

      • enable

        boolean — Whether clips allow user create customize avatar is enabled.

    • canvas_ai_content_generation

      boolean — Whether users can use AI to generate and revise content in Canvas. Meeting transcripts from meeting summaries will be shown to hosts and can be used to create document content.

    • canvas_ai_post_meeting_writing_tasks

      boolean — Whether AI can identify post-meeting writing tasks from meeting context and generate drafts that users can review and use.

    • canvas_ai_sentence_completion

      boolean — Whether users can receive predictive writing suggestions while writing in Canvas.

    • chat_compose

      object — Allow users to use AI to help them compose a response from scratch or wordsmith their chat messages.

      • enable

        boolean — Compose with AI Companion

      • shown_in_team_chat

        boolean — Show in Team Chat

    • chat_summary

      object — Allow users to summarize chats, channels, and shared documents.

      • enable

        boolean — Summarize with AI Companion

      • shown_in_team_chat

        boolean — Show in Team Chat

    • clips_create_video_with_aic

      object — setting for clip create video with aic

      • enable

        boolean — Whether clips create video with aic is enabled.

      • show_clips_with_avatar

        boolean — Whether show clips with avatar

    • clips_summarization_generation

      object — setting for clip summarization generation

      • enable

        boolean — Whether summarization generation is enabled.

      • general_summary

        boolean — Whether summary generation is enabled.

      • generation_chapter

        boolean — Whether chapter generation is enabled.

    • enable_ai_on_web

      boolean — Whether Zoom AI on the web is enabled.

    • enable_email_compose_with_ai

      boolean — Whether users can use AI to compose or wordsmith email responses in Zoom Mail.

    • full_display_names_in_ai_assets

      boolean — Whether AI-generated meeting assets use full display names.

    • google

      object — Settings for Google data sources.

      • calendar_events

        boolean — Whether Google Calendar events accessible to the user can be used as a data source for AI.

      • documents

        boolean — Whether Google Drive documents accessible to the user can be used as a data source for AI.

      • emails

        boolean — Whether Gmail emails accessible to the user can be used as a data source for AI.

      • enable

        boolean — Whether Google data sources can be used as data sources for AI.

    • hub_ai_question_and_file_creation

      boolean — Whether users can ask AI questions about file content and create new files, such as Canvas, Slides, Sheets, Paper, or data tables, from the Hub Home page. Creating files requires AI to be enabled in each product's settings.

    • include_webinar_summary_follow_up_email

      object — Webinar follow-up email. When enabled, the host can include the webinar summary in follow-up emails.

      • absentee_follow_up_email

        boolean — Whether the webinar summary is included in the absentee follow-up email.

      • attendee_follow_up_email

        boolean — Whether the webinar summary is included in the attendee follow-up email.

      • enable

        boolean — Whether the host can include the webinar summary in follow-up email.

    • local_file_uploads

      boolean — Whether files uploaded by users can be used as a data source for AI by the users who uploaded them.

    • meeting_agenda

      boolean — Whether Meeting Agenda with AI is enabled.

    • meeting_chat_messages

      boolean — Whether meeting chat messages are used to enhance transcripts.

    • meeting_coach

      object — Meeting Coach with AI.

      • enable

        boolean — Whether Meeting Coach with AI is enabled.

      • participant_scope

        string, possible values: "all_participants_and_invitees", "participants_and_invitees_in_our_organization" — Which participants Meeting Coach applies to.

    • meeting_questions

      object — Zoom AI answers the meeting questions based on what is said in the meeting. If a transcript is retained, participants with access will be able to ask questions after the meeting based on that transcript.

      • auto_enable

        boolean — Whether to automatically allow access when the meeting starts.

      • enable

        boolean — Whether to allow hosts and invited participants to ask questions to AI Companion during a meeting.

      • who_can_ask_questions

        string, possible values: "from_entire_meeting", "from_join_meeting", "host", "org", "org_from_join_meeting" — Defines who can ask questions about this meeting's transcript. Valid values: `from_entire_meeting` (all participants and invitees), `from_join_meeting` (all participants only from when they join), `host` (only the meeting host), `org` (participants and invitees in the organization), `org_from_join_meeting` (participants in the organization only from when they join).

    • meeting_summary

      object — Allow hosts to generate a summary. Summaries are sent based on sharing permissions after the meeting has ended.

      • auto_enable

        boolean — Whether to turn on meeting summary automatically when meetings start.

      • email_notification

        boolean — Send an email notification when sharing with participants.

      • enable

        boolean — Whether to allow hosts to generate a summary.

      • restrict_share_to_outside_of_organization

        boolean — Restrict users from sharing summaries to those outside of our organization.

      • restrict_summary_share

        string, possible values: "external_users", "all_users", "all_users_except_delegate" — Restrict users from sharing summaries. Valid values: `external_users` (to those outside of our organization), `all_users` (to all users), `all_users_except_delegate` (to all users except delegates).

      • whether_include_full_text_in_email

        string, possible values: "include_full_text_in_email", "not_include_full_text_in_email" — Whether to include summary text in the email. Valid values: `include_full_text_in_email` (include summary text in the email), `not_include_full_text_in_email` (do not include summary text in the email).

      • who_will_receive_summary

        string, possible values: "host", "alt_host", "organization", "all" — Automatically share summary with. Valid values: `host` (only meeting host), `alt_host` (only meeting host, co-hosts, and alternative hosts), `organization` (only meeting host and meeting invitees in our organization), `all` (all meeting invitees including those outside of our organization).

    • meeting_summary_default_language

      object — When this feature is enabled, all meeting summaries will automatically use the language you choose.

      • enable

        boolean — When this feature is enabled, all meeting summaries will automatically use the language you choose.

      • language

        string, possible values: "ar", "bn", "zh", "zh-hant", "cs", "da", "nl", "en", "et", "fi", "fr", "de", "hi", "hu", "id", "it", "ja", "ko", "ms", "fa", "pl", "pt", "ro", "ru", "es", "sv", "tl", "ta", "te", "th", "tr", "uk", "vi" — Set default meeting summary language. Supported values: `ar` (Arabic), `bn` (Bengali), `zh` (Chinese (Simplified)), `zh-hant` (Chinese (Traditional)), `cs` (Czech), `da` (Danish), `nl` (Dutch), `en` (English), `et` (Estonian), `fi` (Finnish), `fr` (French), `de` (German), `hi` (Hindi), `hu` (Hungarian), `id` (Indonesian), `it` (Italian), `ja` (Japanese), `ko` (Korean), `ms` (Malay), `fa` (Persian), `pl` (Polish), `pt` (Portuguese), `ro` (Romanian), `ru` (Russian), `es` (Spanish), `sv` (Swedish), `tl` (Tagalog), `ta` (Tamil), `te` (Telugu), `th` (Thai), `tr` (Turkish), `uk` (Ukrainian), `vi` (Vietnamese).

    • meeting_summary_docs

      object — Automatic Zoom Doc creation from meeting summary.

      • enable

        boolean — Whether automatic Zoom Doc creation is enabled.

      • share_with_summary_recipients

        boolean — Whether generated Zoom Docs are shared with meeting summary recipients.

    • meeting_summary_email_only_mode

      boolean — When this setting is enabled, summaries will only be shared to users by email. Users will not be able to view or edit summaries on the Zoom client or web portal, as the meeting summary will not be retained.

    • meeting_summary_ip_access

      object — Allow meeting summary access only from specific IP address ranges.

      • enable

        boolean — Whether meeting summary access is restricted to specific IP address ranges.

      • ip_addresses_or_ranges

        string — IP addresses or ranges from which meeting summaries can be accessed.

    • meeting_summary_personal_data_redaction

      object — Personal data redaction for meeting summaries.

      • enable

        boolean — Whether personal data redaction is enabled.

      • personal_data_types

        array — Personal data types to redact.

        Items:

        string, possible values: "ADDRESS", "AGE", "CREDIT_DEBIT_CVV", "CREDIT_DEBIT_EXPIRY", "CREDIT_DEBIT_NUMBER", "DATE_TIME", "DRIVER_ID", "EMAIL", "INTERNATIONAL_BANK_ACCOUNT_NUMBER", "IP_ADDRESS", "LICENSE_PLATE", "MAC_ADDRESS", "NAME", "PASSWORD", "PHONE", "PIN", "SWIFT_CODE", "URL", "USERNAME", "VEHICLE_IDENTIFICATION_NUMBER", "BANK_ACCOUNT_NUMBER", "BANK_ROUTING", "PASSPORT_NUMBER", "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", "SSN"

    • meeting_summary_retention

      object — Automatic meeting summary deletion.

      • enable

        boolean — Whether automatic meeting summary deletion is enabled.

      • retention_days

        integer — Number of days to retain meeting summaries before deletion.

    • meeting_summary_sensitive_data_filter

      object — Sensitive data filter for meeting summaries.

      • enable

        boolean — Whether the sensitive data filter is enabled.

      • rules

        array — Sensitive data filter rules.

        Items:

        • name

          string — Rule display name.

        • regular_expression

          string — RE2J regular expression.

    • meeting_summary_template

      object — Allow users to select a meeting summary template for their meetings. After the meeting, the summary will be generated into the new template.

      • enable

        boolean — Whether users can select a meeting summary template for their meetings. After the meeting, the summary will be generated into the new template.

      • summary_template_id

        string — Default summary template.

    • microsoft_365

      object — Settings for Microsoft 365 data sources.

      • calendar_events

        boolean — Whether Microsoft Outlook calendar events accessible to the user can be used as a data source for AI.

      • documents

        boolean — Whether Office 365 documents accessible to the user can be used as a data source for AI.

      • emails

        boolean — Whether Microsoft Outlook emails accessible to the user can be used as a data source for AI.

      • enable

        boolean — Whether Microsoft 365 data sources can be used as data sources for AI.

    • my_notes_ai_content_generation

      object — My Notes AI content generation settings.

      • auto_generate_summary

        boolean — Whether My Notes automatically generates a summary when a note is completed.

      • auto_send_summary_email

        boolean — Whether My Notes automatically sends a summary email when a note summary is generated.

      • enable

        boolean — Whether users can use AI to generate content in My Notes and enrich their writing with the meeting transcript.

    • my_notes_meeting_transcription

      boolean — Whether users can transcribe their meetings with My Notes.

    • organization_custom_dictionaries

      boolean — Whether AI can consume the organization's custom dictionaries.

    • paper_ai_content_generation

      boolean — Whether users can use AI to generate and revise content in Zoom Paper. Meeting transcripts from meeting summaries will be shown to hosts and can be used to create documents.

    • participant_can_request_aic_in_meeting

      boolean — Participants can request the host to start in-meeting AI features.

    • phone_user_ai_notices

      object — Phone user AI notices.

      • enable

        boolean — Whether phone user AI notices are enabled.

      • multiple_notifications

        boolean — Whether multiple notifications are allowed.

      • require_press_1_consent

        boolean — Whether callers must press 1 to consent.

    • remind_me_turn_on_aic

      boolean — If you don't set AI features to auto-start in your meetings, you will be reminded to turn on AI at the beginning of each meeting you host.

    • remind_me_turn_on_catch_me_up

      boolean — When you join a meeting late, you'll get a prompt for AI to summarize what's been discussed so far.

    • restrict_aic_when_external_user_join_meeting

      boolean — Automatically restrict Zoom AI and transcription features when external users or groups join a meeting.

    • restrict_users_from_deleting_ai_companion_assets

      boolean — When enabled, users cannot delete AI assets. Only admins can delete them.

    • restrict_users_from_editing_ai_companion_assets

      boolean — When enabled, users cannot edit AI assets. Only admins can edit them.

    • restrict_users_from_joining_ai_enabled_meetings

      object — Users would be restricted from joining meetings in which AI meeting processing (meeting questions and summary) is allowed.

      • apply_scope

        string, possible values: "internal_only", "external_only", "internal_and_external" — Apply this setting to. Valid values: `internal_only` (internal meetings only), `external_only` (external meetings only), `internal_and_external` (internal and external meetings).

      • enable

        boolean — Whether users are restricted from joining meetings in which AI meeting processing (meeting questions and summary) is allowed.

      • join_notify

        string, possible values: "out_of_compliance", "notify_and_remove" — Action to take when a restricted user tries to join an AI-enabled meeting. Valid values: `out_of_compliance` (notify users that they are out of compliance), `notify_and_remove` (notify and remove users from the meeting).

    • screen_share_ocr

      boolean — Whether screen share content is used with OCR.

    • sheets_ai_content_generation

      boolean — Whether users can use AI to generate and revise content in Zoom Sheets. Meeting transcripts from meeting summaries will be shown to hosts and can be used to create sheet content.

    • sheets_ai_formula

      boolean — Whether AI can generate, explain, and apply spreadsheet formulas from natural-language input in Zoom Sheets.

    • sheets_ai_function

      boolean — Whether users can use the =AI() function in Zoom Sheets to generate, summarize, categorize, and analyze data.

    • sheets_ai_resources

      boolean — Whether users can add resources, such as meetings, docs, and data tables, to a spreadsheet and have AI suggest updates when they change.

    • show_conversational_ai_companion

      object — Show conversational AI companion settings.

      • delete_ai_conversation

        boolean — Whether to automatically delete AI conversation history.

      • delete_ai_conversation_time

        integer | null, possible values: 30, 60, 90, 120 — The number of days after which AI conversation history is automatically deleted. Supported values are 30, 60, 90, and 120.

      • enable_zoom_mate

        boolean — Whether ZoomMate is available in the web navigation and Zoom Workplace app navigation bar.

      • enabled

        boolean — Whether conversational AI is enabled.

    • slides_ai_content_generation

      boolean — Whether users can use AI to generate and revise content in Zoom Slides. Meeting transcripts from meeting summaries will be shown to hosts and can be used to create presentation content.

    • smart_recording

      object — Smart Recording

      • create_next_steps

        boolean — Next steps

      • create_recording_highlights

        boolean — Recording highlights

      • create_smart_chapters

        boolean — Summary and smart chapters

    • task_creation_and_management

      object — AI-powered task creation and management with AI Companion.

      • auto_generate_action

        boolean — Whether to automatically generate action items from tasks.

      • auto_generate_details

        boolean — Whether to automatically generate task details.

      • enable

        boolean — Whether AI-powered task creation and management is enabled.

      • generate_from_phone_call

        object — Settings for generating tasks from phone calls.

        • auto_add_participant_as_collaborator

          boolean — Whether to automatically add phone call participants as task collaborators.

        • auto_assign_to_collaborator

          boolean — Whether to automatically assign phone call tasks to collaborators.

        • enable

          boolean — Whether to allow generating tasks from phone calls.

      • generate_from_transcripts

        object — Settings for generating tasks from meeting transcripts.

        • auto_assign_to_collaborator

          boolean — Whether to automatically assign tasks to collaborators.

        • auto_share_with

          string, possible values: "host_only", "internal_participants", "internal_assigned_participants" — Defines who tasks are automatically shared with when generated from transcripts.

        • enable

          boolean — Whether to allow generating tasks from meeting transcripts.

      • generate_from_voicemail

        boolean — Whether to allow generating tasks from voicemail.

    • third_party_app_tasks

      boolean — Whether AI can perform tasks on the user's behalf in third-party apps configured within AI Studio.

    • third_party_meeting_join

      object — Third-party meeting join with AI.

      • allow_recording

        boolean — Whether recording is enabled for joined third-party meetings.

      • calendar

        object — Calendar-based third-party meeting join.

        • enable

          boolean — Whether calendar-based third-party meeting join is enabled.

        • join_scope

          string, possible values: "all_events_with_video_conference_links", "meetings_where_i_am_the_host", "meetings_where_i_am_a_participant" — Which calendar events third-party meeting join applies to.

      • enable

        boolean — Whether third-party meeting join with AI is enabled.

      • pre_meeting_email_notification

        object — Pre-meeting email notification.

        • enable

          boolean — Whether pre-meeting email notification is enabled.

        • recipients

          string, possible values: "all_invitees", "only_meeting_host" — Who receives the pre-meeting email notification.

    • web_content

      boolean — Whether public web content can be used as a data source for AI.

    • webinar_questions

      object — During the webinar, answers are based on speech-to-text data. If a transcript is retained, participants with access can ask questions after the webinar based on that transcript.

      • auto_enable

        boolean — Whether to automatically allow access when the webinar starts.

      • enable

        boolean — Whether to allow users to ask webinar questions with AI.

      • who_can_ask_questions

        string, possible values: "panelist_all", "panelist_org", "host", "all_participants" — Who can ask questions about the webinar. Valid values: `panelist_all` (Hosts and all panelists), `panelist_org` (Hosts and all panelists in the organization), `host` (Only webinar host, co-hosts, and alternative hosts), `all_participants` (All participants).

    • webinar_summary

      object — Allows hosts to generate a summary. Summaries are sent after the webinar has ended based on sharing permissions.

      • auto_enable

        boolean — Whether to turn on webinar summary automatically when the webinar starts.

      • email_notification

        boolean — Whether to send an email notification when sharing to participants.

      • enable

        boolean — Whether to allow hosts to generate a summary.

      • restrict_share_to_outside_of_organization

        boolean — Whether to restrict users from sharing summaries to those outside of the organization.

      • restrict_summary_share

        string, possible values: "external_users", "all_users", "all_users_except_delegate" — Restrict users from sharing summaries. Valid values: `external_users` (To those outside of the organization), `all_users` (To all users), `all_users_except_delegate` (To all users except delegates).

      • whether_include_full_text_in_email

        string, possible values: "include_full_text_in_email", "not_include_full_text_in_email" — Whether to include summary text in the email. Valid values: `include_full_text_in_email` (Include summary text in the email), `not_include_full_text_in_email` (Don't include summary text in the email).

      • who_will_receive_summary

        string, possible values: "host", "host_and_panelist_in_organization", "host_and_panelist_not_in_organization" — Who to automatically share the summary with. Valid values: `host` (Only webinar host), `host_and_panelist_in_organization` (Only webinar host, co-hosts, and panelists in the organization), `host_and_panelist_not_in_organization` (Webinar host, co-hosts, and all panelists, including those outside the organization).

    • webinar_summary_follow_up_email

      boolean — Whether webinar summaries are included in webinar follow-up email. Deprecated. Use `include_webinar_summary_follow_up_email`.

    • webinar_summary_ocr

      boolean — Whether screen share content is used with OCR for webinar summaries. Optical Character Recognition (OCR) converts images of text screen shared during a webinar into machine-readable text to generate more accurate and relevant AI results.

    • whiteboard_content_generation

      boolean — Whether Whiteboard content generation with AI is enabled.

    • workspace_reservation_recommendations_with_ai

      object — Workspace Reservation recommendations with AI.

      • custom_workspaces_recommendation

        boolean — Whether custom workspace recommendations are enabled.

      • day_recommendation

        boolean — Whether day recommendations are enabled.

      • desk_recommendation

        boolean — Whether desk recommendations are enabled.

      • enabled

        boolean — Whether Workspace Reservation recommendations with AI are enabled.

      • proactive_room_recommendation

        boolean — Whether proactive room recommendations are enabled.

      • room_recommendation

        boolean — Whether room recommendations are enabled.

    • zoom_events_analytics

      boolean — Whether Zoom Events AI Analytics is enabled. AI can analyze event engagement and uncover key moments, topics of interest, and actionable insights.

    • zoom_events_chat_compose

      boolean — Whether Zoom Events Chat Compose is enabled. AI helps users compose a response from scratch or wordsmith their chat messages.

    • zoom_events_chat_panel

      boolean — Whether the AI chat panel is enabled in Zoom Events. AI chat appears in Zoom Events setup surfaces and can be opened with the floating AI sparkle icon. You can ask AI chat about event performance and get insights and recommendations, including analytics for a specific event and across events in a Zoom Events hub.

    • zoom_events_content_generation

      boolean — Whether Zoom Events Content Generation with AI is enabled. AI content generation helps users create blogs, ebooks, whitepapers, emails, highlights, and sales briefs.

    • zoom_events_content_studio

      boolean — Whether Content Studio is enabled. Content Studio can turn recordings into high-quality content such as video clips, emails, and blog posts.

    • zoom_events_email_compose

      boolean — Whether Zoom Events Email Compose with AI is enabled. AI can compose emails and subject lines for events in the Email Builder.

    • zoom_events_image_generation

      boolean — Whether the Zoom Events image generator is enabled. AI can create images for use in an event.

    • zoom_events_session_summary

      object — Session summary. Allows hosts to generate a summary. Summaries are sent after the session has ended based on the in-session access options.

      • auto_start

        boolean — Whether to turn on session summary automatically when sessions start.

      • enable

        boolean — Whether Zoom Events session summaries are enabled.

    • zoom_events_smart_compose

      boolean — Whether Zoom Events Smart Compose with AI is enabled. AI can write event content when setting up an event, including event descriptions, session descriptions, speaker bios, and lobby announcements.

    • zoom_events_smart_upload

      boolean — Whether Zoom Events Smart Upload is enabled. AI can ingest files to quickly create event content such as speaker biographies.

  • audio_conferencing

    object — Account Audio Conference Settings

  • chat

    object — The account's chat settings.

    • ai_compose

      object — The field has been moved from the `chat` object to the `ai` object and renamed to `chat_compose` to better reflect its functionality. Allow users to summarize chats, channels, and shared documents.

      • enable

        boolean — Compose with AI Companion

      • shown_in_team_chat

        boolean — Show in Team Chat

    • ai_quick_reply

      boolean — **Zoom no longer supports this feature.** Quick reply with AI Companion

    • ai_quick_schedule

      boolean — **Zoom no longer supports this feature.** Quick schedule with AI Companion

    • ai_recommend

      boolean — **Zoom no longer supports this feature.** Chat Recommendation with Zoom AI Companion

    • ai_sentence_completion

      boolean — **Zoom no longer supports this feature.** Sentence completion with AI Companion

    • ai_summary

      object — The field has been moved from the `chat` object to the `ai` object and renamed to `chat_summary` to better reflect its functionality. Allow users to summarize chats, channels, and shared documents.

      • enable

        boolean — Summarize with AI Companion

      • shown_in_team_chat

        boolean — Show in Team Chat

    • allow_bots_chat

      boolean — Whether chatbots added to chats and channels can read and write messages.

    • allow_delete_message

      object — When this setting is enabled, users can delete their own messages in Team Chat. If the user is the channel owner or admin and this setting is disabled, the user will also not be able to remove messages of other members in that channel even if other settings allow this. Time frame is configurable even when account setting is OFF and unlocked.

      • enable

        boolean — Allow users to delete messages

      • time

        integer, possible values: 0, 5, 30, 60, 1440, 10080 — Within how many minitues of posting

    • allow_edit_message

      object — When this setting is enabled, users can edit their own messages in Team Chat. Time frame is configurable even when account setting is OFF and unlocked.

      • enable

        boolean — Allow users to edit messages

      • time

        integer, possible values: 0, 5, 30, 60, 1440, 10080 — Within how many minitues of posting

    • allow_huddles_from_channels

      boolean — Allow huddles from channels

    • allow_remove_msg_by_owner_and_admins

      boolean — Allow channel owner and admin(s) to remove messages of other members

    • allow_users_to_add_contacts

      object — Allow users to add contacts.

      • enable

        boolean — By disabling this setting, users will not be able to add contacts.

      • selected_option

        integer, possible values: 1, 2, 3, 4 — The type of allowing users to add contacts. * 1 - Anyone (internal and external contacts). * 2 - In the same organization. * 3 - In the same organization and specified domains. * 4 - In the same organization and specified users.

      • user_email_addresses

        string — The internal or external domains or emails. * When the `selected_option` field value is `3`, the value is internal or external domains. Use a comma to separate multiple domains. Example: company.com. * When the `selected_option` field value is `4`, the value is internal or external email addresses. Use a comma to separate multiple emails.

    • allow_users_to_chat_with_others

      object — Allow users to chat with others.

      • enable

        boolean — If you select 'In the same organization', users may still be able to chat with external users if they are added to channels or group chats with external users.

      • selected_option

        integer, possible values: 1, 2, 3, 4 — The type of allowing users to add contacts. * 1 - Anyone (internal and external contacts). * 2 - In the same organization. * 3 - In the same organization and specified domains. * 4 - In the same organization and specified users.

      • user_email_addresses

        string — The internal or external domains or emails. * When the `selected_option` field value is `3`, the value is internal or external domains. Use a comma to separate multiple domains. Example: company.com. * When the `selected_option` field value is `4`, the value is internal or external email addresses. Use a comma to separate multiple emails.

    • apply_local_storage_to_personal_channel

      object — Store personal channel messages on local devices.

      • enable

        boolean — Specify how long your messages sent in your personal channel are saved on local devices. If this setting is disabled, messages are never deleted locally.

      • retention_period

        string — Delete data after retention period. 'y' - year, 'm' - month, 'd' - day.

    • chat_email_address

      object — Allow users to create email addresses for chats and channels. Email sent to a created address will also be posted in respective chat or channel.

      • enable

        boolean — Chat email address

      • only_allow_specific_domains

        boolean — Only allow emails from specified domains

      • specific_domains

        array — Specified domains.

        Items:

        string — Specified domains.

    • chat_emojis

      object — Chat emojis.

      • emojis_option

        string, possible values: "all", "selected" — All emojis / selected emojis

      • enable

        boolean — Allow users to use the emoji library in direct messages or group conversations. Choose between allowing users to use any emoji in the library, or choose to allow only pre-selected emojis. If the setting is disabled, users can still use keyboard shortcuts to add emojis. Users can change their emoji skin tone in Settings.

    • chat_etiquette_tool

      object — Information about the **Chat Etiquette** tool.

      • enable

        boolean, default: false — Whether to enable the **Chat Etiquette Tool**. This value defaults to `false`. The **Chat Etiquette Tool** allows you to define specific keywords and text patterns in chat to prevent users from inadvertently sharing unwanted messages.

      • operate

        string, possible values: "create", "update", "delete" — The policy operation to perform for the update. * `create` - Create policies. * `update` - Update policies. * `delete` - Delete policies.

      • policies

        array — Information about the defined **Chat Etiquette Tool** policies.

        Items:

        • description

          string — The policy's description.

        • id

          string — The policy ID.

        • is_locked

          boolean, default: false — Whether to lock the policy. When it is locked, users cannot update the policy. This value defaults to `false`.

        • keywords

          array — A list of defined rule keywords.

          Items:

          string

        • name

          string — The policy name.

        • regular_expression

          string — The regular expression to match to the content of chat messages.

        • status

          string, possible values: "activated", "deactivated" — The policy's current status. * `activated` - Activated. * `deactivated` - Deactivated.

        • trigger_action

          integer, possible values: 1, 2 — The policy's trigger action. * `1` - Ask the user to confirm before they send the message. * `2` - Block the user's message.

    • code_snippet

      boolean — Send code snippet

    • create_group_chat

      boolean — Allow users to create group chats.

    • create_private_channels

      boolean — Allow users to create private channels.

    • create_public_channels

      boolean — Allow users to create public channels.

    • download_file

      boolean — Downloading files

    • external_collab_restrict

      object — Restrict external collaboration in group chats and channels for a select group

      • enable

        boolean — Restrict external collaboration in group chats and channels for a select group

      • external_chat

        string, possible values: "allowed", "not_allowed" — The type of restrict external collaboration in group chats and channels for a select group * - Allowed user group * - Not allowed user group

      • group_id

        string — The group Id

    • external_invite_approve

      object — Require admin approval for adding external users in group chats and channels

      • channel_id

        string — The channel Id

      • enable

        boolean — Require admin approval for adding external users in group chats and channels

      • external_account

        boolean — Allow this setting to be edited for specified accounts

      • selected_option

        integer, possible values: 1, 2 — The type of requiring admin approval for adding external users in group chats and channels* 1 - Send requests directly to all approvers* 2 - Send requests to a specific channel

    • external_join_approve

      object — Require admin approval for joining external group chats and channels

      • channel_id

        string — The channel Id

      • enable

        boolean — Require admin approval for joining external group chats and channels

      • external_account

        boolean — Allow this setting to be edited for specified accounts

      • selected_option

        integer, possible values: 1, 2 — The type of requiring admin approval for joining external group chats and channels * 1 - Send requests directly to all approvers * 2 - Send requests to a specific channel

    • external_member_join

      object — Allow members of your organization to join external group chats and channels

      • enable

        boolean — Allow members of your organization to join external group chats and channels

      • external_account

        boolean — Allow this setting to be edited for specified accounts

    • external_user_control

      object — Add external users into group chats and channels

      • enable

        boolean — Allow to add external users into group chats and channels

      • external_account

        boolean — Allow this setting to be edited for specified accounts

      • selected_option

        integer, possible values: 1, 2, 3 — The type of allowing external user control * 1 - Everyone * 2 - Only members in your organization, plus specified external accounts * 3 - Only the account owner and admins

    • hyper_link

      boolean — Allow hyperlinks in Team Chat

    • personal_channel

      boolean — Enable Personal Chat

    • presence_away_when_screen_saver

      boolean — Change my status to away when screen saver begins

    • presence_on_meeting

      boolean — Change my presence status when I am in a meeting or call

    • read_receipts

      object — Indicate when messages have been seen by recipients, for chats and channels with less than 20 members.

      • allow_users_opt_out

        boolean — Allow users to opt out

      • enable

        boolean — Enable read receipts

    • record_video_messages

      boolean — Allow users to record video messages that can be sent in direct messages or group conversations. If the file share setting is disabled, they will not be able to record and send video messages.

    • record_voice_messages

      boolean — Allow users to record voice messages that can be sent in direct messages or group conversations.

    • schedule_meetings_in_chat

      boolean — Schedule a meeting from chat or channel.

    • screen_capture

      boolean — Allow users to take and send screenshots in direct messages or group conversations.

    • search_and_send_animated_gif_images

      object — Allow users to search GIF images from GIPHY when they compose messages. See GIPHY's website for more information about content ratings.

      • enable

        boolean — Whether to allow users to search GIF images from GIPHY when they compose messages.

      • giphy_content_rating

        integer, possible values: 1, 2, 3, 4 — Set the GIPHY content rating. This feature is only available for Zoom Client v5.11.0 or later.

    • send_data_to_third_party_archiving_service

      object — Send data to third-party archiving service.

      • authorized_channel_token

        string — Authorized channel token. It is used when the field `type` value is `smarsh`, and it is required.

      • enable

        boolean — Allow users to send data to third-party archiving service.

      • passcode

        string — passcode. It is used when the field `type` value is `global_relay`, and it is required.

      • smtp_delivery_address

        string — SMTP delivery address. It is used when the field `type` value is `global_relay`, and it is required.

      • type

        string, possible values: "global_relay", "smarsh" — The type of global relay. * `global_relay` - The participant cannot use chat. * `smarsh` - Host and co-hosts only.

      • user_name

        string — User name. It is used when the field `type` value is `global_relay`, and it is required.

    • set_chat_as_default_tab

      boolean — Set Team Chat as a default tab for first-time users

    • set_retention_period_in_cloud

      object — Set retention period for messages and files in Zoom's cloud.

      • enable

        boolean — By default, messages and files are stored in Zoom's cloud. Enable this setting to specify when they are deleted. When retention is disabled, messages sent by offline users can be received within 7 days before they are deleted.

      • retention_period_of_channels

        string — Delete data in channels after retention period. 'y' - year, 'm' - month, 'd' - day

      • retention_period_of_direct_messages_and_group_conversation

        string — Delete direct messages and group conversations after retention period. 'y' - year, 'm' - month, 'd' - day

    • set_retention_period_in_local

      object — Store messages on local devices, excluding personal channel messages.

      • enable

        boolean — Specify how long your messages are saved on local devices. If this setting is disabled, messages are never deleted locally.

      • retention_period_of_channels

        string — Delete data in channels after retention period. 'y' - year, 'm' - month, 'd' - day

      • retention_period_of_direct_messages_and_group_conversation

        string — Delete direct messages and group conversations after retention period. 'y' - year, 'm' - month, 'd' - day

    • share_files

      object — Users can share and view files in chats and channels.

      • enable

        boolean — Allow users to view, share, and forward files in chats and channels. When disabled, users can still take, share, and forward screenshots; record and forward voice and video messages; send and forward GIF images; and send and forward code snippets if those specific settings are enabled.

      • restrictions

        object — User restrictions for sharing and viewing files in chats and channels.

        • file_restrictions_apply_to

          string, possible values: "sharing_and_viewing", "sharing" — Apply restrictions to both sharing and viewing, or only apply to sharing

        • file_size_restrictions

          integer, possible values: 50, 100, 200, 300, 400, 500 — Maximum file size

        • file_size_restrictions_for_external

          integer, possible values: 50, 100, 200, 300, 400, 500 — Maximum file size for external users

        • file_type_restrictions

          array — Specified file types for all users.

          Items:

          string, possible values: ".gz", ".rar", ".zip", ".xls", ".xlsx", ".json", ".png", ".pptx", ".ppt", ".7z", ".xmind", ".pdf", ".pps", ".txt", ".docx", ".doc" — Specified file type.

        • file_type_restrictions_for_external

          array — Specified file types for external users.

          Items:

          string, possible values: ".gz", ".rar", ".zip", ".xls", ".xlsx", ".json", ".png", ".pptx", ".ppt", ".7z", ".xmind", ".pdf", ".pps", ".txt", ".docx", ".doc" — Specified file type.

        • maximum_file_size

          boolean — Whether to restrict file size

        • only_allow_specific_file_types

          boolean — Only allow specified file types.

      • share_option

        string, possible values: "disable", "anyone", "account", "organization" — Allow users of this account to send files in chats and channels.

      • view_option

        string, possible values: "anyone", "account", "organization" — Allow users of this account to view files in chats and channels.

    • share_links_in_chat

      boolean — Share links to messages and channels in Team Chat.

    • share_screen_in_chat

      boolean — Share screen in chat

    • shared_spaces

      boolean — Allow users to create Shared Spaces

    • show_h323_contact_tab

      boolean — Show H.323 contacts

    • show_status_to_internal_contact

      boolean — Show status to internal contacts

    • store_revise_chat

      boolean — Store edited and deleted message revisions

    • suppress_removal_notification

      boolean — Suppress deleted, deactivated, and reactivated user notice in group chats and channels

    • suppress_user_group_notification

      boolean — Suppress add and remove user notice in channels

    • survey_poll

      boolean — Allow users to launch a poll in chats and channels

    • translate_messages

      boolean — Allow users to translate team chat messages. [Learn more].(https://support.zoom.us/hc/en-us/articles/12998089084685)

  • email_notification

    object — Account Settings: Notification.

    • alternative_host_reminder

      boolean — Notify when an alternative host is set or removed from a meeting.

    • cancel_meeting_reminder

      boolean — Notify the host and participants when a meeting is cancelled.

    • cloud_recording_available_reminder

      boolean — Whether to notify the host when a cloud recording is available.

    • jbh_reminder

      boolean — Notify the host when participants join the meeting before them.

    • low_host_count_reminder

      boolean — Notify user when host licenses are running low.

    • recording_available_reminder_alternative_hosts

      boolean — Whether to notify any alternative hosts when a cloud recording is available.

    • recording_available_reminder_schedulers

      boolean — Whether to notify the person who scheduled the meeting or webinar for the host when a cloud recording is available.

    • schedule_for_reminder

      boolean — Notify the host there is a meeting is scheduled, rescheduled, or cancelled.

  • feature

    object — Account Settings: Feature.

    • meeting_capacity

      integer — Set the maximum number of participants a host can have in a single meeting.

  • general_setting

    object — General settings.

    • auto_zoom_room_proximity_connect

      boolean — Allow automatic direct sharing and connecting to Zoom Rooms using ultrasonic proximity signal.

    • show_zoom_room_feature

      boolean — Show "Zoom Room" feature in the Zoom Workplace app.

  • in_meeting

    object — In Meeting Account Settings

    • alert_guest_join

      boolean — Whether to enable [guest participant](https://support.zoom.us/hc/en-us/articles/115004791123-Identifying-guests-in-the-meeting-webinar) alerts.

    • allow_host_panelists_to_use_audible_clap

      boolean — Whether to allow host and panelist to use audible clap.

    • allow_host_to_enable_focus_mode

      boolean — Whether the host can enable [**Focus Mode**](https://support.zoom.us/hc/en-us/articles/360061113751-Using-focus-mode) when scheduling a meeting. This value defaults to `null`.

    • allow_live_streaming

      boolean — Whether to allow livestreaming.

    • allow_participants_chat_with

      integer, possible values: 1, 2, 3, 4 — Whether to allow participants to only chat with certain groups. * `1` - The participant cannot use chat. * `2` - Host and co-hosts only. * `3` - The participant can chat with other participants publicly. * `4` - The participant can chat with other participants publicly and privately. **Note:** This setting is only available with client versions 5.7.3 and above.

    • allow_participants_to_rename

      boolean — Whether to allow meeting participants to rename themselves during a meeting.

    • allow_show_zoom_windows

      boolean — Whether to enable the [**Show Zoom windows during screen share**](https://support.zoom.us/hc/en-us/articles/360061383571-Showing-Zoom-windows-during-screen-share) feature.

    • allow_users_save_chats

      integer, possible values: 1, 2, 3 — Whether to allow participants to save meeting chats. * `1` - Participants cannot save meeting chats. * `2` - Participants can only save host and co-host meeting chats. * `3` - Participants can save all meeting chats.

    • allow_users_to_delete_messages_in_meeting_chat

      boolean — If the value of this field is set to `true`, allow users to delete messages in the in-meeting chat.

    • annotation

      boolean — Whether to allow meeting participants to use the [annotation tools](https://support.zoom.us/hc/en-us/articles/115005706806).

    • anonymous_question_answer

      boolean — Whether to enable anonymous Q&amp;A.

    • attendee_on_hold

      boolean, default: false — Whether to allow the host to put an attendee on hold. This value defaults to `false`. **This field has been deprecated and is no longer supported.**

    • attention_mode_focus_mode

      boolean, default: false — Whether to enable [**Focus Mode**](https://support.zoom.us/hc/en-us/articles/360061113751-Using-focus-mode). When enabled, this feature only displays the host and co-hosts' video and profile pictures during a meeting. This value defaults to `false`.

    • auto_answer

      boolean — Whether to enable the [**Auto-answer group in chat**](https://support.zoom.us/hc/en-us/articles/203736135-Auto-answering-invitations-to-meetings) setting. Calls from these group members will be answered automatically.

    • auto_generated_translation

      object — The [translated captions](https://support.zoom.us/hc/en-us/articles/6643133682957-Enabling-and-configuring-translated-captions) setting in meetings.

      • enable

        boolean — The option for participants to enable the automated translation captions in meetings.

      • language_item_pairList

        object — The input speaking language and output caption language pair list.

        • all

          boolean — The option to select all language pairs.

        • trans_lang_config

          array — The speaking language and caption language list.

          Items:

          • speak_language

            object — The input speaking language in meetings.

            • code

              string, possible values: "zh", "nl", "en", "fr", "de", "it", "ja", "ko", "pt", "ru", "es", "uk" — The input speaking language [code](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#languages).

            • name

              string, possible values: "Chinese (Simplified)", "Dutch", "English", "French", "German", "Italian", "Japanese", "Korean", "Portuguese", "Russian", "Spanish", "Ukrainian" — The input speaking language.

          • translate_to

            object — The translated output caption language.

    • auto_saving_chat

      boolean — Whether to automatically save all in-meeting chats.

    • breakout_room

      boolean — Whether to allow the meeting host to split meeting participants into separate breakout rooms.

    • breakout_room_schedule

      boolean — Whether the host can assign participants to breakout rooms when scheduling. This feature is **only** available in version 4.5.0 or higher.

    • chat

      boolean — Whether to enable chat during meeting for all participants.

    • closed_caption

      boolean — Whether to enable closed captions.

    • closed_captioning

      object — Information about the account's closed captioning settings.

    • co_host

      boolean — Whether to allow the host to add co-hosts.

    • custom_data_center_regions

      boolean — Whether to use custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-meetings-webinars). * `true` - Users can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting real-time meeting traffic. The data center regions can be provided in the `data_center_regions` field. * `false` - Only use the default data center regions.

    • custom_live_streaming_service

      boolean — Whether to allow custom livestreaming.

    • custom_service_instructions

      string — The specific instructions to configure a custom livestream.

    • data_center_regions

      array — If the value of `custom_data_center_regions` is `true`, a comma-separated list of the following [data center regions](https://support.zoom.us/hc/en-us/articles/360059254691-Datacenter-abbreviation-list) to opt in to. * `AU` - Australia. * `LA` - Latin America. * `CA` - Canada. * `CN` - China. * `DE` - Germany. * `HK` - Hong Kong SAR. * `IN` - India. * `IE` - Ireland. * `TY` - Japan. * `MX` - Mexico. * `NL` - Netherlands. * `SG` - Singapore. * `US` - United States.

      Items:

      string, possible values: "AU", "LA", "CA", "CN", "DE", "HK", "IN", "IE", "TY", "MX", "NL", "SG", "US"

    • disable_screen_sharing_for_host_meetings

      boolean — Whether to enable the **Disable desktop screen sharing for meetings you host** setting.

    • disable_screen_sharing_for_in_meeting_guests

      boolean — Whether to enable the **Disable screen sharing when guests are in the meeting** setting.

    • dscp_audio

      integer, default: 56 — The DSCP audio marking value. This value defaults to `56`.

    • dscp_dual

      boolean — Whether to use the differentiated services code point classifiers ('dscp_video', 'dscp_audio') in the dual way (incoming and outgoing).

    • dscp_marking

      boolean — Whether to enable [differentiated services code point (DSCP)](https://en.wikipedia.org/wiki/Differentiated_services) marking.

    • dscp_video

      integer, default: 40 — The DSCP video marking value. This value defaults to `40`.

    • e2e_encryption

      boolean — Whether to require [AES encryption](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) for meetings.

    • entry_exit_chime

      string, possible values: "host", "all", "none" — When to play the meeting entry or exit sound notification. * `host` - Only when the host joins or leaves. * `all` - When any participant joins or leaves. * `none` - Disable the entry/exit sound notification.

    • far_end_camera_control

      boolean — Whether to allow another user to take control of the user's camera.

    • feedback

      boolean — Whether to enable the [**Feedback to Zoom**](https://support.zoom.us/hc/en-us/articles/115005838023-Feedback-to-Zoom) setting.

    • file_transfer

      boolean — Whether to enable the [**Send files via meeting chat**](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting.

    • group_hd

      boolean — Whether to enable group HD video in Meeting.

    • join_from_desktop

      boolean — Whether to allow participants to join a meeting directly from their desktop browser. Note that the meeting experience from the desktop browser is limited.

    • join_from_mobile

      boolean — Whether to allow participants to join a meeting directly from their mobile browser. Note that the meeting experience from the mobile browser is limited.

    • language_interpretation

      object — Information about the [language interpretation](https://support.zoom.us/hc/en-us/articles/360034919791-Using-Language-Interpretation-in-your-meeting-or-webinar) settings.

      • allow_participants_to_speak_in_listening_channel

        boolean — Whether to allow participants to speak in the listening channel.

      • allow_up_to_25_custom_languages_when_scheduling_meetings

        boolean — Whether to allow up to 25 custom languages when scheduling meetings.

      • custom_languages

        array — A list of user-defined supported languages.

        Items:

        string

      • enable

        boolean — Whether to allow hosts to assign participants as interpreters who can interpret one language into another in real-time.

      • enable_language_interpretation_by_default

        boolean — Whether to enable language interpretation by default.

    • live_streaming_facebook

      boolean — Whether to allow Facebook livestreaming.

    • live_streaming_youtube

      boolean — Whether to allow YouTube livestreaming.

    • manual_captioning

      object — Information about manual captioning settings.

    • meeting_data_transit_and_residency_method

      string, possible values: "cloud", "On-Prem" — Select meeting data transit and residency method for meeting hosts and participants. `cloud` - Zoom Cloud. `On-Prem` - On-Prem (Zoom Meeting Connector, only applicable for licensed users).

    • meeting_polling

      object — Information about the account's meeting polling settings.

      • advanced_polls

        boolean — Whether to allow the host to create advanced polls and quizzes. Advanced polls and quizzes include single choice, multiple choice, drop down, matching, short answer, long answer, rank order, and fill-in-the-blank questions. Hosts can also set the correct answers for quizzes they create.

      • allow_alternative_host_to_add_edit

        boolean — Whether to allow the alternative host to add or edit polls and quizzes.

      • allow_host_to_upload_image

        boolean — Whether to allow host to upload an image for each question.

      • enable

        boolean — Whether to allow the host to add polls before or during a meeting.

      • manage_saved_polls_and_quizzes

        boolean — Whether to allow users to manage saved polls and quizzes from meetings.

      • require_answers_to_be_anonymous

        boolean — Whether to require answers to be anonymous.

    • meeting_question_answer

      boolean — Allow participants to ask questions for the host and participants to answer.

    • meeting_reactions

      boolean — Whether meeting participants can [communicate using the emoji reactions](https://support.zoom.us/hc/en-us/articles/115001286183-Nonverbal-feedback-and-meeting-reactions) located in the **Reactions** menu in the meeting toolbar.

    • meeting_reactions_emojis

      string, possible values: "all", "selected" — Choose from the following meeting reaction options. * `all` - All emojis: Allow meeting participants to use any emoji available in Zoom chat as a reaction in a meeting. * `selected` - Selected emojis: Allow meeting participants to use the 6 standard meeting reaction emojis: Clapping Hands, Thumbs Up, Heart, Tears of Joy, Open Mouth, Party Popper (Tada, Celebration)

    • meeting_survey

      boolean — Whether to allow the host to present a survey to participants once a meeting has ended. This feature is only available in version 5.7.3 or higher.

    • non_verbal_feedback

      boolean, default: false — Whether to enable the [**Non-verbal feedback**](https://support.zoom.us/hc/en-us/articles/115001286183-Nonverbal-feedback-and-meeting-reactions-) setting. This value defaults to `false`.

    • original_audio

      boolean — Whether to allow users to select original sound in their client settings.

    • p2p_connetion

      boolean — Whether to enable the [**Peer to Peer connection while only 2 people are in a meeting**](https://support.zoom.us/hc/en-us/articles/360061410851-Enabling-Peer-to-Peer-connection-for-2-people-in-a-meeting) setting.

    • p2p_ports

      boolean — Whether to enable the **Listening ports range** setting.

    • participants_share_simultaneously

      string, possible values: "multiple", "one" — Indicates how many participants can share at the same time. The value can be one of the following: `one`: Only one participant can share at a time . `multiple`: Multiple participants can share simultaneously (dual monitors recommended).

    • polling

      boolean — Whether to add polls to the meeting controls.

    • ports_range

      string, default: "" — When the `p2p_ports` value is `true`, the value is a semi-colon list of the peer to peer listening ports range between `1` to `65535`. This value defaults to an empty string.

    • post_meeting_feedback

      boolean — Whether to display a thumbs up or thumbs down feedback survey at the end of each meeting.

    • private_chat

      boolean — Whether to [enable private chat](https://support.zoom.us/hc/en-us/articles/360060835932-Enabling-and-disabling-private-chat) between participants during meetings.

    • record_play_own_voice

      boolean — Whether to let the user record and play their own voice.

    • remote_control

      boolean — Whether to enable the [**Remote control**](https://support.zoom.us/hc/en-us/articles/201362673-Requesting-or-giving-remote-control) setting.

    • remote_support

      boolean, default: false — Whether to enable the [**Remote support**](https://support.zoom.us/hc/en-us/articles/360060951012-Enabling-remote-support) setting. This value defaults to `false`.

    • request_permission_to_unmute_participants

      boolean — Whether to enable the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting) setting.

    • screen_sharing

      boolean — Whether to allow hosts and participants to share their screen or content during meetings.

    • sending_default_email_invites

      boolean — Whether to enable the [**Only show default email when sending email invites**](https://support.zoom.us/hc/en-us/articles/360061433531-Showing-default-email-when-sending-email-invites) setting.

    • show_a_join_from_your_browser_link

      boolean — Whether to allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is useful for participants who cannot download, install, or run applications. Note that the meeting experience from the browser is limited.

    • show_meeting_control_toolbar

      boolean — Whether to display the in-meeting control toolbar.

    • sign_language_interpretation

      object — Allow hosts to assign participants as sign language interpreters who can interpret one language into sign language in real-time. Hosts can assign interpreters when scheduling, or during the meeting itself. This feature is only available with version 5.11.3 or later.

      • custom_languages

        array — A list of user-defined supported languages.

        Items:

        string

      • enable

        boolean — Whether to allow hosts to assign participants as sign language interpreters who can interpret one language into another in real-time.

      • enable_sign_language_interpretation_by_default

        boolean — Whether to enable sign language interpretation view by default in scheduler.

    • slide_control

      boolean — Whether the person sharing during a presentation can allow others to control the slide presentation. This feature is only available in version 5.8.3 or higher.

    • stereo_audio

      boolean — Whether to allow users to select stereo audio in their client settings.

    • transfer_meetings_between_devices

      boolean — Users can move to a new device without leaving the meeting they're in.

    • use_html_format_email

      boolean — Whether to enable the use of HTML-formatted emails for the Outlook plugin.

    • virtual_background

      boolean — Whether to enable Virtual Backgrounds.

    • virtual_background_settings

      object — The account's Virtual Background settings.

      • allow_upload_custom

        boolean — Whether to allow user to upload custom Virtual Backgrounds.

      • allow_videos

        boolean — Whether to allow the use of videos for Virtual Backgrounds.

      • enable

        boolean — Whether to enable Virtual Backgrounds.

      • files

        array — Information about the Virtual Background files.

        Items:

        • id

          string — The Virtual Background file's ID.

        • is_default

          boolean — Whether the file is the default Virtual Background file.

        • name

          string — The Virtual Background file's name.

        • size

          integer — The Virtual Background file's size, in bytes.

        • type

          string — The Virtual Background file's type.

    • watermark

      boolean — Whether to include a [watermark](https://support.zoom.us/hc/en-us/articles/209605273-Adding-an-image-watermark) when viewing a shared screen.

    • webinar_chat

      object — Information about the account's webinar chat settings.

      • allow_attendees_chat_with

        integer, possible values: 1, 2, 3 — Who to let webinar attendees chat with. * `1` - No one. * `2` - Host and all panelists. * `3` - Everyone.

      • allow_auto_save_local_chat_file

        boolean — Whether to automatically save chat messages to a local file on the host's computer when the webinar ends.

      • allow_panelists_chat_with

        integer, possible values: 1, 2 — Who to let webinar panelists chat with. * `1` - Host and all panelists. * `2` - Everyone.

      • allow_panelists_send_direct_message

        boolean — Whether to allow webinar panelists to send direct messages to other panelists.

      • allow_users_save_chats

        integer, possible values: 0, 1, 2 — Whether to allow webinar attendees to save chats. * `0` - Attendees cannot save chats. * `1` - Attendees can only save host and panelist chats. * `2` - Attendees can save all chats.

      • default_attendees_chat_with

        integer, possible values: 1, 2 — By default, allow webinar attendees to chat with: * `1` - Host and all panelists. * `2` - Everyone.

      • enable

        boolean — Whether to allow webinar participants to send chat messages.

    • webinar_group_hd

      boolean — Whether to enable group HD video in Webinar.

    • webinar_live_streaming

      object

      • custom_service_instructions

        string — The specific instructions to allow the account's meeting hosts to configure a custom livestream.

      • enable

        boolean — Whether to enable webinar livestreaming.

      • live_streaming_reminder

        boolean — Whether to notify users to watch the livestream. This does not apply to custom RTMP (real-time messaging protocol).

      • live_streaming_service

        array — The available livestreaming services. * `facebook` - Facebook. * `workplace_by_facebook` - Workplace by Facebook. * `youtube` - YouTube. * `custom_live_streaming_service` - Custom Live Streaming Service.

        Items:

        string, possible values: "facebook", "workplace_by_facebook", "youtube", "custom_live_streaming_service"

    • webinar_polling

      object — Information about the account's webinar polling settings.

      • advanced_polls

        boolean — Whether to allow the host to create advanced polls and quizzes. Advanced polls and quizzes include single choice, multiple choice, drop down, matching, short answer, long answer, rank order, and fill-in-the-blank questions. Hosts can also set the correct answers for quizzes they create.

      • allow_alternative_host_to_add_edit

        boolean — Whether to allow the alternative host to add or edit polls and quizzes.

      • allow_host_to_upload_image

        boolean — Whether to allow host to upload an image for each question.

      • enable

        boolean — Whether to allow the host to add polls before or during a webinar.

      • manage_saved_polls_and_quizzes

        boolean — Whether to allow users to manage saved polls and quizzes from Webinars

      • require_answers_to_be_anonymous

        boolean — Whether to require answers to be anonymous.

    • webinar_question_answer

      boolean — Whether attendees can ask the host and panelists questions in the webinar.

    • webinar_reactions

      boolean — Set this field to true to use [webinar reactions](https://support.zoom.us/hc/en-us/articles/4803536268429).

    • webinar_survey

      boolean — Whether to allow the host to present surveys to attendees once a webinar has ended.

    • whiteboard

      boolean — Whether to enable the [**Zoom Whiteboard**](https://support.zoom.us/hc/en-us/articles/4410916881421) feature.

    • who_can_share_screen

      string, possible values: "host", "all" — The type of user who can share their screen or content during meetings. * `host` - Only hosts can screen share. * `all` - Both hosts and participants can screen share.

    • who_can_share_screen_when_someone_is_sharing

      string, possible values: "host", "all" — The type of user that can begin sharing their screen when someone else in the meeting is sharing their screen. * `host` - Only hosts can screen share when someone else is sharing. * `all` - Both hosts and participants can screen share when someone else is sharing.

    • workplace_by_facebook

      boolean — Whether to allow Workplace by Facebook livestreaming.

  • integration

    object — Account Integration Settings

    • box

      boolean — Whether to allow users who join a meeting from their mobile device to share content from their Box account.

    • dropbox

      boolean — Whether to allow users who join a meeting from their mobile device to share content from their Dropbox account.

    • google_calendar

      boolean — Whether to enable the scheduling of meetings using Google Calendar.

    • google_drive

      boolean — Whether to allow users who join a meeting from their mobile device to share content from their Google Drive.

    • kubi

      boolean — Whether to allow users to control a connected Kubi device from within a Zoom meeting.

    • microsoft_one_drive

      boolean — Whether to allow users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.

  • mail_calendar

    object — Email and calendar related settings.

    • email_calendar_management

      boolean — Allow the Zoom client to manage both emails and calendar events for the user.

    • email_management

      boolean — Allow the Zoom client to manage user emails.

    • zoom_email_provider

      boolean — Allow users to select Zoom as their email service provider.

  • other_options

    object

    • allow_auto_active_users

      boolean — If true, administrators can activate users with a single default passcode when adding users. This activates added users immediately without waiting for them to set their own passcode.

    • allow_users_contact_support_via_chat

      boolean — If true, displays the Zoom Help badge on the bottom-right of the page.

    • allow_users_enter_and_share_pronouns

      boolean — If true, users can add pronouns to their profile cards and share them during meetings and webinars.

    • blur_snapshot

      boolean — If true, iOS blurs the screenshot in the task switcher when multiple apps are open. Android hides the screenshot in the system-level list of recent apps.

    • display_meetings_scheduled_for_others

      boolean — If true, a user with [scheduling privileges](https://support.zoom.us/hc/en-us/articles/201362803-Scheduling-privilege) can view other users' meetings.

    • email_in_attendee_report_for_meeting

      boolean — If true, include authenticated guests' email addresses in attendee reports for meetings.

    • meeting_qos_and_mos

      integer, possible values: 0, 1, 2, 3 — The dashboard meeting [quality scores and network alerts](https://support.zoom.us/hc/en-us/articles/360061244651) setting. * `0` - Do not enable meeting quality scores and network alerts on the dashboard. * `1` - Display the meeting quality score and network alerts on the dashboard. * `2` - Use custom thresholds for quality scores and network alerts. * `3` - Display the meeting quality score and network alerts on the dashboard and use custom thresholds for quality scores and network alerts.

    • show_one_user_meeting_on_dashboard

      boolean — If true, meetings with only one person will display on the dashboard and in reports.

    • use_cdn

      string, possible values: "none", "default", "wangsu" — Allow connections to different CDNs (content delivery networks) for a better web browsing experience. All users in your organization will use the selected CDN to access static resources. * `none` - Do not use a CDN. * `default` - Use the Amazon CloudFront CDN for users **except** Chinese Mainland users. Chinese Mainland users will use the Wangsu CDN (China). * `wangsu` - Use the Wangsu CDN for all users.

    • webinar_registration_options

      object — Webinar registration options.

      • allow_host_to_enable_join_info

        boolean — Allow host to enable **Show join info on registration confirmation page**.

      • allow_host_to_enable_social_share_buttons

        boolean — Allow host to enable **Show social share buttons on registration page**.

      • enable_custom_questions

        boolean — Enable custom questions.

  • profile

    object

  • recording

    object — Account Settings: Recording.

    • account_user_access_recording

      boolean — Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.

    • allow_add_cloud_recordings_to_zoom_clips

      boolean — Allow users to add cloud recordings to Zoom Clips

    • allow_cmr_3rd_party_bot

      boolean — Allow 3rd-party recording

    • allow_invitees_access_recordings_without_passcode

      boolean — Allow invitees to access recordings without the passcode

    • allow_recovery_deleted_cloud_recordings

      boolean — Allow recovery of deleted cloud recordings from trash. If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.

    • allow_revenue_accelerator_manage_recording_separate_auto_delete

      boolean — Allow Zoom Revenue Accelerator to manage recording files with separate auto-delete settings

    • allow_share

      boolean — Allow cloud recording sharing

    • archive

      object — [Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team.

      • enable

        boolean — Enable the archiving feature.

      • settings

        object

        • action_when_archive_failed

          integer, possible values: 1, 2 — Perform the action when meetings or webinars cannot be archived. `1` - Participants can stay in the meeting and will receive a notification. `2` - Nobody can join or stay in the meeting.

        • archive_retention

          integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 — The retention period for archiving content, in days.

        • audio_file

          boolean — Include in-meeting and/or in-webinar audio in the archive.

        • cc_transcript_file

          boolean — Include closed caption or transcript in the archive.

        • chat_file

          boolean — Include in-meeting chat in the archive.

        • chat_with_direct_message

          boolean — Include direct message in in-meeting chat file.

        • chat_with_sender_email

          boolean — Include user email in in-meeting chat file.

        • notification_when_archiving_starts

          string, possible values: "participants", "guest" — Show notification when video or audio archiving starts. `1` - Participants can stay in the meeting and will receive a notification. `2` - Nobody can join or stay in the meeting.

        • play_voice_prompt_when_archiving_starts

          string, possible values: "participants", "guest", "none" — Play voice prompt when video or audio archiving starts. `1` - Participants can stay in the meeting and will receive a notification. `2` - Nobody can join or stay in the meeting.

        • video_file

          boolean — Include in-meeting and/or in-webinar video in the archive.

      • type

        integer, possible values: 1, 2, 3 — Archive types. * `1`: Only meetings are archived. * `2`: Only webinars are archived. * `3`: Both meetings and webinars are archived.

    • authenticated_view_cloud_recoding

      object — Require users to authenticate before viewing cloud recordings

      • authenticated_can_view_cloud_recordings

        boolean — Main setting value

      • default_authenticate_content

        string, possible values: "Signed-in users in my account", "Sign in to Zoom", "Sign in to Zoom with specified domains", "Sign in to external Single Sign-On (SSO)", "Only people with access" — Default authentication option

    • auto_delete_cmr

      boolean — Allow Zoom to permanently delete recordings automatically after a specified number of days.

    • auto_delete_cmr_days

      integer, possible values: 30, 60, 90, 120 — When the `auto_delete_cmr` value is `true`, this value is the number of days before the auto-deletion of cloud recordings. * `30` - 30 days. * `60` - 60 days. * `90` - 90 days. * `120` - 120 days.

    • auto_recording

      string, possible values: "local", "cloud", "none" — Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.

    • cloud_recording

      boolean — Allow hosts to record and save the meeting in the cloud.

    • cloud_recording_download

      boolean — Cloud recording downloads.

    • cloud_recording_download_host

      boolean — Only the host can download cloud recordings.

    • cloud_recording_permanently_deleted

      object — When the cloud recording is going to be permanently deleted from trash

      • cloud_recording_permanently_deleted_from_trash

        boolean — Main setting value

      • email_reminder_type

        string, possible values: "7 days before deletion", "Weekly digest on Monday" — Selected email reminder

    • display_participant_name

      boolean — Whether to display participants' names in the recording.

    • durable_meeting_transcript

      object — Allow users to retain, access,and manage transcripts generated by AI Companion features for use by other AI Companion services.

      • allow_host_access_meeting_transcript

        boolean — Allow hosts to access and manage transcripts

      • durable_meeting_transcript

        boolean — Main setting value

    • embed_passcode_in_shareable_link

      boolean — Embed passcode in the shareable link for one-click access

    • host_delete_cloud_recording

      boolean — If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.

    • ip_address_access_control

      object — Setting to allow cloud recording access only from specific IP address ranges.

      • enable

        boolean — If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.

      • ip_addresses_or_ranges

        string — IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number. Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`

    • local_recording

      boolean — Allow hosts and participants to record the meeting using a local file.

    • local_recording_options

      object — local recording child options

      • external_auto_approve_requests

        boolean — Auto approve their permission requests

      • external_meeting_participants

        boolean — External meeting participants

      • internal_auto_approve_requests

        boolean — Auto approve their permission requests

      • internal_meeting_participants

        boolean — Internal meeting participants

      • participants_specified_domains_auto_approve_requests

        string — Participants matching this option will take the precedence regardless the above two options.

      • participants_with_specified_domains

        boolean — Meeting participants with specified domains

      • save_chat_messages

        boolean — Save chat messages from the meeting / webinar

      • save_closed_caption

        boolean — Save closed caption as a VTT file

    • notification_subscription_url_when_recording_available

      boolean — Push notification to subscription URL when a cloud recording is available

    • optimize_recording_for_3rd_party_video_editor

      boolean — Whether to optimize recordings for a 3rd party video editor. This may increase the file size and the time it takes to generate recording files.

    • prevent_host_access_recording

      boolean — If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.

    • record_audio_file

      boolean — Whether to record one audio file for all participants.

    • record_audio_file_each_participant

      boolean — Whether to record a separate audio file for each participant. This only supports a maximum of 200 participants' audio files.

    • record_files_separately

      object — The account's [**Record active speaker, gallery view and shared screen separately**](https://support.zoom.us/hc/en-us/articles/360060316092-Changing-basic-and-advanced-cloud-recording-settings#h_01F4CYJTCTXNS2MXH00W9EFG6R) settings.

      • active_speaker

        boolean — Whether to record the active speaker only.

      • gallery_view

        boolean — Whether to record the gallery view only.

      • shared_screen

        boolean — Whether to record the shared screen only.

    • record_gallery_view

      boolean — Record the gallery view with a shared screen.

    • record_speaker_view

      boolean — Record the active speaker with a shared screen.

    • recording_as_on_demand

      boolean — Set recording as on-demand by default

    • recording_audio_transcript

      boolean — Automatically transcribe the audio of the meeting or webinar to the cloud.

    • recording_disclaimer

      boolean — Show a disclaimer to participants before a recording starts This field has been deprecated. The replacement field is recording_notification_for_zoom_client

    • recording_highlight

      boolean — Whether to enable the [recording highlights](https://support.zoom.us/hc/en-us/articles/360060802432) feature.

    • recording_notification_for_zoom_client

      object — Setting name: Recording notifications - Zoom clients

      • ask_host_to_confirm

        boolean — Update Child setting name is [Ask host to confirm before starting a recording], true: enable, false: disable

      • disclaimer_to_participants

        string, possible values: "All participants", "Guest only" — Update child setting name is [Show a disclaimer to participants when a recording starts]. The value is feature name, its includes "All participants" or "Guest only".

      • play_voice_prompt

        string, possible values: "All participants", "Guest only", "No one" — Update child setting name is [Play voice prompt for]. The value is feature name, its includes "All participants" or "Guest only" or "No one"

    • recording_notifications_phone_users

      object — Recording notifications - Phone users

      • multiple_notifications_phone_users

        boolean — Multiple notifications for phone users

      • require_press_one_consent_to_record

        boolean — Require phone-only users to press 1 to consent to being recorded

    • recording_password_requirement

      object — This object represents the minimum passcode requirements set for recordings via Account Recording Settings.

      • have_letter

        boolean — Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).

      • have_number

        boolean — Indicates whether or not passcode must contain at least one number(1, 2, 3..).

      • have_special_character

        boolean — Indicates whether or not passcode must contain at least one special character(!, @, #..).

      • length

        integer — Minimum required length for the passcode.

      • only_allow_numeric

        boolean — Indicates whether or not passcode must contain only numeric characters.

    • recording_storage_email_notifications

      boolean — Recording storage email notifications

    • recording_thumbnails

      boolean — Whether to record thumbnails of the presenter when they are sharing their screen.

    • required_password_for_existing_cloud_recordings

      boolean — Require a passcode to access existing cloud recordings.

    • required_password_for_shared_cloud_recordings

      boolean — Whether to require a passcode to share cloud recordings.

    • save_chat_text

      boolean — Save the chat text from the meeting.

    • save_close_caption

      boolean — Whether to save [closed captions](https://support.zoom.us/hc/en-us/articles/207279736) as a VTT (Video Track Text) file.

    • save_panelist_chat

      boolean — Whether to save panelist chat to the recording. This setting saves messages sent by panelists during a webinar to either all panelists or all panelists and attendees to the recording.

    • save_poll_results

      boolean — Whether to save poll results shared during the meeting or webinar. This also includes poll results shared during the meeting or webinar.

    • show_timestamp

      boolean — Add a timestamp to the recording.

    • smart_recording

      object — By selecting this option, your recording will have meeting smart chapters, and next steps. You are directing Zoom to access, process, and use your account's recording data for the purpose of analysis and insights.

      • create_next_steps

        boolean — By selecting this option, there will be a summary of actions to take after the recorded meeting.

      • create_recording_highlights

        boolean — By selecting this option, meeting details in the audio transcript will be highlighted. Hosts can modify highlighted sections and generate a video summary (highlighted sections may have a 3-second offset) based on these sections. The summary is for informational purposes only and may not be complete.

      • create_smart_chapters

        boolean — By selecting this option, your recording will have chapters with overview. Hosts can edit the chapters.

    • upload_custom_caption

      boolean — Allow host to upload custom caption

    • upload_recording

      boolean — Upload recording to the cloud

    • viewer_see_chat

      boolean — Viewers see chat

    • viewer_see_transcript

      boolean — Viewers can see the transcript

    • water_marker_recording

      boolean — add water marker for recording

  • schedule_meeting

    object — Account Settings: Schedule Meeting.

    • allow_host_to_disable_participant_video

      boolean — Allow host to disable participant video when scheduling a meeting.

    • always_display_zoom_meeting_as_topic

      object — Information about the [**Always display `Zoom Meeting` as the meeting topic**](https://support.zoom.us/hc/en-us/articles/201363253-Changing-account-settings#h_01EG9BJ646V2WJK1S3H2MP6YV6) setting.

      • display_topic_for_scheduled_meetings

        boolean — Whether to display **Zoom Meeting** as the topic for already-scheduled meetings.

      • enable

        boolean — Whether to enable the **Always display `Zoom Meeting` as the meeting topic** setting.

    • always_display_zoom_webinar_as_topic

      object — Information about the [**Always show `Zoom Webinar` as the webinar topic**](https://support.zoom.us/hc/en-us/articles/201363253-Changing-account-settings#h_01EG9BJ646V2WJK1S3H2MP6YV6) setting.

      • display_topic_for_scheduled_webinars

        boolean — Whether to display **Zoom Webinar** as the topic for already-scheduled meetings.

      • enable

        boolean — Whether to enable the **Always show `Zoom Webinar` as the webinar topic** setting.

    • audio_type

      string, possible values: "both", "telephony", "voip", "thirdParty", default: "both" — Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.

    • continuous_meeting_chat

      object — Information about the **Enable continuous meeting chat** feature.

      • auto_add_invited_external_users

        boolean — Whether to enable the **Automatically add invited external users** setting.

      • can_add_external_users

        boolean — Whether to enable the **External users can be added** setting.

      • enable

        boolean — Whether to enable the **Enable continuous meeting chat** setting.

    • enable_dedicated_group_chat

      boolean — Enable dedicated group chats for meeting conversations.

    • enforce_login

      boolean — Only Zoom users who are signed in can join meetings.

    • enforce_login_domains

      string — Only signed in users with a specified domain can join the meeting.

    • enforce_login_with_domains

      boolean — Only signed in users with a specific domain can join meetings.

    • force_pmi_jbh_password

      boolean — Require a passcode for Personal Meetings if attendees can join before host.

    • hide_meeting_description

      object — Information about the **Hide meeting description** feature.

      • enable

        boolean — Whether to enable the **Hide meeting description** setting.

      • hide_description_for_scheduled_meetings

        boolean — Whether to hide the description for already-scheduled meetings.

    • hide_webinar_description

      object — Information about the **Hide webinar description** feature.

      • enable

        boolean — Whether to enable the **Hide webinar description** setting.

      • hide_description_for_scheduled_webinars

        boolean — Whether to hide webinar description for the webinars which have already been scheduled.

    • host_video

      boolean — Start meetings with the host video on.

    • jbh_time

      integer, possible values: 0, 5, 10, 15 — If the value of `join_before_host` field is set to `true`, this field can be used to indicate time limits within which a participant may join a meeting before a host. * `0`: Allow participant to join anytime. * `5`: Allow participant to join 5 minutes before meeting start time. * `10`: Allow participant to join 10 minutes before meeting start time.

    • join_before_host

      boolean — Allow participants to join the meeting before the host arrives.

    • meeting_password_requirement

      object — Account wide meeting or webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).

      • consecutive_characters_length

        integer, possible values: 0, 4, 5, 6, 7, 8 — Specify the max length of consecutive characters(abcde...) that can be used in a passcode. If you set the value of this field to `0`, no restriction will be applied on consecutive characters. If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a passcode. The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a passcode(example: abc1x@8fdh).

      • have_letter

        boolean — If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).

      • have_number

        boolean — If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).

      • have_special_character

        boolean — If set to `true`, the passcode must have at least 1 special character (!,@,#...).

      • have_upper_and_lower_characters

        boolean — If set to `true`, the passcode must include both uppercase and lowercase characters.

      • length

        integer — The minimum length that the meeting or webinar passcode must have.

      • only_allow_numeric

        boolean — If set to `true`, the passcode must only contain numbers and no other characters.

      • weak_enhance_detection

        boolean — If set to `true`, users will be informed if the provided passcode is weak.

    • meeting_template

      object — Information about the **Meeting Templates** feature.

      • action

        string — Specify the action that you would like to take via this API request: * `update`: Choose this value if you are updating an existing meeting template enable. * `delete`: Choose this value if you are deleting an existing meeting template.

      • enable

        boolean — Whether to enable the **Meeting Templates** setting.

      • templates

        array — Information about the defined **Meeting Templates** policies.

        Items:

        • enable

          boolean — Whether to enable the meeting template.

        • id

          string — The meeting template ID.

    • not_store_meeting_topic

      boolean — Always display **Zoom Meeting** as the meeting topic.

    • participant_video

      boolean — Start meetings with the participant video on. Participants can change this setting during the meeting.

    • personal_meeting

      boolean — Personal meeting setting. `true`: Indicates that the **Enable Personal Meeting ID** setting is turned on. Users can choose to use personal meeting ID for their meetings. `false`: Indicates that the **Enable Personal Meeting ID** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with a PMI will be invalid. Scheduled meetings will need to be manually updated. For Zoom Phone only: If a user has been assigned a desk phone, **Elevate to Zoom Meeting** on desk phone will be disabled.

    • require_password_for_instant_meetings

      boolean — Require a passcode for instant meetings. If you use a PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.

    • require_password_for_pmi_meetings

      string, possible values: "jbh_only", "all", "none" — Require a passcode for a meeting held using a Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.

    • require_password_for_scheduled_meetings

      boolean — Require a passcode for meetings which have already been scheduled.

    • require_password_for_scheduling_new_meetings

      boolean — Require a passcode when scheduling new meetings. This setting applies for regular meetings that do not use a PMI. If enabled, a passcode will be generated while a host schedules a new meeting and participants will be required to enter the passcode before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.

    • use_pmi_for_instant_meetings

      boolean — Use a Personal Meeting ID (PMI) when starting an instant meeting.

    • use_pmi_for_scheduled_meetings

      boolean — Use a Personal Meeting ID (PMI) when scheduling a meeting.

  • security

    object — [Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account.

    • admin_change_name_pic

      boolean — Whether to only allow account administrators to change a user's picture.

    • admin_change_user_info

      boolean — Whether to only allow account administrators to change a user's information.

    • automatic_sign_out

      object — Automatically sign users out after a specified period.

      • email_or_phone

        object — Automatic sign-out settings for email or phone number login.

        • desktop_client

          integer, possible values: -1, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000 — Automatic sign-out duration in seconds. `-1` disables automatic sign-out for this platform.

        • mobile_client

          integer, possible values: -1, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000 — Automatic sign-out duration in seconds. `-1` disables automatic sign-out for this platform.

        • web_browser

          integer, possible values: -1, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000 — Automatic sign-out duration in seconds. `-1` disables automatic sign-out for this platform.

        • zoom_scheduling_integration

          integer, possible values: -1, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000 — Automatic sign-out duration in seconds. `-1` disables automatic sign-out for this platform.

      • enable_separated_sign_out_settings

        boolean — Whether different platforms can use different automatic sign-out durations.

      • social_oauth

        object — Automatic sign-out settings for social OAuth login. Only `web_browser` is supported. Other platforms are always `-1`.

        • desktop_client

          integer, possible values: -1

        • mobile_client

          integer, possible values: -1

        • web_browser

          integer, possible values: -1, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000 — Automatic sign-out duration in seconds for social OAuth web browser sessions.

        • zoom_scheduling_integration

          integer, possible values: -1

      • sso

        object — Automatic sign-out settings for SSO login. SSO additionally supports 900 and 1800 seconds.

        • desktop_client

          integer, possible values: -1, 900, 1800, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000 — Automatic sign-out duration in seconds. SSO additionally supports 900 and 1800 seconds.

        • mobile_client

          integer, possible values: -1, 900, 1800, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000

        • web_browser

          integer, possible values: -1, 900, 1800, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000

        • zoom_scheduling_integration

          integer, possible values: -1, 900, 1800, 3600, 10800, 21600, 43200, 86400, 259200, 604800, 1296000, 2592000, 5184000, 7776000, 10368000, 15552000

    • block_screenshots

      boolean — Whether screenshots are blocked.

    • enforce_logout_bypass_management

      object — Configure applications that can bypass enforced logout.

      • allow_zpa_stay_signed_in

        boolean — Whether Zoom Phone Appliance devices can stay signed in.

      • allow_zr_stay_signed_in

        boolean — Whether Zoom Rooms can stay signed in.

    • hide_billing_info

      boolean — Hide billing information.

    • hide_push_notification_content

      boolean — Whether push notification content is hidden.

    • import_photos_from_devices

      boolean — Allow users to import photos from a photo library on a device.

    • multiple_resource_login

      object — Configure multiple resource login.

      • enable_multiple_resource_login

        boolean — Whether multiple resource login is enabled.

      • multiple_resource_login_limit

        integer — The maximum number of concurrent resource logins.

    • only_mdm_managed_devices_can_sign_in

      object — Restricts Zoom client sign-in to MDM-managed mobile and/or PC devices, including the required management tag.

      • enable

        boolean — Whether to enable the MDM-managed device sign-in restriction.

      • only_mdm_managed_devices_can_sign_in_tag

        string — The MDM management tag required when the parent restriction is enabled. Maximum 4,000 characters.

      • only_mdm_managed_mobile_can_sign_in

        boolean — Whether to restrict MDM tag checks to mobile Zoom clients when the parent restriction is enabled.

      • only_mdm_managed_pc_can_sign_in

        boolean — Whether to restrict MDM tag checks to Windows, Mac, or Linux Zoom clients when the parent restriction is enabled.

    • only_mdm_mobile_can_sign_in

      object — Deprecated. Parent on/off and MDM tag only; does not encode Mobile vs PC. Use `only_mdm_managed_devices_can_sign_in` instead.

      • enable_only_mdm_mobile_sign_in

        boolean — Whether the MDM-managed device sign-in parent restriction is enabled. Does not encode Mobile vs PC.

      • only_mdm_mobile_can_sign_in_tag

        string — The MDM management tag required when the parent restriction is enabled.

    • only_zoom_for_intune_app_can_sign_in

      boolean — Whether users can only sign in through the Zoom for Intune application.

    • otp_auth

      boolean — Whether OTP authentication is enabled.

    • password_requirement

      object — This object refers to the [enhanced passcode rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requirements to the users' Zoom login passcode.

      • change_rule

        integer, possible values: 0, 1, 2, 3, 4, 5, 6, 7, 8 — The maximum number of times users can change their passwords within 24 hours. Set this value to `0` to remove the rule.

      • consecutive_characters_length

        integer — Specify the max length of consecutive characters(abcde...) that can be used in a passcode. If you set the value of this field to `0`, no restriction will be applied on consecutive characters. If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a passcode. The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a passcode(example: abc1x@8fdh).

      • expired_rule

        integer, possible values: 0, 30, 60, 90, 120 — The number of days after which a password expires automatically. Set this value to `0` to remove the rule.

      • first_login_rule

        boolean — Whether new users need to change their passwords upon first sign-in.

      • former_rule

        integer, possible values: 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 — The number of previous passwords that users cannot reuse. Set this value to `0` to remove the rule.

      • have_special_character

        boolean — If the value of this field is set to `true`, the passcode must have at least one special character(!, @, #...).

      • minimum_password_length

        integer — Specify a minimum length for the passcode. The passcode length can be between 9 and 14 characters. If the value of this field is `0`, this field is disabled and the basic passcode length (minimum of 8 characters) is required.

      • weak_enhance_detection

        boolean — If the value of this field is set to `true`, user passcodes will have to pass detection through a weak passcode dictionary in case hackers use simple passcodes to sign in to your users' accounts.

    • require_biometric_auth

      boolean — Whether biometric authentication is required.

    • sign_again_period_for_inactivity_on_client

      integer — Settings for user sign-in interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of Zoom client app users after a set amount of time. If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom client. The inactivity-period value can be one of these options. `5`: 5 minutes `10`: 10 minutes `15`: 15 minutes `30`: 30 minutes `45`: 45 minutes `60`: 60 minutes `90`: 90 minutes `120`: 120 minutes

    • sign_again_period_for_inactivity_on_web

      integer — Settings for user sign-in interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of Zoom web portal users after a set amount of time. If this setting is disabled, the value of this field is `0`. If the setting is enabled, the value of this field indicates the **period of inactivity** in minutes, after which an inactive user will be automatically logged out of the Zoom web portal. The inactivity-period value can be one of these options. `5`: 5 minutes `10`: 10 minutes `15`: 15 minutes `30`: 30 minutes `60`: 60 minutes `120`: 120 minutes

    • sign_in_with_apple

      boolean — Whether users can sign in with Apple.

    • sign_in_with_fb

      boolean — Whether users can sign in with Facebook.

    • sign_in_with_google

      object — Configure sign-in with Google and Google force-redirect domains.

      • enable_sign_in_with_google

        boolean — Whether to enable sign-in with Google.

      • force_google_login

        boolean — Whether to require users from configured domains to sign in with Google.

      • google_login_domains

        array — Approved account domains assigned to Google force redirect.

        Items:

        string

    • sign_in_with_microsoft

      boolean — Whether users can sign in with Microsoft.

    • sign_in_with_outlook

      object — Configure Outlook sign-in.

      • custom_nested_app_id

        string — The custom nested application ID.

      • enable_custom_nested_app_auth

        boolean — Whether custom nested application authorization is enabled.

      • enable_sign_in_with_outlook

        boolean — Whether users can sign in with Outlook.

      • zm_official_nested_app_auth

        boolean — Whether official nested application authorization is enabled.

    • sign_in_with_passkey

      boolean — Whether users can sign in with a passkey.

    • sign_in_with_phone_number

      object — Configure phone number sign-in.

      • enable_sign_in_with_phone_number

        boolean — Whether users can sign in with a phone number.

      • sign_in_with_sms_code

        boolean — Whether users can sign in with an SMS verification code.

    • sign_in_with_two_factor_auth

      string, possible values: "all", "group", "role", "none" — Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). `all`: Two factor authentication will be enabled for all users in the account. `none`: Two factor authentication is disabled. `group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field. `role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the `sign_in_with_two_factor_auth_roles` field.

    • sign_in_with_two_factor_auth_groups

      array — This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`

      Items:

      string

    • sign_in_with_two_factor_auth_roles

      array — This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.

      Items:

      string

    • sign_in_with_work_email

      boolean — Whether users can sign in with a work email address.

    • signin_with_sso

      object — Allow users to sign in with single sign-on (SSO).

      • domains

        array — Users on these domains are required to sign in with single sign-on (SSO).

        Items:

        string

      • enable

        boolean — Whether to allow users to sign in with ssingle sign-on (SSO). If enabling this, configure your account's SSO settings. This lets users to sign in with SSO through your company's vanity URL.

      • operation

        string, possible values: "add", "remove" — The policy operation to perform for the update sso_bypass_user_ids. **If the value does not exist, it means overwrite users from sso_bypass_user_ids.** * `add` - Add some users from sso_bypass_user_ids. * `remove` - Remove users from sso_bypass_user_ids.

      • require_sso_for_domains

        boolean — Whether to require users to sign in with single sign-on (SSO) if their e-mail address belongs to one of the `domains`.

      • sso_bypass_user_ids

        array — The users' ID can bypass SSO sign-in.

        Items:

        string

    • support_clock_out

      boolean — Whether the clock-out security feature is enabled.

    • trusted_microsoft_tenant

      string — A JSON-encoded array of trusted Microsoft tenant IDs. Each tenant ID must be a UUID.

    • user_modifiable_info_by_admin

      array — If the `admin_change_user_info` value is `true`, the list of the types of user information that only the account administrators can modify. * `name` * `profile_picture` * `sign_in_email` * `host_key`

      Items:

      string, possible values: "name", "profile_picture", "sign_in_email", "host_key"

  • telephony

    object — Account Settings Update: Telephony.

    • audio_conference_info

      string — Third party audio conference info.

    • telephony_regions

      object — Indicates where most of the participants call into or call from during a meeting.

      • selection_values

        string — The account's selected telephony regions that indicate where most participants call into or call from during a meeting.

    • third_party_audio

      boolean — Users can join the meeting using the existing third party audio configuration.

  • tsp

    object — Account Settings: TSP.

    • allow_webinar_attendees_call_me

      boolean — Whether webinar attendees can use Call Me to connect audio. This feature is only available in version 5.2.2 and higher.

    • allow_webinar_attendees_toll_free_dial

      boolean — Whether webinar attendees can dial in through the account's **Toll-free** phone numbers. This feature is only available with version 5.2.2 or later.

    • call_out

      boolean — Call Out

    • call_out_countries

      array — Call Out Countries/Regions

      Items:

      string

    • display_toll_free_numbers

      boolean — Display toll-free numbers

    • global_dial_in_countries

      object — The account's **Global Dial-in Countries/Regions** settings.

      • selected_countries

        array — The list of selected countries/regions whose dial-in numbers will be listed in the email invitation. You can adjust the order that the dial-in numbers appear in the email invitation.

        Items:

        • code

          string — The code of the country or region.

    • show_international_numbers_link

      boolean — Show international numbers link on the invitation email

  • zoom_rooms

    object — Account Settings: Zoom Rooms.

    • auto_start_stop_scheduled_meetings

      boolean — Automatic start and stop for scheduled meetings.

    • cmr_for_instant_meeting

      boolean — Cloud recording for instant meetings.

    • force_private_meeting

      boolean — Shift all meetings to private.

    • hide_host_information

      boolean — Hide host and meeting ID from private meetings.

    • list_meetings_with_calendar

      boolean — Display meeting list with calendar integration.

    • start_airplay_manually

      boolean — Start AirPlay service manually.

    • ultrasonic

      boolean — Automatic direct sharing using an ultrasonic proximity signal.

    • upcoming_meeting_alert

      boolean — Upcoming meeting alert.

    • weekly_system_restart

      boolean — Weekly system restart.

    • zr_post_meeting_feedback

      boolean — Zoom Room post meeting feedback.

One of:

  • allow_authentication_exception

    boolean — Whether to enable the [**Allow authentication exception**](https://support.zoom.us/hc/en-us/articles/360037117472#h_01F13A9N1FQFNVESC9C21NRHXY) setting. This lets hosts invite users who can bypass authentication.

  • authentication_option

    object — Meeting Authentication Options

    • action

      string, possible values: "update", "delete", "add" — Specify the action that you would like to take via this API request: * `add` : Choose this value if you are adding an authentication option. * `update`: Choose this value if you are updating an existing authentication option. * `delete`: Choose this value if you are deleting an existing authentication option.

    • default_option

      boolean — Specify whether you would like to set this authentication option as the default option or not.

    • domains

      string — If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to join your meetings or webinars.

    • id

      string — Authentication ID. If you are creating an authentication profile, you do not need to provide this field. The id field will be generated in the response once this API request is completed successfully. You can also use the Get Account Settings API with query parameter set to `meeting_authentication` to list the authentication id. Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.

    • name

      string — Unique name for the authentication option.

    • type

      string, possible values: "enforce_login", "enforce_login_with_same_account", "enforce_login_with_domains" — Authentication type. Specify one of the following authentication types for the authentication profile: * `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account. * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains. * `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.

  • meeting_authentication

    boolean — If set to `true`, only authenticated users can join meetings. The method for authentication can be defined in the `authentication_option`.

  • authentication_option

    object — Specify the authentication options for this account.

    • action

      string, possible values: "update", "delete", "add" — Specify the action that you would like to take via this API request. * `add` - Choose this value if you are adding an authentication option. * `update` - Choose this value if you are updating an existing authentication option. * `delete` - Choose this value if you are deleting an existing authentication option.

    • default_option

      boolean — Specify whether you would like to set this authentication option as the default option or not.

    • domains

      string — If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to view the recordings.

    • id

      string — Authentication ID. If you are creating an authentication profile, you do not need to provide this field. The id field will be generated in the response once this API request is completed successfully. You can also use the Get Account Settings API with query parameter set to `meeting_authentication` to list the authentication id. Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.

    • name

      string — Unique name for the authentication option.

    • type

      string, possible values: "internally", "enforce_login", "enforce_login_with_domains" — Specify one authentication type that is to be associated with this authentication configuration: * `internally`: This option allows you specify a rule that only signed in users within your account can view the recording. * `enforce_login`: This option allows any users to view the recording, as long as they are signed into their Zoom account. * `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can view the recording. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.

  • recording_authentication

    boolean — If set to `true`, only authenticated users can view the cloud recordings. The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).

  • meeting_security

    object

    • auto_security

      boolean — Whether to require that all meetings are secured with at least one security option. This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts.

    • block_user_domain

      boolean — Whether to block users in specific domains from joining meetings and webinars.

    • block_user_domain_list

      array — The domain to block, up to 20 domains. For example, the `*.example.com` domain.

      Items:

      string

    • chat_etiquette_tool

      object — Information about the **Chat Etiquette** tool.

      • enable

        boolean, default: false — Whether to enable the **Chat Etiquette Tool**. This value defaults to `false`. The **Chat Etiquette Tool** allows you to define specific keywords and text patterns in chat to prevent users from inadvertently sharing unwanted messages.

      • operate

        string, possible values: "create", "update", "delete" — The policy operation to perform for the update. * `create` - Create policies. * `update` - Update policies. * `delete` - Delete policies.

      • policies

        array — Information about the defined **Chat Etiquette Tool** policies.

        Items:

        • description

          string — The policy's description.

        • id

          string — The policy ID.

        • is_locked

          boolean, default: false — Whether to lock the policy. When it is locked, users cannot update the policy. This value defaults to `false`.

        • keywords

          array — A list of defined rule keywords.

          Items:

          string

        • name

          string — The policy name.

        • regular_expression

          string — The regular expression to match to the content of chat messages.

        • status

          string, possible values: "activated", "deactivated" — The policy's current status. * `activated` - Activated. * `deactivated` - Deactivated.

        • trigger_action

          integer, possible values: 1, 2 — The policy's trigger action. * `1` - Ask the user to confirm before they send the message. * `2` - Block the user's message.

    • embed_password_in_join_link

      boolean — Whether the meeting passcode will be encrypted and included in the invitation link. The provided link will allow participants to join the meeting without having to enter the passcode.

    • encryption_type

      string, possible values: "enhanced_encryption", "e2ee" — The type of encryption to use when starting a meeting. * `enhanced_encryption` - Use enhanced encryption. Encryption data is stored in the cloud. * `e2ee` - End-to-end encryption. The encryption key is stored on the local device and cannot be obtained by anyone else. Enabling E2EE also [**disables** certain features](https://support.zoom.us/hc/en-us/articles/360048660871), such as cloud recording, live streaming, and allowing participants to join before the host.

    • end_to_end_encrypted_meetings

      boolean — Whether to enable end-to-end encryption for meetings. If enabled, you can specify the type of encryption in the `encryption_type` field.

    • meeting_password

      boolean — Whether all instant and scheduled meetings that users can join via client or Zoom Rooms systems are passcode-protected. [Personal Meeting ID (PMI)](https://support.zoom.us/hc/en-us/articles/203276937) meetings are **not** included in this setting.

    • meeting_password_requirement

      object — Information about the meeting and webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).

      • consecutive_characters_length

        integer, possible values: 0, 4, 5, 6, 7, 8 — The maximum length of consecutive characters (for example, `abcdef`) allowed in a passcode. * `4` through `8` - The maximum consecutive characters length. The length is `n` minus `1`, where `n` is the provided value. For example, if you provide the `4` value, there can only be a maximum of `3` consecutive characters in a passcode, like `abc1x@8fdh`. * `0` - Do not apply a consecutive character restriction.

      • have_letter

        boolean — Whether the passcode must contain at least one letter character.

      • have_number

        boolean — Whether the passcode must contain at least one numeric character.

      • have_special_character

        boolean — Whether the passcode must contain at least one special character. For example, `!`, `@`, and/or `#` characters.

      • have_upper_and_lower_characters

        boolean — Whether the passcode must include uppercase and lowercase characters.

      • length

        integer — The passcode's minimum length.

      • only_allow_numeric

        boolean — Whether the passcode must contain **only** numeric characters.

      • weak_enhance_detection

        boolean — Whether users will be informed when the provided passcode is weak.

    • only_authenticated_can_join_from_webclient

      boolean — Whether to specify that only authenticated users can join the meeting from the web client.

    • phone_password

      boolean — Whether to require a passcode for participants joining by phone. If enabled and the meeting is passcode-protected, a numeric passcode is required for participants to join by phone. For meetings with alphanumeric passcodes, a numeric passcode will be generated.

    • pmi_password

      boolean — Whether all Personal Meeting ID (PMI) meetings that users can join via client or Zoom Rooms systems are passcode-protected.

    • require_password_for_scheduled_meeting

      boolean — Whether to require a passcode for meetings that have already been scheduled.

    • require_password_for_scheduled_webinar

      boolean — Whether to require a passcode for webinars that have already been scheduled.

    • waiting_room

      boolean — Whether participants are placed in the [**Waiting Room**](https://support.zoom.us/hc/en-us/articles/115000332726-Waiting-Room) when they join a meeting. If the **Waiting Room** feature is enabled, the [**Allow participants to join before host**](https://support.zoom.us/hc/en-us/articles/202828525-Allow-participants-to-join-before-host) setting is automatically disabled.

    • waiting_room_options

      object — Define how participants are admitted into a meeting, including if they can join before the host. Customize the waiting room design.

      • admit_domain_allowlist

        string — If the `admit_type` field is `4`, a comma-separated list of the domains that can bypass the waiting room (`example.com,example2.com`).

      • admit_type

        integer, possible values: 1, 2, 3, 4 — The type of admission for participants from the waiting room. * `1` - Everyone is automatically admitted. * `2` - Participants are manually admitted. * `3` - External users are manually admitted. Internal users are automatically admitted10 minutes before start time. * `4` - External users and users without approved domains are manually admitted. Internal users are automatically admitted.

      • enable

        boolean — Whether to enable the waiting room.

      • internal_user_auto_admit

        integer, possible values: 1, 2, 3, 4, 5 — If the `admit_type` in (`1`,`3`,`4`), the time when the internal user can join a meeting before the host. * `1` - when the host joins. * `2` - anytime. * `3` - 5 minutes before start time. * `4` - 10 minutes before start time. * `5` - 15 minutes before start time. If the `admit_type` equal `1`, this field value can not be `2`.

      • locked

        boolean — Whether to enable the option to lock after selecting `How are participants admitted from the waiting room`.

      • more_options

        object — More Options.

        • allow_participants_to_reply_to_host

          boolean — Allow participants in the waiting room to reply to host and co-hosts. This feature is only available with version 5.8.0 or later.

        • move_participants_to_waiting_room_when_host_dropped

          boolean — Move participants to the waiting room if the host drops unexpectedly. By enabling this option, the waiting room setting is enabled and locked, and participants are not allowed to join before the host.

        • user_invited_by_host_can_bypass_waiting_room

          boolean — Users invited during the meeting by the host or co-hosts will bypass the waiting room. This feature is only available with version 5.4.0 or later.

      • sort_order_of_people

        integer, possible values: 0, 1 — The type of sort order of people in the waiting room in the participants panel. * `0` - Join order. * `1` - Alphabetical. This feature is only available with version 5.10.3 or later.

      • who_can_admit_participants

        integer, possible values: 0, 1 — The type of who can admit participants from the waiting room. * `0` - Host and co-hosts only. * `1` - Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).

    • waiting_room_settings

      object — Information about the Waiting Room settings.

      • participants_to_place_in_waiting_room

        integer, possible values: 0, 1, 2 — The type of participants to be admitted to the waiting room. * `0` - All attendees. * `1` - Users who are not in your account. * `2` - Users who are not in your account and are not part of your [allowed domains list](https://support.zoom.us/hc/en-us/articles/360037117472-Configuring-authentication-profiles#h_e3cf0d5f-eec7-4c2a-ad29-ef2a5079a7da).

      • users_who_can_admit_participants_from_waiting_room

        integer, possible values: 0, 1 — The users who can admit participants from the waiting room. * `0` - Host and co-hosts only. * `1` - Host, co-hosts, and anyone who bypassed the waiting room if the host and co-hosts are not present.

      • whitelisted_domains_for_waiting_room

        string — If the `participants_to_place_in_waiting_room` field is `2`, a comma-separated list of the domains that can bypass the Waiting Room (`example.com,example2.com`).

    • webinar_password

      boolean — Whether to generate a passcode when scheduling webinars. Participants must use the generated passcode to join the scheduled webinar.

  • in_meeting

    object

  • in_session

    object

  • recording

    object

  • session_security

    object

    • approved_or_denied_countries_or_regions

      object — Approve or block users from specific regions or countries from joining this meeting.

      • approved_list

        array — List of countries/regions from where participants can join this meeting.

        Items:

        string

      • denied_list

        array — List of countries/regions from where participants can not join this meeting.

        Items:

        string

      • enable

        boolean — `true`: Setting enabled to either allow or block users from specific regions from joining your meetings. `false`: Setting disabled.

      • method

        string, possible values: "approve", "deny" — Specify whether to allow users from specific regions to join this meeting, or block users from specific regions from joining this meeting. `approve`: Allow users from specific regions or countries to join this meeting. If this setting is selected, the approved regions or countries must be included in the `approved_list`. `deny`: Block users from specific regions or countries from joining this meeting. If this setting is selected, the approved regions or countries must be included in the `denied_list`

Example:

{
  "security": {
    "admin_change_user_info": true,
    "user_modifiable_info_by_admin": [
      "[\"name\",\"host_key\",\"sign_in_email\"]"
    ],
    "signin_with_sso": {
      "enable": true,
      "require_sso_for_domains": true,
      "domains": [
        "test.com",
        "example.us"
      ],
      "sso_bypass_user_ids": [
        "1211414124112zw_r"
      ],
      "operation": "add"
    },
    "hide_billing_info": true,
    "import_photos_from_devices": true,
    "password_requirement": {
      "consecutive_characters_length": 8,
      "have_special_character": true,
      "minimum_password_length": 8,
      "weak_enhance_detection": false,
      "first_login_rule": true,
      "former_rule": 5,
      "change_rule": 3,
      "expired_rule": 90
    },
    "sign_again_period_for_inactivity_on_client": 5,
    "sign_again_period_for_inactivity_on_web": 10,
    "sign_in_with_two_factor_auth": "none",
    "sign_in_with_two_factor_auth_groups": [
      "group"
    ],
    "sign_in_with_two_factor_auth_roles": [
      "role"
    ],
    "sign_in_with_google": {
      "enable_sign_in_with_google": true,
      "force_google_login": true,
      "google_login_domains": [
        "example.com"
      ]
    },
    "otp_auth": true,
    "enforce_logout_bypass_management": {
      "allow_zr_stay_signed_in": true,
      "allow_zpa_stay_signed_in": false
    },
    "hide_push_notification_content": true,
    "support_clock_out": true,
    "require_biometric_auth": true,
    "block_screenshots": true,
    "sign_in_with_work_email": true,
    "sign_in_with_fb": false,
    "sign_in_with_apple": true,
    "sign_in_with_microsoft": true,
    "sign_in_with_phone_number": {
      "enable_sign_in_with_phone_number": true,
      "sign_in_with_sms_code": true
    },
    "sign_in_with_passkey": true,
    "sign_in_with_outlook": {
      "enable_sign_in_with_outlook": true,
      "zm_official_nested_app_auth": true,
      "enable_custom_nested_app_auth": false,
      "custom_nested_app_id": "00000000-0000-0000-0000-000000000000"
    },
    "only_zoom_for_intune_app_can_sign_in": true,
    "trusted_microsoft_tenant": "[\"123e4567-e89b-12d3-a456-426614174000\"]",
    "multiple_resource_login": {
      "enable_multiple_resource_login": true,
      "multiple_resource_login_limit": 3
    },
    "automatic_sign_out": {
      "enable_separated_sign_out_settings": true,
      "email_or_phone": {
        "desktop_client": 5184000,
        "mobile_client": 5184000,
        "web_browser": 5184000,
        "zoom_scheduling_integration": 7776000
      },
      "sso": {
        "desktop_client": 2592000,
        "mobile_client": 2592000,
        "web_browser": 2592000,
        "zoom_scheduling_integration": 2592000
      },
      "social_oauth": {
        "desktop_client": -1,
        "mobile_client": -1,
        "web_browser": 2592000,
        "zoom_scheduling_integration": -1
      }
    },
    "only_mdm_managed_devices_can_sign_in": {
      "enable": true,
      "only_mdm_managed_mobile_can_sign_in": true,
      "only_mdm_managed_pc_can_sign_in": false,
      "only_mdm_managed_devices_can_sign_in_tag": "corporate"
    }
  },
  "audio_conferencing": {
    "toll_free_and_fee_based_toll_call": {
      "allow_webinar_attendees_dial": true,
      "enable": true,
      "numbers": [
        {
          "code": "86",
          "country_code": "CN",
          "country_name": "China",
          "display_number": "+86 777 777 77",
          "number": "777 777 77"
        }
      ]
    },
    "toll_call": {
      "enable": true,
      "numbers": [
        {
          "code": "86",
          "number": "777 777 77"
        }
      ]
    },
    "call_me_and_invite_by_phone": {
      "enable": true,
      "require_press_1_for_call_me": "auto",
      "call_out_countries": {
        "selected_countries": [
          {
            "code": "CN"
          }
        ]
      },
      "allow_webinar_attendees_call_me": true
    },
    "personal_audio_conference": true,
    "participant_phone_masking": {
      "enable": true,
      "masking_type": "mask_default"
    },
    "global_dial_in_countries": {
      "selected_countries": [
        {
          "code": "CN"
        }
      ],
      "include_toll_free": true
    }
  },
  "chat": {
    "allow_bots_chat": true,
    "share_files": {
      "enable": true,
      "share_option": "account",
      "view_option": "anyone",
      "restrictions": {
        "only_allow_specific_file_types": true,
        "file_type_restrictions": [
          ".gz"
        ],
        "file_type_restrictions_for_external": [
          ".gz"
        ],
        "maximum_file_size": true,
        "file_size_restrictions": 100,
        "file_size_restrictions_for_external": 100,
        "file_restrictions_apply_to": "sharing_and_viewing"
      }
    },
    "chat_emojis": {
      "enable": true,
      "emojis_option": "all"
    },
    "record_voice_messages": true,
    "record_video_messages": true,
    "screen_capture": true,
    "create_public_channels": true,
    "create_private_channels": true,
    "create_group_chat": true,
    "share_links_in_chat": true,
    "schedule_meetings_in_chat": true,
    "set_retention_period_in_cloud": {
      "enable": true,
      "retention_period_of_direct_messages_and_group_conversation": "2m",
      "retention_period_of_channels": "2m"
    },
    "set_retention_period_in_local": {
      "enable": true,
      "retention_period_of_direct_messages_and_group_conversation": "2m",
      "retention_period_of_channels": "2m"
    },
    "allow_users_to_add_contacts": {
      "enable": true,
      "selected_option": 4,
      "user_email_addresses": "123@test.com"
    },
    "allow_users_to_chat_with_others": {
      "enable": true,
      "selected_option": 4,
      "user_email_addresses": "123@test.com"
    },
    "chat_etiquette_tool": {
      "enable": true,
      "operate": "update",
      "policies": [
        {
          "description": "The policy's description",
          "id": "afwefwef243fwef132f2g43g43g44br",
          "is_locked": true,
          "keywords": [
            "test"
          ],
          "name": "the policy name",
          "regular_expression": "^test",
          "status": "activated",
          "trigger_action": 1
        }
      ]
    },
    "send_data_to_third_party_archiving_service": {
      "enable": true,
      "type": "global_relay",
      "smtp_delivery_address": "test@zoom.us",
      "user_name": "test",
      "passcode": "111111111",
      "authorized_channel_token": "as1131zxwrwcssd32r4fkmaksjiajco999999999999a9qef23jr43twn4%^&IBNByeq"
    },
    "apply_local_storage_to_personal_channel": {
      "enable": true,
      "retention_period": "2m"
    },
    "translate_messages": true,
    "search_and_send_animated_gif_images": {
      "enable": true,
      "giphy_content_rating": 1
    },
    "external_collab_restrict": {
      "enable": true,
      "external_chat": "allowed",
      "group_id": "QSuHwTcvQoWPoG0ennkRug"
    },
    "external_user_control": {
      "enable": true,
      "selected_option": 1,
      "external_account": true
    },
    "external_invite_approve": {
      "enable": true,
      "selected_option": 1,
      "channel_id": "5fedbc697f8545aca465b5b114ad4275",
      "external_account": true
    },
    "external_member_join": {
      "enable": true,
      "external_account": true
    },
    "external_join_approve": {
      "enable": true,
      "selected_option": 1,
      "channel_id": "5fedbc697f8545aca465b5b114ad4275",
      "external_account": true
    },
    "download_file": true,
    "share_screen_in_chat": true,
    "code_snippet": true,
    "personal_channel": true,
    "store_revise_chat": false,
    "set_chat_as_default_tab": false,
    "hyper_link": true,
    "suppress_removal_notification": true,
    "suppress_user_group_notification": false,
    "allow_remove_msg_by_owner_and_admins": true,
    "allow_huddles_from_channels": true,
    "shared_spaces": true,
    "chat_email_address": {
      "enable": true,
      "only_allow_specific_domains": false,
      "specific_domains": [
        "[\"example.com\"]"
      ]
    },
    "read_receipts": {
      "enable": false,
      "allow_users_opt_out": false
    },
    "allow_delete_message": {
      "enable": true,
      "time": 5
    },
    "allow_edit_message": {
      "enable": true,
      "time": 5
    },
    "show_status_to_internal_contact": true,
    "presence_on_meeting": true,
    "presence_away_when_screen_saver": false,
    "show_h323_contact_tab": false,
    "survey_poll": true
  },
  "email_notification": {
    "alternative_host_reminder": true,
    "cancel_meeting_reminder": true,
    "cloud_recording_available_reminder": true,
    "jbh_reminder": true,
    "low_host_count_reminder": true,
    "recording_available_reminder_alternative_hosts": true,
    "recording_available_reminder_schedulers": true,
    "schedule_for_reminder": true
  },
  "feature": {
    "meeting_capacity": 100
  },
  "in_meeting": {
    "alert_guest_join": true,
    "allow_host_to_enable_focus_mode": true,
    "allow_live_streaming": true,
    "allow_users_to_delete_messages_in_meeting_chat": true,
    "allow_participants_chat_with": 2,
    "allow_participants_to_rename": true,
    "allow_show_zoom_windows": true,
    "allow_users_save_chats": 2,
    "annotation": true,
    "anonymous_question_answer": true,
    "attention_mode_focus_mode": true,
    "auto_answer": true,
    "auto_saving_chat": true,
    "breakout_room": true,
    "breakout_room_schedule": true,
    "chat": true,
    "meeting_question_answer": true,
    "closed_caption": true,
    "closed_captioning": {
      "auto_transcribing": true,
      "enable": true,
      "save_caption": true,
      "third_party_captioning_service": true,
      "view_full_transcript": true
    },
    "co_host": true,
    "custom_data_center_regions": true,
    "custom_live_streaming_service": true,
    "custom_service_instructions": "The specific instructions",
    "meeting_data_transit_and_residency_method": "On-Prem",
    "data_center_regions": [
      "AU"
    ],
    "disable_screen_sharing_for_host_meetings": true,
    "disable_screen_sharing_for_in_meeting_guests": true,
    "dscp_audio": 56,
    "dscp_marking": true,
    "dscp_video": 40,
    "dscp_dual": false,
    "e2e_encryption": true,
    "entry_exit_chime": "all",
    "far_end_camera_control": true,
    "feedback": true,
    "file_transfer": true,
    "group_hd": true,
    "webinar_group_hd": true,
    "join_from_desktop": true,
    "join_from_mobile": true,
    "auto_generated_translation": {
      "language_item_pairList": {
        "trans_lang_config": [
          {
            "speak_language": {
              "name": "Chinese (Simplified)",
              "code": "zh"
            },
            "translate_to": {
              "all": true,
              "language_config": [
                {
                  "name": "English",
                  "code": "en"
                }
              ]
            }
          }
        ],
        "all": true
      },
      "enable": true
    },
    "language_interpretation": {
      "custom_languages": [
        "En"
      ],
      "enable_language_interpretation_by_default": true,
      "allow_participants_to_speak_in_listening_channel": true,
      "allow_up_to_25_custom_languages_when_scheduling_meetings": true,
      "enable": true
    },
    "sign_language_interpretation": {
      "enable": true,
      "enable_sign_language_interpretation_by_default": true,
      "custom_languages": [
        "Language1"
      ]
    },
    "live_streaming_facebook": true,
    "live_streaming_youtube": true,
    "manual_captioning": {
      "allow_to_type": true,
      "auto_generated_captions": true,
      "full_transcript": true,
      "manual_captions": true,
      "save_captions": true,
      "third_party_captioning_service": true
    },
    "meeting_polling": {
      "advanced_polls": true,
      "allow_alternative_host_to_add_edit": true,
      "require_answers_to_be_anonymous": true,
      "manage_saved_polls_and_quizzes": true,
      "allow_host_to_upload_image": true,
      "enable": true
    },
    "meeting_reactions": true,
    "meeting_reactions_emojis": "all",
    "allow_host_panelists_to_use_audible_clap": true,
    "webinar_reactions": true,
    "meeting_survey": true,
    "original_audio": true,
    "p2p_connetion": true,
    "p2p_ports": true,
    "polling": true,
    "ports_range": "1;65535",
    "post_meeting_feedback": true,
    "private_chat": true,
    "record_play_own_voice": true,
    "remote_control": true,
    "non_verbal_feedback": true,
    "remote_support": true,
    "request_permission_to_unmute_participants": true,
    "screen_sharing": true,
    "sending_default_email_invites": true,
    "show_a_join_from_your_browser_link": true,
    "show_meeting_control_toolbar": true,
    "slide_control": true,
    "stereo_audio": true,
    "use_html_format_email": true,
    "virtual_background": true,
    "virtual_background_settings": {
      "allow_upload_custom": true,
      "allow_videos": true,
      "enable": true,
      "files": [
        {
          "id": "JCvkdgDeTwCOf82SjI8QZw",
          "is_default": true,
          "name": "test.png",
          "size": 41519,
          "type": "image"
        }
      ]
    },
    "watermark": true,
    "webinar_chat": {
      "allow_attendees_chat_with": 2,
      "allow_auto_save_local_chat_file": true,
      "allow_panelists_chat_with": 2,
      "allow_panelists_send_direct_message": true,
      "allow_users_save_chats": 2,
      "default_attendees_chat_with": 1,
      "enable": true
    },
    "webinar_live_streaming": {
      "custom_service_instructions": "The specific instructions",
      "enable": true,
      "live_streaming_reminder": true,
      "live_streaming_service": [
        "facebook"
      ]
    },
    "webinar_polling": {
      "advanced_polls": true,
      "allow_alternative_host_to_add_edit": true,
      "require_answers_to_be_anonymous": true,
      "manage_saved_polls_and_quizzes": true,
      "allow_host_to_upload_image": true,
      "enable": true
    },
    "webinar_question_answer": true,
    "webinar_survey": true,
    "whiteboard": true,
    "who_can_share_screen": "all",
    "who_can_share_screen_when_someone_is_sharing": "host",
    "participants_share_simultaneously": "multiple",
    "workplace_by_facebook": true,
    "transfer_meetings_between_devices": true
  },
  "integration": {
    "box": true,
    "dropbox": true,
    "google_calendar": true,
    "google_drive": true,
    "kubi": true,
    "microsoft_one_drive": true
  },
  "other_options": {
    "allow_auto_active_users": true,
    "allow_users_contact_support_via_chat": true,
    "allow_users_enter_and_share_pronouns": true,
    "blur_snapshot": true,
    "display_meetings_scheduled_for_others": true,
    "meeting_qos_and_mos": 0,
    "show_one_user_meeting_on_dashboard": true,
    "use_cdn": "none",
    "webinar_registration_options": {
      "allow_host_to_enable_join_info": true,
      "allow_host_to_enable_social_share_buttons": true,
      "enable_custom_questions": true
    },
    "email_in_attendee_report_for_meeting": true
  },
  "profile": {
    "recording_storage_location": {
      "allowed_values": [
        "US",
        "AU",
        "CA",
        "DE",
        "JP",
        "BR",
        "SG",
        "IN"
      ],
      "value": "US"
    }
  },
  "recording": {
    "account_user_access_recording": true,
    "allow_recovery_deleted_cloud_recordings": true,
    "archive": {
      "enable": true,
      "settings": {
        "audio_file": true,
        "cc_transcript_file": true,
        "chat_file": true,
        "chat_with_sender_email": true,
        "video_file": true,
        "chat_with_direct_message": true,
        "archive_retention": 1,
        "action_when_archive_failed": 1,
        "notification_when_archiving_starts": "participants",
        "play_voice_prompt_when_archiving_starts": "guest"
      },
      "type": 2
    },
    "auto_delete_cmr": true,
    "auto_delete_cmr_days": 90,
    "auto_recording": "cloud",
    "cloud_recording": true,
    "cloud_recording_download": true,
    "cloud_recording_download_host": true,
    "display_participant_name": true,
    "host_delete_cloud_recording": true,
    "ip_address_access_control": {
      "enable": true,
      "ip_addresses_or_ranges": "46.33.24.184"
    },
    "local_recording": true,
    "local_recording_options": {
      "internal_meeting_participants": true,
      "internal_auto_approve_requests": true,
      "external_meeting_participants": true,
      "external_auto_approve_requests": true,
      "participants_with_specified_domains": true,
      "participants_specified_domains_auto_approve_requests": "zoom.us",
      "save_chat_messages": true,
      "save_closed_caption": true
    },
    "optimize_recording_for_3rd_party_video_editor": true,
    "prevent_host_access_recording": true,
    "record_audio_file": true,
    "record_audio_file_each_participant": true,
    "record_files_separately": {
      "active_speaker": true,
      "gallery_view": true,
      "shared_screen": true
    },
    "record_gallery_view": true,
    "record_speaker_view": true,
    "recording_audio_transcript": true,
    "smart_recording": {
      "create_recording_highlights": true,
      "create_smart_chapters": true,
      "create_next_steps": true
    },
    "recording_password_requirement": {
      "have_letter": true,
      "have_number": true,
      "have_special_character": true,
      "length": 10,
      "only_allow_numeric": true
    },
    "recording_thumbnails": true,
    "required_password_for_existing_cloud_recordings": true,
    "required_password_for_shared_cloud_recordings": true,
    "save_chat_text": true,
    "save_close_caption": true,
    "save_panelist_chat": true,
    "save_poll_results": true,
    "show_timestamp": true,
    "recording_notification_for_zoom_client": {
      "disclaimer_to_participants": "All participants",
      "play_voice_prompt": "All participants",
      "ask_host_to_confirm": true
    },
    "viewer_see_transcript": true,
    "viewer_see_chat": true,
    "allow_cmr_3rd_party_bot": true,
    "upload_custom_caption": true,
    "upload_recording": true,
    "water_marker_recording": true,
    "durable_meeting_transcript": {
      "durable_meeting_transcript": true,
      "allow_host_access_meeting_transcript": true
    },
    "allow_share": true,
    "authenticated_view_cloud_recoding": {
      "authenticated_can_view_cloud_recordings": true,
      "default_authenticate_content": "Signed-in users in my account"
    },
    "embed_passcode_in_shareable_link": true,
    "allow_invitees_access_recordings_without_passcode": true,
    "recording_as_on_demand": true,
    "notification_subscription_url_when_recording_available": true,
    "recording_notifications_phone_users": {
      "require_press_one_consent_to_record": true,
      "multiple_notifications_phone_users": true
    },
    "cloud_recording_permanently_deleted": {
      "cloud_recording_permanently_deleted_from_trash": true,
      "email_reminder_type": "Weekly digest on Monday"
    },
    "recording_storage_email_notifications": true,
    "allow_add_cloud_recordings_to_zoom_clips": true,
    "allow_revenue_accelerator_manage_recording_separate_auto_delete": true
  },
  "schedule_meeting": {
    "audio_type": "both",
    "enforce_login": true,
    "enforce_login_domains": "example.com",
    "enforce_login_with_domains": true,
    "force_pmi_jbh_password": true,
    "host_video": true,
    "enable_dedicated_group_chat": true,
    "jbh_time": 10,
    "join_before_host": true,
    "meeting_password_requirement": {
      "consecutive_characters_length": 5,
      "have_letter": true,
      "have_number": true,
      "have_special_character": true,
      "have_upper_and_lower_characters": true,
      "length": 10,
      "only_allow_numeric": true,
      "weak_enhance_detection": true
    },
    "not_store_meeting_topic": true,
    "participant_video": true,
    "allow_host_to_disable_participant_video": true,
    "personal_meeting": true,
    "require_password_for_instant_meetings": true,
    "require_password_for_pmi_meetings": "none",
    "require_password_for_scheduled_meetings": true,
    "require_password_for_scheduling_new_meetings": true,
    "use_pmi_for_instant_meetings": true,
    "use_pmi_for_scheduled_meetings": true,
    "always_display_zoom_meeting_as_topic": {
      "enable": true,
      "display_topic_for_scheduled_meetings": true
    },
    "hide_meeting_description": {
      "enable": true,
      "hide_description_for_scheduled_meetings": true
    },
    "always_display_zoom_webinar_as_topic": {
      "enable": true,
      "display_topic_for_scheduled_webinars": true
    },
    "hide_webinar_description": {
      "enable": true,
      "hide_description_for_scheduled_webinars": true
    },
    "meeting_template": {
      "enable": true,
      "action": "delete",
      "templates": [
        {
          "id": "ydCUQzzVT6WZ_r_K_2iFzg",
          "enable": true
        }
      ]
    },
    "continuous_meeting_chat": {
      "enable": true,
      "can_add_external_users": true,
      "auto_add_invited_external_users": true
    }
  },
  "telephony": {
    "audio_conference_info": "test",
    "telephony_regions": [
      "CNTB",
      "USTB"
    ],
    "third_party_audio": true
  },
  "tsp": {
    "call_out": true,
    "call_out_countries": [
      "us"
    ],
    "allow_webinar_attendees_call_me": true,
    "display_toll_free_numbers": true,
    "allow_webinar_attendees_toll_free_dial": true,
    "show_international_numbers_link": true,
    "global_dial_in_countries": {
      "selected_countries": [
        {
          "code": "CN"
        }
      ]
    }
  },
  "zoom_rooms": {
    "auto_start_stop_scheduled_meetings": true,
    "cmr_for_instant_meeting": true,
    "force_private_meeting": true,
    "hide_host_information": true,
    "list_meetings_with_calendar": true,
    "start_airplay_manually": true,
    "ultrasonic": true,
    "upcoming_meeting_alert": true,
    "weekly_system_restart": true,
    "zr_post_meeting_feedback": true
  },
  "general_setting": {
    "auto_zoom_room_proximity_connect": true,
    "show_zoom_room_feature": true
  },
  "mail_calendar": {
    "email_calendar_management": true,
    "email_management": true,
    "zoom_email_provider": true
  },
  "ai": {
    "screen_share_ocr": true,
    "meeting_chat_messages": true,
    "full_display_names_in_ai_assets": true,
    "ai_generated_virtual_backgrounds": true,
    "meeting_agenda": true,
    "meeting_summary_docs": {
      "enable": true,
      "share_with_summary_recipients": true
    },
    "phone_user_ai_notices": {
      "enable": true,
      "require_press_1_consent": true,
      "multiple_notifications": true
    },
    "meeting_summary_retention": {
      "enable": true,
      "retention_days": 30
    },
    "meeting_summary_personal_data_redaction": {
      "enable": true,
      "personal_data_types": [
        "NAME",
        "EMAIL"
      ]
    },
    "meeting_summary_sensitive_data_filter": {
      "enable": true,
      "rules": [
        {
          "name": "Employee ID",
          "regular_expression": "[0-9]{6}"
        }
      ]
    },
    "meeting_coach": {
      "enable": true,
      "participant_scope": "participants_and_invitees_in_our_organization"
    },
    "third_party_meeting_join": {
      "enable": true,
      "allow_recording": true,
      "calendar": {
        "enable": true,
        "join_scope": "all_events_with_video_conference_links"
      },
      "pre_meeting_email_notification": {
        "enable": true,
        "recipients": "all_invitees"
      }
    },
    "whiteboard_content_generation": true,
    "smart_recording": {
      "create_recording_highlights": true,
      "create_smart_chapters": true,
      "create_next_steps": true
    },
    "clips_summarization_generation": {
      "enable": true,
      "general_summary": true,
      "generation_chapter": true
    },
    "clips_create_video_with_aic": {
      "enable": true,
      "show_clips_with_avatar": true
    },
    "allow_user_create_customize_avatar": {
      "enable": true,
      "clips_custom_avatar_delegation": true
    },
    "task_creation_and_management": {
      "enable": false,
      "auto_generate_details": false,
      "auto_generate_action": true,
      "generate_from_transcripts": {
        "enable": false,
        "auto_share_with": "internal_participants",
        "auto_assign_to_collaborator": true
      },
      "generate_from_phone_call": {
        "enable": false,
        "auto_add_participant_as_collaborator": true,
        "auto_assign_to_collaborator": true
      },
      "generate_from_voicemail": false
    },
    "show_conversational_ai_companion": {
      "enabled": true,
      "enable_zoom_mate": true,
      "delete_ai_conversation": true,
      "delete_ai_conversation_time": 30
    },
    "ai_panel_in_workplace": {
      "enabled": true,
      "delete_ai_conversation": true,
      "delete_ai_conversation_time": 30
    },
    "enable_ai_on_web": true,
    "enable_email_compose_with_ai": true,
    "microsoft_365": {
      "enable": true,
      "calendar_events": true,
      "emails": true,
      "documents": true
    },
    "google": {
      "enable": true,
      "calendar_events": true,
      "emails": true,
      "documents": true
    },
    "web_content": true,
    "local_file_uploads": true,
    "organization_custom_dictionaries": true,
    "third_party_app_tasks": true,
    "workspace_reservation_recommendations_with_ai": {
      "enabled": true,
      "day_recommendation": true,
      "desk_recommendation": true,
      "custom_workspaces_recommendation": true,
      "room_recommendation": true,
      "proactive_room_recommendation": true
    },
    "participant_can_request_aic_in_meeting": true,
    "restrict_aic_when_external_user_join_meeting": true,
    "restrict_users_from_joining_ai_enabled_meetings": {
      "enable": true,
      "join_notify": "notify_and_remove",
      "apply_scope": "internal_and_external"
    },
    "meeting_questions": {
      "enable": true,
      "auto_enable": false,
      "who_can_ask_questions": "org_from_join_meeting"
    },
    "meeting_summary": {
      "enable": true,
      "auto_enable": false,
      "email_notification": true,
      "whether_include_full_text_in_email": "include_full_text_in_email",
      "restrict_share_to_outside_of_organization": true,
      "restrict_summary_share": "external_users",
      "who_will_receive_summary": "alt_host"
    },
    "meeting_summary_template": {
      "enable": true,
      "summary_template_id": "template_123"
    },
    "meeting_summary_default_language": {
      "enable": true,
      "language": "en"
    },
    "meeting_summary_ip_access": {
      "enable": true,
      "ip_addresses_or_ranges": "192.0.2.0/24"
    },
    "remind_me_turn_on_aic": true,
    "remind_me_turn_on_catch_me_up": true,
    "meeting_summary_email_only_mode": false,
    "restrict_users_from_deleting_ai_companion_assets": true,
    "restrict_users_from_editing_ai_companion_assets": true,
    "webinar_summary_ocr": true,
    "zoom_events_chat_panel": true,
    "zoom_events_session_summary": {
      "enable": true,
      "auto_start": true
    },
    "zoom_events_analytics": true,
    "zoom_events_chat_compose": true,
    "zoom_events_email_compose": true,
    "zoom_events_smart_compose": true,
    "zoom_events_image_generation": true,
    "zoom_events_smart_upload": true,
    "zoom_events_content_generation": true,
    "chat_summary": {
      "enable": false,
      "shown_in_team_chat": true
    },
    "chat_compose": {
      "enable": false,
      "shown_in_team_chat": true
    },
    "hub_ai_question_and_file_creation": true,
    "canvas_ai_content_generation": true,
    "canvas_ai_sentence_completion": true,
    "canvas_ai_post_meeting_writing_tasks": true,
    "paper_ai_content_generation": true,
    "sheets_ai_content_generation": true,
    "sheets_ai_formula": true,
    "sheets_ai_function": true,
    "sheets_ai_resources": true,
    "slides_ai_content_generation": true,
    "my_notes_meeting_transcription": true,
    "my_notes_ai_content_generation": {
      "enable": true,
      "auto_generate_summary": true,
      "auto_send_summary_email": true
    },
    "include_webinar_summary_follow_up_email": {
      "enable": true,
      "attendee_follow_up_email": true,
      "absentee_follow_up_email": true
    },
    "zoom_events_content_studio": true,
    "webinar_summary": {
      "enable": true,
      "auto_enable": false,
      "email_notification": true,
      "whether_include_full_text_in_email": "include_full_text_in_email",
      "restrict_share_to_outside_of_organization": true,
      "restrict_summary_share": "external_users",
      "who_will_receive_summary": "host_and_panelist_in_organization"
    },
    "webinar_questions": {
      "enable": true,
      "auto_enable": false,
      "who_can_ask_questions": "panelist_org"
    }
  }
}

Responses

Status: 204 **HTTP Status Code:** `204` Account settings updated.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `200` <br> Only available for paid accounts. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `2001` <br> Account does not exist: $accountId <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Update meeting Waiting Room branding

  • Method: POST
  • Path: /accounts/{accountId}/settings/meeting_waiting_room_branding
  • Tags: Accounts

Sets the meeting Waiting Room branding (logo, background image, video, welcome title/description, and layout) for the account. To update the settings for a master account, pass the me value for the accountId path parameter.

Prerequisites:

  • The account must be a paid account.

[Scopes(/docs/integrations/oauth-scopes-overview/): account:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): account:write:waiting_room_branding:admin,account:write:waiting_room_branding:master

Rate Limit Label: MEDIUM

Request Body

Content-Type: multipart/form-data
  • default_image

    string, possible values: "ai", "workplace", "customize" — The default Waiting Room screen used when the layout is set to an image. Allowed: `ai` (Allow AI on this account), `workplace` (Workplace), `customize` (Upload my own image).

  • description

    string — The Waiting Room description, shown together with the logo when the layout is set to a logo and description. Up to 400 characters.

  • image

    string — The Waiting Room background image shown to participants when the layout is set to an image. Up to 1 MB of JPG, PNG, or GIF files. A minimum width of 400px and height of 200px (a ratio of width to height of 2:1 is suggested).

  • logo

    string — The Waiting Room logo. Up to 1 MB of JPG, PNG, or GIF files. A minimum width or height of 60px (cannot exceed 400px).

  • participant_will_see

    string, possible values: "image", "logo_and_description", "video" — What participants in the Waiting Room will see. Allowed: `image` (An image), `logo_and_description` (A logo and description), `video` (A video).

  • title

    string — The Waiting Room title. Up to 64 characters.

  • video

    string — The Waiting Room background video shown to participants when the layout is set to a video. Up to 30 MB of MP4, MOV, or M4V files.

Example:

{
  "logo": "logo.png",
  "image": "background.png",
  "video": "welcome.mp4",
  "title": "Please wait, the host will let you in soon.",
  "description": "Thank you for joining. The host will start the meeting shortly.",
  "participant_will_see": "image",
  "default_image": "customize"
}

Responses

Status: 200 **HTTP Status Code:** `200` OK
Content-Type: application/json
  • default_image

    string, possible values: "ai", "workplace", "customize" — The default Waiting Room screen used when the layout is set to an image. Allowed: `ai` (Allow AI on this account), `workplace` (Workplace), `customize` (Upload my own image).

  • image

    object

    • file_id

      string — The Waiting Room background image file ID.

    • file_name

      string — The Waiting Room background image file name.

  • logo

    object

    • description

      string — The Waiting Room description shown together with the logo.

    • file_id

      string — The Waiting Room logo file ID.

    • file_name

      string — The Waiting Room logo file name.

  • participant_will_see

    string, possible values: "image", "logo_and_description", "video" — What participants in the Waiting Room will see. Allowed: `image` (An image), `logo_and_description` (A logo and description), `video` (A video).

  • title

    string — The Waiting Room title.

  • video

    object

    • file_id

      string — The Waiting Room background video file ID.

    • file_name

      string — The Waiting Room background video file name.

Example:

{
  "logo": {
    "file_id": "8oGZC9WeQzC4wLKz5Yy8Bw",
    "file_name": "logo.png",
    "description": "Thank you for joining. The host will start the meeting shortly."
  },
  "image": {
    "file_id": "3nR7pQ1sT9uVxYzAaBbCcD",
    "file_name": "background.png"
  },
  "video": {
    "file_id": "7hJ2kL4mN6oP8qR0sT2uVw",
    "file_name": "welcome.mp4"
  },
  "title": "Please wait, the host will let you in soon.",
  "participant_will_see": "image",
  "default_image": "customize"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request Invalid meeting Waiting Room image.
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 415 **HTTP Status Code:** `415` <br> Unsupported Media Type
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error Waiting Room branding upload is unavailable.

Get an account's webinar registration settings

  • Method: GET
  • Path: /accounts/{accountId}/settings/registration
  • Tags: Accounts

Get an account's webinar registration settings. To get the master account's webinar registration settings, use the me value for the accountId path parameter.

Prerequisites:

  • The account must be a paid account.

[Scopes(/docs/integrations/oauth-scopes-overview/): account:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): account:read:registration_settings:master

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` Account settings registration information returned.
Content-Type: application/json
  • approve_type

    integer, possible values: 0, 1 — Approval type for the registration.

  • custom_questions

    array — Array of Registrant Custom Questions

    Items:

    • answers

      array — Answer choices for the custom question. Can not be used for `short` question type as this type of question requires registrants to type out the answer.

      Items:

      string

    • required

      boolean — Decide whether this field are required.

    • selected

      boolean — Indicates whether or not the custom question is required to be answered by participants or not.

    • title

      string — Title of the custom question.

    • type

      string, possible values: "short", "single_dropdown", "single_radio", "multiple" — Type of the question being asked.

  • options

    object — When participants submit registration, do something.

    • allow_participants_to_join_from_multiple_devices

      boolean — Allow participants to join from multiple devices

    • close_registration

      boolean — Close registration after event date.

    • host_email_notification

      boolean — Send an email to host when someone registers.

    • show_social_share_buttons

      boolean — Show social share buttons on registration page

  • questions

    array — Array of Registrant Questions.

    Items:

    • field_name

      string, possible values: "last_name", "address", "city", "country", "zip", "state", "phone", "industry", "org", "job_title", "purchasing_time_frame", "role_in_purchase_process", "no_of_employees", "comments" — Field name of the question.

    • required

      boolean — Decide whether this field are required.

    • selected

      boolean — Indicates whether or not the displayed fields are required to be filled out by registrants.

Example:

{
  "options": {
    "host_email_notification": true,
    "close_registration": true,
    "allow_participants_to_join_from_multiple_devices": true,
    "show_social_share_buttons": true
  },
  "questions": [
    {
      "field_name": "last_name",
      "required": true,
      "selected": true
    }
  ],
  "approve_type": 0,
  "custom_questions": [
    {
      "title": "true",
      "type": "single_dropdown",
      "required": true,
      "selected": true,
      "answers": [
        "option 1"
      ]
    }
  ]
}
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `2001` <br> Account does not exist: $accountId <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Update an account's webinar registration settings

  • Method: PATCH
  • Path: /accounts/{accountId}/settings/registration
  • Tags: Accounts

Update an account's webinar registration settings. To update the master account's webinar registration settings, pass the me value for the accountId path parameter.

Prerequisites:

  • The account must be a paid account.

[Scopes(/docs/integrations/oauth-scopes-overview/): account:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): account:update:registration_settings:master

Rate Limit Label: MEDIUM

Request Body

Content-Type: application/json
  • approve_type

    integer, possible values: 0, 1 — Approval type for the registration.

  • custom_questions

    array — Array of Registrant Custom Questions

    Items:

    • answers

      array — Answer choices for the custom question. Can not be used for `short` question type as this type of question requires registrants to type out the answer.

      Items:

      string

    • required

      boolean — Decide whether this field are required.

    • selected

      boolean — Indicates whether or not the custom question is required to be answered by participants or not.

    • title

      string — Title of the custom question.

    • type

      string, possible values: "short", "single_dropdown", "single_radio", "multiple" — Type of the question being asked.

  • options

    object — When participants submit registration, do something.

    • allow_participants_to_join_from_multiple_devices

      boolean — Allow participants to join from multiple devices

    • close_registration

      boolean — Close registration after event date.

    • host_email_notification

      boolean — Send an email to host when someone registers.

    • show_social_share_buttons

      boolean — Show social share buttons on registration page

  • questions

    array — Array of Registrant Questions.

    Items:

    • field_name

      string, possible values: "last_name", "address", "city", "country", "zip", "state", "phone", "industry", "org", "job_title", "purchasing_time_frame", "role_in_purchase_process", "no_of_employees", "comments" — Field name of the question.

    • required

      boolean — Decide whether this field are required.

    • selected

      boolean — Indicates whether or not the displayed fields are required to be filled out by registrants.

Example:

{
  "options": {
    "host_email_notification": true,
    "close_registration": true,
    "allow_participants_to_join_from_multiple_devices": true,
    "show_social_share_buttons": true
  },
  "questions": [
    {
      "field_name": "last_name",
      "required": true,
      "selected": true
    }
  ],
  "approve_type": 0,
  "custom_questions": [
    {
      "title": "true",
      "type": "single_dropdown",
      "required": true,
      "selected": true,
      "answers": [
        "option 1"
      ]
    }
  ]
}

Responses

Status: 204 **HTTP Status Code:** `204` Account settings updated.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `200` <br> Only available for paid accounts. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `2001` <br> Account does not exist: $accountId <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Upload virtual background files

  • Method: POST
  • Path: /accounts/{accountId}/settings/virtual_backgrounds
  • Tags: Accounts

Uploads virtual background files for all users on the account to use.

Prerequisites:

[Scopes(/docs/integrations/oauth-scopes-overview/): account:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): account:write:virtual_background_files:master,account:write:virtual_background_files:admin

Rate Limit Label: MEDIUM

Request Body

Content-Type: multipart/form-data
  • file

    string — The virtual background file's path.

Example:

{
  "file": "profile.png"
}

Responses

Status: 201 **HTTP Status Code:** `201` Created
Content-Type: application/json
  • id

    string — The file's ID.

  • is_default

    boolean — Whether the file is the default virtual background file.

  • name

    string — The file's name.

  • size

    integer — The file's size, in bytes.

  • type

    string — The file type.

Example:

{
  "id": "_l0MP1U7Qn2JgJ4oEJbVZQ",
  "is_default": false,
  "name": "profile.PNG",
  "size": 7221,
  "type": "image"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `120` <br> * No file uploaded. Verify that a file has been uploaded. * File size cannot exceed 15M. * A maximum of 10 files are allowed for a user. * File uploads must be in "jpg/jpeg", "gif", or "png" file format. * Failed to upload file. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `2001` <br> This account does not exist or does not belong to you: {accountId} <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Delete virtual background files

  • Method: DELETE
  • Path: /accounts/{accountId}/settings/virtual_backgrounds
  • Tags: Accounts

Deletes an account's existing virtual background files.

Prerequisites:

[Scopes(/docs/integrations/oauth-scopes-overview/): account:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): account:delete:virtual_background_files:master,account:delete:virtual_background_files:admin

Rate Limit Label: LIGHT

Responses

Status: 204 **HTTP Status Code:** `204` * No Content * Deleted.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `300` <br> Invalid parameter: file_ids <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `2001` <br> This account does not exist or does not belong to you: {accountId} <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Update webinar Waiting Room branding

  • Method: POST
  • Path: /accounts/{accountId}/settings/webinar_waiting_room_branding
  • Tags: Accounts

Sets webinar Waiting Room branding (logo, background image, video, welcome title/description, and layout) for the account. To update the settings for a master account, pass the me value for the accountId path parameter.

Prerequisites:

  • The account must be a paid account.

[Scopes(/docs/integrations/oauth-scopes-overview/): account:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): account:write:waiting_room_branding:master,account:write:waiting_room_branding:admin

Rate Limit Label: MEDIUM

Request Body

Content-Type: multipart/form-data
  • default_image

    string, possible values: "professional", "fun", "inspirational", "customize" — The default Waiting Room image used when the layout is set to an image. Allowed: `professional` (Professional), `fun` (Fun), `inspirational` (Inspirational), `customize` (Upload my own image).

  • default_video

    string, possible values: "professionalVideos", "funVideos", "inspirationalVideos", "customizeVideos" — The default Waiting Room video used when the layout is set to a video. Allowed: `professionalVideos` (Professional), `funVideos` (Fun), `inspirationalVideos` (Inspirational), `customizeVideos` (Upload my own video).

  • description

    string — The Waiting Room description, shown together with the logo when the layout is set to a logo and description. Up to 400 characters.

  • image

    string — The Waiting Room background image shown to participants when the layout is set to an image. Up to 5 MB of JPG, JPEG, or PNG files. A minimum width of 400 px and height of 200 px (the suggested ratio of width to height is 2:1).

  • logo

    string — The Waiting Room logo, shown together with the description. Up to 5 MB of JPG, JPEG, or PNG files. A minimum width or height of 60 px (cannot exceed 400 px).

  • participant_will_see

    string, possible values: "image", "logo_and_description", "video" — What participants in the Waiting Room will see. Allowed: `image` (An image), `logo_and_description` (A logo with description), `video` (A video).

  • title

    string — The Waiting Room host message. Up to 64 characters.

  • video

    string — The Waiting Room background video shown to participants when the layout is set to a video. Up to 30 MB of MP4, MOV, or M4V files.

Example:

{
  "logo": "logo.png",
  "image": "background.png",
  "video": "welcome.mp4",
  "title": "Please wait, the host will let you in soon.",
  "description": "Thank you for joining. The host will start the meeting shortly.",
  "participant_will_see": "image",
  "default_image": "customize",
  "default_video": "customizeVideos"
}

Responses

Status: 200 **HTTP Status Code:** `200` OK
Content-Type: application/json
  • default_image

    string, possible values: "professional", "fun", "inspirational", "customize" — The default Waiting Room image used when the layout is set to an image. Allowed: `professional` (Professional), `fun` (Fun), `inspirational` (Inspirational), `customize` (Upload my own image).

  • default_video

    string, possible values: "professionalVideos", "funVideos", "inspirationalVideos", "customizeVideos" — The default Waiting Room video used when the layout is set to a video. Allowed: `professionalVideos` (Professional), `funVideos` (Fun), `inspirationalVideos` (Inspirational), `customizeVideos` (Upload my own video).

  • image

    object

    • file_id

      string — The Waiting Room background image file ID.

    • file_name

      string — The Waiting Room background image file name.

  • logo

    object

    • description

      string — The Waiting Room description shown together with the logo.

    • file_id

      string — The Waiting Room logo file ID.

    • file_name

      string — The Waiting Room logo file name.

  • participant_will_see

    string, possible values: "image", "logo_and_description", "video" — What participants in the Waiting Room will see. Allowed: `image` (An image), `logo_and_description` (A logo with description), `video` (A video).

  • title

    string — The Waiting Room host message.

  • video

    object

    • file_id

      string — The Waiting Room background video file ID.

    • file_name

      string — The Waiting Room background video file name.

Example:

{
  "logo": {
    "file_id": "8oGZC9WeQzC4wLKz5Yy8Bw",
    "file_name": "logo.png",
    "description": "Thank you for joining. The host will start the meeting shortly."
  },
  "image": {
    "file_id": "3nR7pQ1sT9uVxYzAaBbCcD",
    "file_name": "background.png"
  },
  "video": {
    "file_id": "7hJ2kL4mN6oP8qR0sT2uVw",
    "file_name": "welcome.mp4"
  },
  "title": "Please wait, the host will let you in soon.",
  "participant_will_see": "image",
  "default_image": "customize",
  "default_video": "customizeVideos"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request Invalid webinar Waiting Room image.
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 415 **HTTP Status Code:** `415` <br> Unsupported Media Type
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error Waiting Room branding upload is unavailable.

Get account's trusted domains

  • Method: GET
  • Path: /accounts/{accountId}/trusted_domains
  • Tags: Accounts

Retrieve an account's trusted domains. To get the master account's trusted domains, use the me value for the accountId path parameter.

Prerequisites:

  • The account must be a paid account.

[Scopes(/docs/integrations/oauth-scopes-overview/): account:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): account:read:trusted_domains:master

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` Account's trusted domains returned. **Error Code:** `2001` Account does not exist: $accountId
Content-Type: application/json
  • trusted_domains

    array — A list of the account's trusted domains.

    Items:

    string

Example:

{
  "trusted_domains": [
    "example.com"
  ]
}
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `2001` <br> Account does not exist: $accountId <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get AI adoption

  • Method: GET
  • Path: /metrics/ai/adoption
  • Tags: Dashboards

Get the AI adoption summary.

Prerequisites

  • Business or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:admin,dashboard_aic:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:ai_adoption:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` AI adoption summary returned successfully.
Content-Type: application/json
  • summaries

    array — All summaries.

    Items:

    • feature (required)

      string — The summary feature. `ai_chat_panel` - AI chat panel `ai_in_meetings` - AI in Meetings `meeting_summary` - Meeting summary `meeting_questions` - Meeting questions `smart_recording` - Smart recording `ai_in_phone` - AI in Phone `call_summary` - Call summary `voicemail_tasks` - Voicemail tasks `voicemail_Prioritization` - Voicemail prioritization `team_sms_thread_summary` - Team SMS thread summary `ai_in_chat` - AI in Chat `chat_thread_summary` - Chat thread summary `chat_compose` - Chat compose `ai_in_whiteboard` - AI in Whiteboard `ai_in_clips` - AI in Clips `custom_ai` - Custom AI

    • active_count

      number — The number of users who used the feature.

    • licensed_count

      number — The number of users with the feature license.

Example:

{
  "summaries": [
    {
      "feature": "ai_chat_panel",
      "licensed_count": 60,
      "active_count": 40
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> This API is only available for ZMP and Business or higher accounts that have enabled the Dashboard feature. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Get AI KPIs

  • Method: GET
  • Path: /metrics/ai/kpis
  • Tags: Dashboards

Get AI key performance indicators.

Prerequisites

  • Business or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:admin,dashboard_aic:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:ai_kpi:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` AI key performance indicators returned successfully.
Content-Type: application/json
  • kpis

    array — All KPIs.

    Items:

    • kpi (required)

      string — Unique identifier for the KPI. `AI_chat_panel_users` - AI chat panel active users. `AI_chat_panel_queries` - AI chat panel queries. `meeting_summary_hosts` - Meeting summary hosts. `meetings_with_summaries` - Meetings with summaries. `meeting_questions_users` - Meeting questions active users. `meetings_with_questions` - Meetings with questions. `smart_recording_users` - Smart recording active users. `smart_recording_generated` - Smart recordings generated. `chat_compose_users` - Chat compose active users. `chat_compose_assisted_actions` - Chat compose assisted actions. `chat_thread_summary_users` - Chat thread summary active users. `chat_thread_summaries_generated` - Chat thread summaries generated. `call_summary_users` - Call summary active users. `calls_with_call_summary_on` - Calls with call summary on. `voicemail_prioritization_users` - Voicemail prioritization active users. `voicemail_prioritization_generated` - Voicemail prioritization generated. `voicemail_tasks_users` - Voicemail tasks active users. `voicemail_tasks_generated` - Voicemail tasks generated. `team_SMS_thread_summary_users` - Team SMS thread summary active users. `team_SMS_thread_summary_generated` - Team SMS thread summary generated. `whiteboard_users` - Whiteboard active users. `whiteboard_content_generated` - Whiteboard content generated. `whiteboard_content_refined` - Whiteboard content refined. `clips_users` - Clips active users. `auto-generated_clip_metadata` - Auto-generated clip metadata. `template_avatars_used` - Template avatars used. `custom_avatars_used` - Custom avatars used. `custom_avatars_generated` - Custom avatars generated. `custom_AI_users` - Custom AI active users. `custom_AI_assisted_actions` - Custom AI assisted actions. `custom_AI_actions_using_knowledge` - Custom AI actions using knowledge. `custom_AI_actions_using_BYOI` - Custom AI actions using BYOI. `custom_AI_actions_using_3p_app` - Custom AI actions using 3rd-party app. `total_custom_agents` - Total custom agents.

    • pop_value (required)

      number — The period-over-period change percentage. A positive value indicates an increase and a negative value indicates a decrease.

    • value (required)

      number — The main numerical value.

Example:

{
  "kpis": [
    {
      "kpi": "meeting_summary_hosts",
      "value": 582,
      "pop_value": -55.1
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> This API is only available for ZMP and Business or higher accounts that have enabled the Dashboard feature. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> Range type is invalid. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Get AI usage details

  • Method: GET
  • Path: /metrics/ai/usage/details
  • Tags: Dashboards

Get AI usage and engagement details.

Prerequisites

  • Business or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:admin,dashboard_aic:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:ai_usage_details:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` AI usage and engagement details returned successfully.
Content-Type: application/json
  • details

    array — An array of AI usage and engagement details.

    Items:

    • action (required)

      integer — The action count for this user.

    • display_name (required)

      string — The user's display name.

    • email (required)

      string — The user's email address.

    • features_used (required)

      array — All of the AI features used by this user. `ai_chat_panel` - AI chat panel `meeting_summary` - Meeting summary `meeting_questions` - Meeting questions `smart_recording` - Smart recording `call_summary` - Call summary `voicemail_tasks` - Voicemail tasks `voicemail_prioritization` - Voicemail prioritization `team_SMS_thread_summary` - Team SMS thread summary `chat_thread_summary` - Chat thread summary `chat_compose` - Chat compose `ai_in_whiteboard` - AI in Whiteboard `ai_in_clips` - AI in Clips `custom_ai` - Custom AI

      Items:

      string

    • dept

      string — The user's department.

  • from

    string, format: date — The inputted `from` parameter value, in `yyyy-MM-dd HH:mm:ss` or `yyyy-MM-dd` format.

  • next_page_token

    string — Use the next page token to paginate through large result sets. A next page token is returned whenever the set of available results exceeds the current page size. This token's expiration period is 15 minutes.

  • page_size

    integer — The number of records returned within a single API call.

  • to

    string, format: date — The inputted `to` parameter value, in `yyyy-MM-dd HH:mm:ss` or `yyyy-MM-dd` format.

  • total_records

    integer — The total number of all the records available across pages.

Example:

{
  "from": "2026-05-11",
  "to": "2026-05-27",
  "next_page_token": "Tva2CuIdTgsv8wAnhyAdU3m06Y2HuLQtlh3",
  "page_size": 30,
  "total_records": 79,
  "details": [
    {
      "display_name": "Jacky",
      "email": "abc@test.com",
      "action": 20,
      "features_used": [
        "meetings_total"
      ],
      "dept": "HR"
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> Bad request.
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> Order type is invalid.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Get AI usage trend

  • Method: GET
  • Path: /metrics/ai/usage/trend
  • Tags: Dashboards

Get the AI usage and engagement trend.

Prerequisites

  • Business or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:admin,dashboard_aic:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:ai_usage_trend:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` AI usage and engagement trend returned successfully.
Content-Type: application/json
  • from

    string, format: date — The inputted `from` parameter value, in `yyyy-MM-dd HH:mm:ss` or `yyyy-MM-dd` format.

  • to

    string, format: date — The inputted `to` parameter value, in `yyyy-MM-dd HH:mm:ss` or `yyyy-MM-dd` format.

  • trend

    array — The trend data.

    Items:

    • date (required)

      string, format: date — The date of the data point.

    • metrics

      array — The metrics for the date.

      Items:

      • count (required)

        number — The metric count.

      • feature (required)

        string — The metric feature. `meeting_summary_users` - Meeting summary users. `meeting_summary_actions` - Meeting summary actions. `meeting_questions_users` - Meeting questions users. `meeting_questions_actions` - Meeting questions actions. `smart_recording_users` - Smart recording users. `smart_recording_actions` - Smart recording actions. `chat_compose_users` - Chat compose users. `chat_compose_actions` - Chat compose actions. `chat_thread_summary_users` - Chat thread summary users. `chat_thread_summary_actions` - Chat thread summary actions. `call_summary_users` - Call summary users. `call_summary_actions` - Call summary actions. `voicemail_prioritization_users` - Voicemail prioritization users. `voicemail_prioritization_actions` - Voicemail prioritization actions. `voicemail_tasks_users` - Voicemail tasks users. `voicemail_tasks_actions` - Voicemail tasks actions. `team_SMS_thread_summary_users` - Team SMS thread summary users. `team_SMS_thread_summary_actions` - Team SMS thread summary actions. `ai_in_Whiteboard_users` - AI in Whiteboard users. `ai_in_Whiteboard_actions` - AI in Whiteboard actions. `ai_in_Clips_users` - AI in Clips users. `ai_in_Clips_actions` - AI in Clips actions. `custom_AI_users` - Custom AI users. `custom_AI_actions` - Custom AI actions. `custom_ai_knowledge_actions` - Custom AI knowledge actions. `custom_ai_BYOI_actions` - Custom AI BYOI actions. `custom_ai_3p_app_actions` - Custom AI 3rd-party app actions. `custom_ai_3p_app_usage_users` - Custom AI 3rd-party app usage users. `custom_ai_3p_app_usage_actions` - Custom AI 3rd-party app usage actions.

      • category

        string — The metric category. Only returned when the feature is `custom_ai_3p_app_usage_users` or `custom_ai_3p_app_usage_actions`.

Example:

{
  "from": "2026-05-21",
  "to": "2026-05-27",
  "trend": [
    {
      "date": "2026-05-21",
      "metrics": [
        {
          "feature": "meeting_questions",
          "category": "Jira",
          "count": 10
        }
      ]
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> This API is only available for ZMP and Business or higher accounts that have enabled the Dashboard feature. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> Feature is invalid. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Get AIC ROI KPIs

  • Method: GET
  • Path: /metrics/aic/roi/kpis
  • Tags: Dashboards

Get AIC ROI KPI data. Specify a monthly date range for the dashboard data using the from and to query parameters. The month should fall within the last six months.

Prerequisites

  • Business or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:admin,dashboard_aic:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:aic_roi_kpi:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` AIC ROI KPI data returned successfully.
Content-Type: application/json
  • avg_views_per_shared_summary

    object — The average number of views per shared meeting summary.

  • host_minutes_saved

    object — The host minutes saved.

  • participant_minutes_saved

    object — The participant minutes saved.

  • total_minutes_saved

    object — The total minutes saved.

  • unrealized_host_minutes

    object — The unrealized host minutes.

  • unrealized_participant_minutes

    object — The unrealized participant minutes.

Example:

{
  "total_minutes_saved": {
    "value": 582,
    "pop_value": -55.1
  },
  "host_minutes_saved": {
    "value": 582,
    "pop_value": -55.1
  },
  "participant_minutes_saved": {
    "value": 582,
    "pop_value": -55.1
  },
  "unrealized_host_minutes": {
    "value": 582,
    "pop_value": -55.1
  },
  "unrealized_participant_minutes": {
    "value": 582,
    "pop_value": -55.1
  },
  "avg_views_per_shared_summary": {
    "value": 582,
    "pop_value": -55.1
  }
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> This API is only available for ZMP and Business or higher accounts that have enabled the Dashboard feature. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> Range type is invalid. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Get AIC ROI meeting summary usage

  • Method: GET
  • Path: /metrics/aic/roi/meeting_summary_usage
  • Tags: Dashboards

Get AIC ROI meeting summary usage data. Specify a monthly date range for the dashboard data using the from and to query parameters. The month should fall within the last six months.

Prerequisites

  • A Business plan or higher.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:admin,dashboard_aic:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:aic_roi_meeting_summary_usage:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` Meeting summary usage returned.
Content-Type: application/json
  • from

    string, format: date — The inputted `from` parameter value, in `yyyy-MM-dd HH:mm:ss` or `yyyy-MM-dd` format.

  • meeting_summary_usage

    array — An array of meeting summary usage objects.

    Items:

    • host_savings_minutes

      integer — The number of minutes saved by the host.

    • id

      integer, format: int64 — The [meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in **long** format, represented as int64 data type in JSON, also known as the meeting number.

    • is_summary_created

      boolean — Whether a meeting summary was created.

    • is_summary_shared

      boolean — Whether the summary was shared with participants.

    • meeting_minutes

      integer — The total minutes of the meeting.

    • participant_savings_minutes

      integer — The number of minutes saved by the participants.

    • participants

      integer — The number of meeting participants.

    • unique_summary_viewers

      integer — The number of unique viewers who accessed the summary.

    • unrealized_host_minutes

      integer — The number of unrealized minutes for the host.

    • unrealized_participant_minutes

      integer — The number of unrealized minutes for the participants.

  • next_page_token

    string — Use the next page token to paginate through large result sets. A next page token is returned whenever the set of available results exceeds the current page size. This token's expiration period is 15 minutes.

  • page_size

    integer — The number of records returned within a single API call.

  • to

    string, format: date — The inputted `to` parameter value, in `yyyy-MM-dd HH:mm:ss` or `yyyy-MM-dd` format.

  • total_records

    integer — The total number of all the records available across pages.

Example:

{
  "from": "2026-04-20",
  "to": "2026-04-27",
  "next_page_token": "Tva2CuIdTgsv8wAnhyAdU3m06Y2HuLQtlh3",
  "page_size": 30,
  "total_records": 79,
  "meeting_summary_usage": [
    {
      "id": 92065052482,
      "meeting_minutes": 1,
      "participants": 1,
      "is_summary_created": true,
      "is_summary_shared": true,
      "host_savings_minutes": 1,
      "participant_savings_minutes": 0,
      "unrealized_host_minutes": 0,
      "unrealized_participant_minutes": 0,
      "unique_summary_viewers": 0
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> This API is only available for ZMP and Business or higher accounts that have enabled the Dashboard feature. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Get chat metrics

  • Method: GET
  • Path: /metrics/chat
  • Tags: Dashboards

Get metrics for how users are utilizing Zoom Chat to send messages.

Use the from and to query parameters to specify a monthly date range for the dashboard data. The monthly date range must be within the last six months.

> Note: To query chat metrics from July 1, 2021 and later, use this endpoint instead of the Get IM metrics API.

Prerequisites:

  • Business or a higher plan

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_im:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:chat:admin

Rate Limit Label: Resource-intensive

Responses

Status: 200 **HTTP Status Code:** `200` Chat details returned. Only available for paid accounts that have enabled the dashboard feature.
Content-Type: application/json

All of:

  • from

    string, format: date — The report's start date.

  • next_page_token

    string — The report's [`next_page_token` value](https://marketplace.zoom.us/docs/api-reference/pagination#next-page-token). The API returns this value when the set of available results exceeds the current page size. This token expires after 15 minutes.

  • page_size

    integer, default: 30 — The number of records to return within a single API call.

  • to

    string, format: date — The report's end date.

  • users

    array

    Items:

    • audio_sent

      integer — The user's total number of audio files sent.

    • code_sippet_sent

      integer — The user's total number of code snippets sent.

    • email

      string, format: email — The user's email address.

    • files_sent

      integer — The user's total number of files sent.

    • giphys_sent

      integer — The user's total number of [GIPHY](https://giphy.com/) images sent.

    • group_sent

      integer — The user's total number of messages sent in Zoom Chat channels.

    • images_sent

      integer — The user's total number of images sent.

    • p2p_sent

      integer — The user's total number of peer-to-peer (P2P) chat messages sent.

    • text_sent

      integer — The user's total number of text messages sent.

    • total_sent

      integer — The user's total number of messages sent.

    • user_id

      string — The user's ID.

    • user_name

      string — The user's display name.

    • video_sent

      integer — The user's total number of video files sent.

Example:

{
  "from": "2022-04-06",
  "next_page_token": "LkbB9n92siRxgYkffZ8KhApZCQMZpNrN0d2",
  "page_size": 30,
  "to": "2022-04-07",
  "users": [
    {
      "audio_sent": 0,
      "code_sippet_sent": 0,
      "email": "user@example.com",
      "files_sent": 0,
      "giphys_sent": 0,
      "group_sent": 0,
      "images_sent": 0,
      "p2p_sent": 0,
      "text_sent": 0,
      "total_sent": 0,
      "user_id": "-0hwjTHMR9uteSRrygQXMA",
      "user_name": "jchill",
      "video_sent": 0
    }
  ]
}
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List Zoom meetings client feedback

  • Method: GET
  • Path: /metrics/client/feedback
  • Tags: Dashboards

Use this API to return Zoom meetings client feedback survey results. You can specify a monthly date range for the Dashboard data using the from and to query parameters. The month should fall within the last six months.

Prerequisites:

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_home:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:list_meetings_feedback:admin

Rate Limit Label: Heavy

Responses

Status: 200 **HTTP Status Code:** `200` Client Feedback details returned.
Content-Type: application/json
  • client_feedbacks

    array

    Items:

    • feedback_id

      string — Feedback Id

    • feedback_name

      string — Feedback Name

    • participants_count

      integer — The number of participants that upvoted the feedback.

  • from

    string, format: date — Start date for this report

  • to

    string, format: date — End date for this report

  • total_records

    integer — The number of all records available across pages

Example:

{
  "client_feedbacks": [
    {
      "feedback_id": "1",
      "feedback_name": "Others",
      "participants_count": 0
    }
  ],
  "from": "2022-01-01",
  "to": "2022-01-30",
  "total_records": 10
}
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get zoom meetings client feedback

  • Method: GET
  • Path: /metrics/client/feedback/{feedbackId}
  • Tags: Dashboards

Retrieve detailed information on a Zoom meetings client feedback.
You can specify a monthly date range for the dashboard data using the from and to query parameters. The month should fall within the last six months.

Prerequisites:

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_home:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:meeting_feedback:admin

Rate Limit Label: Heavy

Responses

Status: 200 **HTTP Status Code:** `200` Client Feedback details returned
Content-Type: application/json

All of:

  • from

    string, format: date — Start date for this report

  • to

    string, format: date — End date for this report

  • next_page_token

    string — The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.

  • page_size

    integer, default: 30 — The amount of records returns within a single API call.

  • client_feedback_details

    array

    Items:

    • email

      string — Email address of the participant. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#email-address) for details.

    • meeting_id

      string — Meeting ID

    • participant_name

      string — Participant Name

    • time

      string, format: date-time — Time at which the feedback was submitted by the participant.

Example:

{
  "from": "2022-01-01",
  "to": "2022-01-30",
  "next_page_token": "uBTK3NzNksdkuCUAQaFVFd86kyOr59zg4U2",
  "page_size": 30,
  "client_feedback_details": [
    {
      "email": "user@example.com",
      "meeting_id": "99525891193",
      "participant_name": "jchill",
      "time": "2022-01-19T07:34:09Z"
    }
  ]
}
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List client meeting satisfaction

  • Method: GET
  • Path: /metrics/client/satisfaction
  • Tags: Dashboards

If the End of Meeting Feedback Survey option is enabled, attendees will be prompted with a survey window where they can tap either the Thumbs Up or Thumbs Down button that indicates their Zoom meeting experience. With this API, you can get information on the attendees' meeting satisfaction. Specify a monthly date range for the query using the from and to query parameters. The month should fall within the last six months.

To get information on the survey results with negative experiences (indicated by Thumbs Down), use the Get Zoom meetings client feedback API.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_home:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:meeting_survey:admin

Rate Limit Label: Heavy

Responses

Status: 200 **HTTP Status Code:** `200` Client satisfaction data returned.
Content-Type: application/json
  • client_satisfaction

    array

    Items:

    • date

      string, format: date — Date of the report.

    • good_count

      integer — The total number of &quot;thumbs up&quot; received for this meeting.

    • none_count

      integer — The total number of attendees who didn't submit any response (neither thumbs up nor thumbs down).

    • not_good_count

      integer — The total number of &quot;thumbs down&quot; received for this meeting.

    • satisfaction_percent

      number, format: double — Satisfaction Percentage. The satisfaction percentage is calculated as `(good_count + none_count)` / `total_count`.

  • from

    string, format: date — Start date for this report in 'yyyy-mm-dd' format.

  • to

    string, format: date — End date for this report in 'yyyy-mm-dd' format.

  • total_records

    integer — The total number of records available across all pages.

Example:

{
  "client_satisfaction": [
    {
      "date": "2022-01-01",
      "good_count": 0,
      "none_count": 0,
      "not_good_count": 0,
      "satisfaction_percent": 100
    }
  ],
  "from": "2022-01-01",
  "to": "2022-01-30",
  "total_records": 30
}
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List the client versions

  • Method: GET
  • Path: /metrics/client_versions
  • Tags: Dashboards

Use this API to list all the client versions and its count.

Prerequisites:

  • A Business or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_home:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:client_versions:admin

Rate Limit Label: Heavy

Responses

Status: 200 **HTTP Status Code:** `200` The client versions returned successfully. Only available for paid accounts that have enabled the Dashboard feature.
Content-Type: application/json
  • client_versions

    array — List of the client versions.

    Items:

    • client_version

      string — The client version

    • total_count

      integer — The total count of the client version

Example:

{
  "client_versions": [
    {
      "client_version": "win_5.1.1697.0821",
      "total_count": 10
    }
  ]
}
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get CRC port usage

  • Method: GET
  • Path: /metrics/crc
  • Tags: Dashboards

A Cloud Room Connector allows H.323/SIP endpoints to connect to a Zoom meeting.

Use this API to get the hour by hour CRC Port usage for a specified period of time. <aside class='notice'>We will provide the report for a maximum of one month. For example, if "from" is set to "2017-08-05" and "to" is set to "2017-10-10", we will adjust "from" to "2017-09-10".</aside>

Prerequisites:

  • Business, Education or API Plan.
  • Room Connector must be enabled on the account.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_crc:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:crc_port_usage:admin

Rate Limit Label: Heavy

Responses

Status: 200 **HTTP Status Code:** `200` CRC usage returned. Only available for paid accounts that have enabled the Dashboard feature.
Content-Type: application/json

All of:

  • from

    string, format: date — Start date for this report.

  • to

    string, format: date — End date for this report.

  • crc_ports_usage

    array

    Items:

    • crc_ports_hour_usage

      array

      Items:

      • hour

        string — Hour in the day, during which the CRC was used. For example if the CRC was used at 11 pm, the value of this field will be 23.

      • max_usage

        integer — The maximum number of concurrent ports that are being used in that hour.

      • total_usage

        integer — The total number of H.323/SIP connections in that hour.

    • date_time

      string, format: date — The date and time of the port usage.

Example:

{
  "from": "2022-03-01",
  "to": "2022-03-30",
  "crc_ports_usage": [
    {
      "crc_ports_hour_usage": [
        {
          "hour": "00",
          "max_usage": 0,
          "total_usage": 0
        }
      ],
      "date_time": "2022-03-01"
    }
  ]
}
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get top 25 Zoom Rooms with issues

  • Method: GET
  • Path: /metrics/issues/zoomrooms
  • Tags: Dashboards

Get information on top 25 Zoom Rooms with issues in a month. The month specified with the "from" and "to" range should fall within the last six months.

Prerequisites:

  • Business or a higher plan.
  • Zoom Room must be enabled in the account.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_home:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:list_zoomrooms:admin

Rate Limit Label: Heavy

Responses

Status: 200 **HTTP Status Code:** `200` Zoom Room with issue details returned
Content-Type: application/json

All of:

  • from

    string, format: date — Start date for this report

  • to

    string, format: date — End date for this report

  • total_records

    integer — The number of all records available across pages

  • zoom_rooms

    array

    Items:

    • id

      string — Zoom Room ID

    • issues_count

      integer — Issue Count of Zoom Room

    • room_name

      string — Zoom Room Name

Example:

{
  "from": "2022-01-01",
  "to": "2022-01-30",
  "total_records": 30,
  "zoom_rooms": [
    {
      "id": "NHwIXQQ2Ro-fJ13cxj_fuQ",
      "issues_count": 12,
      "room_name": "jchill room"
    }
  ]
}
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get issues of Zoom Rooms

  • Method: GET
  • Path: /metrics/issues/zoomrooms/{zoomroomId}
  • Tags: Dashboards

Use this API to return information about the Zoom Rooms in an account with issues, such as disconnected hardware or bandwidth issues. You can specify a monthly date range for the Dashboard data using the from and to query parameters. The month should fall within the last six months.

Prerequisites:

  • A Business or a higher plan.
  • A Zoom Room must be enabled in the account.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_home:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:issues_zoomroom:admin

Rate Limit Label: Heavy

Responses

Status: 200 **HTTP Status Code:** `200` Zoom Room with issue details returned
Content-Type: application/json

All of:

  • from

    string, format: date — Start date for this report

  • to

    string, format: date — End date for this report

  • next_page_token

    string — The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • page_count

    integer — The number of pages returned for the request made.

  • page_size

    integer, default: 30 — The number of records returned within a single API call.

  • total_records

    integer — The number of all records available across pages.

  • issue_details

    array

    Items:

    • issue

      string — Zoom Room Issue Detail. The value of the this field could be one of the following: * `Room Controller disconnected` * `Room Controller connected` * `Selected camera has disconnected` * `Selected camera is reconnected` * `Selected microphone has disconnected` * `Selected microphone is reconnected` * `Selected speaker has disconnected` * `Selected speaker is reconnected` * `Zoom room is offline` * `Zoom room is online` * `High CPU usage is detected` * `Low bandwidth network is detected` * `{name} battery is low` * `{name} battery is normal` * `{name} disconnected` * `{name} connected` * `{name} is not charging` Possible values for {name}: * Zoom Rooms Computer * Controller * Scheduling Display

    • time

      string, format: date-time — Time at which the issue was encountered.

Example:

{
  "from": "2022-02-01",
  "to": "2022-02-28",
  "next_page_token": "Tva2CuIdTgsv8wAnhyAdU3m06Y2HuLQtlh3",
  "page_count": 1,
  "page_size": 30,
  "total_records": 1,
  "issue_details": [
    {
      "issue": "Untrusted certificate is detected",
      "time": "2022-02-27T08:37:05Z"
    }
  ]
}
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List meetings

  • Method: GET
  • Path: /metrics/meetings
  • Tags: Dashboards

Lists the total live or past meetings that occurred during a specified period of time.

This overview shows if features such as audio, video, screen sharing, and recording were being used in the meeting.

You can also see the license types of each user on your account. Specify a monthly date range for the dashboard data using the from and to query parameters. The month should fall within the last six months.

Prerequisites

  • Business or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_meetings:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:list_meetings:admin

Rate Limit Label: RESOURCE-INTENSIVE

Responses

Status: 200 **HTTP Status Code:** `200` Meetings returned. This API is only available for ZMP and Business or higher accounts that have enabled the Dashboard feature.
Content-Type: application/json

All of:

  • from

    string, format: date — The inputted 'from' parameter format, in 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd' format.

  • to

    string, format: date — The inputted 'to' parameter format, in 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd' format.

  • next_page_token

    string — Use the next page token to paginate through large result sets. A next page token is returned whenever the set of available results exceeds the current page size. This token's expiration period is 15 minutes.

  • page_count

    integer — The number of pages returned for the request made.

  • page_size

    integer, default: 30 — The number of records returned within a single API call.

  • total_records

    integer — The number of all records available across pages.

  • meetings

    array — An array of meeting objects.

    Items:

    • audio_quality

      string, possible values: "good", "fair", "poor", "bad" — The meeting's [audio quality score](https://support.zoom.us/hc/en-us/articles/360061244651-Using-meeting-quality-scores-and-network-alerts). * `good` &mdash; The audio is almost flawless and the quality is excellent. * `fair` - The audio occasionally has distortion, noise, and other problems, but the content is basically continuous. Participants can communicate normally. * `poor` - The audio often has distortion, noise, and other problems, but the content is basically continuous. Participants can communicate normally. * `bad` - The sound quality is extremely poor and the audio content is almost inaudible.

    • avg_jointime_cost

      number — the average join meeting time of all participants, the unit is seconds.

    • custom_keys

      array — The custom keys and values assigned to the meeting.

      Items:

      • key

        string — The custom key associated with the meeting.

      • value

        string — The value of the custom key associated with the meeting.

    • dept

      string — The host's department.

    • duration

      string — The meeting duration, formatted as `hh:mm:ss`. Example: `16:08` for 16 minutes and 8 seconds.

    • email

      string — The host's email address.

    • end_time

      string | null, format: date-time — The meeting's end time.

    • has_3rd_party_audio

      boolean — Whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.

    • has_archiving

      boolean — Whether the archiving feature was used in the meeting.

    • has_automated_captions

      boolean — Whether an automated caption was enabled in the meeting.

    • has_external_participant

      boolean — Whether the meeting has an external participant.

    • has_manual_captions

      boolean — Whether a manual caption was enabled in the meeting.

    • has_poll

      boolean — Whether or not poll was used in the meeting.

    • has_pstn

      boolean — Whether or not the PSTN was used in the meeting.

    • has_qa

      boolean — Whether or not qa was used in the meeting.

    • has_recording

      boolean — Whether or not the recording feature was used in the meeting.

    • has_screen_share

      boolean — Whether or not screenshare feature was used in the meeting.

    • has_sip

      boolean — Whether or not someone joined the meeting using SIP.

    • has_survey

      boolean — Whether or not survey was used in the meeting.

    • has_video

      boolean — Whether or not video was used in the meeting.

    • has_voip

      boolean — Whether or not VoIP was used in the meeting.

    • host

      string — The host's display name.

    • id

      integer, format: int64 — The [meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in &quot;**long**&quot; format(represented as int64 data type in JSON), also known as the meeting number.

    • participants

      integer — The meeting participant count.

    • screen_share_quality

      string, possible values: "good", "fair", "poor", "bad" — The meeting's [screen share quality score](https://support.zoom.us/hc/en-us/articles/360061244651-Using-meeting-quality-scores-and-network-alerts). * `good` - The video is almost flawless and the quality is excellent. * `fair` - The video definition is high, occasionally gets stuck, fast or slow, or other problems, but the frequency is very low and the video quality is good. * `poor` - The video definition is not high, but not many problems exist. The video quality is mediocre. * `bad` - The picture is very blurred and often gets stuck.

    • session_key

      string — The Video SDK custom session ID.

    • start_time

      string, format: date-time — The meeting start time.

    • topic

      string — The meeting topic.

    • tracking_fields

      array — The tracking fields and values assigned to the meeting.

      Items:

      • field

        string — The label of the tracking field.

      • value

        string — The value of the tracking field.

    • user_type

      string — The user's license type.

    • uuid

      string — The meeting unique universal identifier (UUID). Double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.

    • video_quality

      string, possible values: "good", "fair", "poor", "bad" — The meeting's [video quality score](https://support.zoom.us/hc/en-us/articles/360061244651-Using-meeting-quality-scores-and-network-alerts). * `good` - The video is almost flawless and the quality is excellent. * `fair` - The video definition is high, occasionally gets stuck, fast or slow, or other problems, but the frequency is very low and the video quality is good. * `poor` - The video definition is not high, but not many problems exist. The video quality is mediocre. * `bad` - The picture is very blurred and often gets stuck.

Example:

{
  "from": "2022-04-01",
  "to": "2022-04-07",
  "next_page_token": "Tva2CuIdTgsv8wAnhyAdU3m06Y2HuLQtlh3",
  "page_count": 1,
  "page_size": 30,
  "total_records": 1,
  "meetings": [
    {
      "host": "Jill Chill",
      "audio_quality": "good",
      "custom_keys": [
        {
          "key": "Host Nation",
          "value": "US"
        }
      ],
      "dept": "Developers",
      "duration": "00:56",
      "email": "jchill@example.com",
      "end_time": "2022-01-04T07:50:47Z",
      "has_3rd_party_audio": true,
      "has_archiving": true,
      "has_pstn": true,
      "has_recording": true,
      "has_screen_share": true,
      "has_sip": true,
      "has_video": true,
      "has_voip": true,
      "has_manual_captions": true,
      "has_automated_captions": true,
      "id": 93201235621,
      "participants": 2,
      "screen_share_quality": "good",
      "session_key": "ABC36jaBI145",
      "start_time": "2022-01-04T08:04:27Z",
      "topic": "Share Now",
      "tracking_fields": [
        {
          "field": "Meeting purpose.",
          "value": "Support"
        }
      ],
      "user_type": "Licensed",
      "uuid": "gm8s9L+PTEC+FG3sFbd1Cw==",
      "video_quality": "good",
      "has_poll": false,
      "has_qa": false,
      "has_survey": false,
      "avg_jointime_cost": 4.55,
      "has_external_participant": true
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `12700` <br> This account cannot query meetings by `end_time`. <br> **Error Code:** `400` <br> This API is only available for ZMP and Business or higher accounts that have enabled the Dashboard feature. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get meeting details

  • Method: GET
  • Path: /metrics/meetings/{meetingId}
  • Tags: Dashboards

Get details on live or past meetings. This overview shows if features such as audio, video, screen sharing, and recording were being used in the meeting. You can also see the license types of each user on your account.
Specify a monthly date range for the dashboard data using the from and to query parameters. The month should fall within the last six months.

Prerequisites

  • Business or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_meetings:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:meeting:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` Meeting returned. Only available for paid accounts that have enabled the dashboard feature.
Content-Type: application/json
  • avg_jointime_cost

    number — the average join meeting time of all participants, the unit is seconds.

  • custom_keys

    array — Custom keys and values assigned to the meeting.

    Items:

    • key

      string — Custom key associated with the meeting.

    • value

      string — Value of the custom key associated with the meeting.

  • dept

    string — The host's department.

  • duration

    string — Meeting duration.

  • email

    string — The host's email address.

  • end_time

    string, format: date-time — Meeting end time.

  • has_3rd_party_audio

    boolean — Whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.

  • has_aic_conversation

    boolean — Whether the aic conversation feature was used in the meeting.

  • has_archiving

    boolean — Whether the archiving feature was used in the meeting.

  • has_automated_captions

    boolean — Whether an automated caption was enabled in the meeting.

  • has_external_participant

    boolean — Whether the meeting has an external participant.

  • has_manual_captions

    boolean — Whether a manual caption was enabled in the meeting.

  • has_meeting_summary

    boolean — Whether the summary feature was used in the meeting.

  • has_poll

    boolean — Whether a poll was used in the meeting.

  • has_pstn

    boolean — Whether or not the PSTN was used in the meeting.

  • has_qa

    boolean — Whether Q&A was used in the meeting.

  • has_recording

    boolean — Whether or not the recording feature was used in the meeting.

  • has_screen_share

    boolean — Whether or not screenshare feature was used in the meeting.

  • has_sip

    boolean — Whether or not someone joined the meeting using SIP.

  • has_survey

    boolean — Whether a survey was used in the meeting.

  • has_video

    boolean — Whether or not video was used in the meeting.

  • has_voip

    boolean — Whether or not VoIP was used in the meeting.

  • host

    string — Host display name.

  • id

    integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in &quot;**long**&quot; format(represented as int64 data type in JSON), also known as the meeting number.

  • in_room_participants

    integer — The number of Zoom Room participants in the meeting.

  • participants

    integer — Meeting participant count.

  • start_time

    string, format: date-time — Meeting start time.

  • topic

    string — Meeting topic.

  • user_type

    string — The user's license type.

  • uuid

    string — Meeting UUID. [Double encode](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.

Example:

{
  "host": "API",
  "custom_keys": [
    {
      "key": "Host Nation",
      "value": "US"
    }
  ],
  "dept": "Developers",
  "duration": "02:21",
  "email": "user@example.com",
  "end_time": "2022-03-01T10:17:35Z",
  "has_3rd_party_audio": true,
  "has_archiving": true,
  "has_pstn": true,
  "has_recording": true,
  "has_screen_share": true,
  "has_sip": true,
  "has_video": true,
  "has_voip": true,
  "has_manual_captions": true,
  "has_automated_captions": true,
  "id": 575734086,
  "in_room_participants": 2,
  "participants": 2,
  "start_time": "2022-03-01T10:15:14Z",
  "topic": "API Meeting",
  "user_type": "Licensed",
  "uuid": "gaqOKVN9RAaDHKYWEcASXg==",
  "has_meeting_summary": true,
  "has_aic_conversation": true,
  "has_poll": true,
  "has_qa": true,
  "has_survey": false,
  "avg_jointime_cost": 3.98,
  "has_external_participant": true
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `12702` <br> Cannot access meetings from over one year ago. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> Meeting ID is invalid or the meeting has not ended yet.<br> This meeting's details are not available. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

List meeting participants

  • Method: GET
  • Path: /metrics/meetings/{meetingId}/participants
  • Tags: Dashboards

Return a list of participants from live or past meetings.

If you don't provide the type query parameter, the default value is set to the live value. This API only returns metrics for participants in a live meeting, if any exist. You can specify a monthly date range for the dashboard data using the from and to query parameters. The month should fall within the last six months.

Note:

This API may return empty values for participants' user_name, ip_address, location, and email responses when the account calling this API:

  • Is a [legacy HIPAA BAA account(/docs/api/references/legacy-business-associate-agreements/).
  • Displays data for any users who are not part of the host's account (external users) unless they meet certain conditions. See [Email address display rules(/docs/api/using-zoom-apis/#email-address-display-rules) for details.

Prerequisites:

  • A Business or higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_meetings:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:list_meeting_participants:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` Meeting participants returned. This API is only available for ZMP and Business or higher accounts that have enabled the Dashboard feature.
Content-Type: application/json

All of:

  • meeting_number

    string — Unique identifier of the meeting in "long" format(represented as int64 data type in JSON)

  • next_page_token

    string — Use the next page token to paginate through a large set of results. A next page token returns whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • page_count

    integer — The number of pages returned for the request made.

  • page_size

    integer, default: 30 — The number of records returned within a single API call.

  • total_records

    integer — The number of all records available across pages.

  • participants

    array — The information about the meeting participants. If a participant left a meeting and rejoined the same meeting, their information appears as many times as they joined the meeting.

    Items:

    • aic_disclaimer

      string, possible values: "no disclaimer", "agree", "leave meeting", "Request to stop" — The participant's AI Companion disclaimer status.

    • as_connection_type

      string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's screen share connection type.

    • audio_call

      array — Information about the meeting participant's audio call. Some participants may join the meeting through the phone call or are bound to the audio.

      Items:

      • call_number

        string — The caller's number.

      • call_type

        string, possible values: "call-in", "call-out" — The call type.

      • zoom_number

        string — The toll-free telephone number.

    • audio_quality

      string, possible values: "", "good", "fair", "poor", "bad" — The participant's [audio quality score](https://support.zoom.us/hc/en-us/articles/360061244651-Using-meeting-quality-scores-and-network-alerts). The API only returns this value when the **Meeting quality scores and network alerts on Dashboard** setting is enabled in the Zoom Web Portal and the **Show meeting quality score and network alerts on Dashboard** option is selected in [**Account Settings**](https://zoom.us/account/setting). * `good` - The audio is almost flawless and the quality is excellent. * `fair` - The audio occasionally has distortion, noise, and other problems, but the content is basically continuous. Participants can communicate normally. * `poor` - The audio often has distortion, noise, and other problems, but the content is basically continuous. Participants can communicate normally. * `bad` - The sound quality is extremely poor and the audio content is almost inaudible.

    • bo_mtg_id

      string — The [breakout room](https://support.zoom.us/hc/en-us/articles/206476313-Managing-breakout-rooms) ID. Each breakout room is assigned a unique ID.

    • browser_name

      string — Webclient operation browser.

    • browser_version

      string — Webclient operation browser version.

    • camera

      string — The type of camera that the participant used during the meeting. **Note:** This response returns an empty string (``) value for any users who are **not** a part of the host's account (external users).

    • client

      string — Client software version or SDK version.

    • connection_type

      string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's connection type.

    • customer_key

      string — The participant's SDK identifier. This value can be alphanumeric, up to a maximum length of 35 characters.

    • data_center

      string — The data center that the participant is leveraging to join the meeting.

    • device

      string, possible values: "Phone", "H.323/SIP", "Windows", "Mac", "iOS", "Android" — The type of device the participant used to join the meeting. * `Phone` - The participant joined via PSTN. * `H.323/SIP` - The participant joined via an H.323 or SIP device. * `Windows` - The participant joined via VoIP using a Windows device. * `Mac` - The participant joined via VoIP using a Mac device. * `iOS` - The participant joined via VoIP using an iOS device. * `Android` - The participant joined via VoIP using an Android device. **Note:** This response returns an empty string (``) value for any users who are **not** a part of the host's account (external users).

    • device_name

      string — The device's name.

    • domain

      string — The participant's PC domain. **Note** This response returns an empty string (``) value for any users who are **not** a part of the host's account (external users).

    • email

      string, format: email — The participant's email address. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](/docs/api-reference/using-zoom-apis#email-address) for details.

    • from_sip_uri

      string — The meeting participant's SIP From header URI. The API only returns this response when the participant joins a meeting via SIP.

    • full_data_center

      string — The data center where participant's meeting data is stored. This field includes a semicolon-separated list of HTTP Tunnel (HT), Cloud Room Connector (CRC), and Real-Time Web Gateway (RWG) location information.

    • groupId

      string — the attendee's group ID.

    • harddisk_id

      string — The participant's hard disk ID. **Note** This response returns an empty string (``) value for any users who are **not** a part of the host's account (external users).

    • has_archiving

      boolean — The status of the archiving feature for the meeting.

    • id

      string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/docs/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

    • in_room_participants

      integer — The number of participants that joined via Zoom Room.

    • internal_ip_addresses

      array — The participant's internal IP addresses. This field will not return under these specific conditions. * The account calling this API is a **legacy** [business associate agreement (BAA) under HIPAA](https://www.ecfr.gov/cgi-bin/retrieveECFR?gp=1&amp;n=se45.1.160_1103&amp;r=SECTION&amp;ty=HTML). * The account calling this API is a BAA under HIPAA **without** a signed BAA data processing addendum.

      Items:

      string

    • ip_address

      string — The participant's IP address.

    • join_time

      string, format: date-time — The time when a participant joined the meeting.

    • leave_reason

      string, possible values: "$name left the meeting.", "$name got disconnected from the meeting.", "Host ended the meeting.", "Host closed the meeting.", "Host started a new meeting.", "Network connection error.", "Host did not join.", "Exceeded free meeting minutes limit.", "Removed by host.", "Unknown reason.", "Leave waiting room.", "Removed by host from waiting room." — The reason why the participant left the meeting, where `$name` is the participant's username: * `$name left the meeting.` * `$name got disconnected from the meeting.` * `Host ended the meeting.` * `Host closed the meeting.` * `Host started a new meeting.` * `Network connection error.` * `Host did not join.` * `Exceeded free meeting minutes limit.` * `Removed by host.` * `Unknown reason.` * `Leave waiting room.` * `Removed by host from waiting room.`

    • leave_time

      string, format: date-time — The time when a participant left the meeting. For live meetings, this field only returns if a participant has left the ongoing meeting.

    • location

      string — The participant's location.

    • mac_addr

      string — The participant's MAC address. **Note** This response returns an empty string (``) value for any users who are **not** a part of the host's account (external users).

    • microphone

      string — The type of microphone that the participant used during the meeting. **Note:** This response returns an empty string (``) value for any users who are **not** a part of the host's account (external users).

    • network_type

      string, possible values: "Wired", "Wifi", "PPP", "Cellular", "Others" — The participant's network type. * `Wired` * `Wifi` * `PPP` - Point-to-Point. * `Cellular` - 3G, 4G, and 5G cellular. * `Others` - An unknown device.

    • optional_archiving

      string, possible values: "no optional archiving", "join without archiving", "join with archiving" — This is shown only for internal participants who have archiving enabled.

    • os

      string — The device operation system.

    • os_version

      string — The device operation system version.

    • participant_user_id

      string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/docs/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value.

    • participant_uuid

      string — The participant's UUID. This value assigned to a participant upon joining a meeting and is only valid for the meeting's duration.

    • pc_name

      string — The participant's PC name.

    • recording

      boolean — Whether the recording feature was used during the meeting.

    • registrant_id

      string — The participant's unique registrant ID. This field only returns if you pass the `registrant_id` value for the `include_fields` query parameter. This field does not return if the `type` query parameter is the `live` value.

    • role

      string, possible values: "host", "attendee" — The participant's role. * `host` - Host. * `attendee` - Attendee.

    • screen_share_quality

      string, possible values: "", "good", "fair", "poor", "bad" — The participant's [screen share quality score](https://support.zoom.us/hc/en-us/articles/360061244651-Using-meeting-quality-scores-and-network-alerts). The API only returns this value when the **Meeting quality scores and network alerts on Dashboard** setting is enabled in the Zoom Web Portal and the **Show meeting quality score and network alerts on Dashboard** option is selected in [**Account Settings**](https://zoom.us/account/setting). * `good` - The video is almost flawless and the quality is excellent. * `fair` - The video definition is high, occasionally gets stuck, fast or slow, or other problems, but the frequency is very low and the video quality is good. * `poor` - The video definition is not high, but not many problems exist. The video quality is mediocre. * `bad` - The picture is very blurred and often gets stuck.

    • share_application

      boolean — Whether the participant chose to share an iPhone or iPad app during the screenshare.

    • share_desktop

      boolean — Whether the participant chose to share their desktop during the screenshare.

    • share_whiteboard

      boolean — Whether the participant chose to share their whiteboard during the screenshare.

    • sip_uri

      string — The meeting participant's SIP (Session Initiation Protocol) Contact header URI. The API only returns this response when the participant joins a meeting via SIP.

    • speaker

      string — The type of speaker that the participant used during the meeting. **Note:** This response returns an empty string (``) value for any users who are **not** a part of the host's account (external users).

    • status

      string, possible values: "in_meeting", "in_waiting_room" — The participant's status. * `in_meeting` - In a meeting. * `in_waiting_room` - In a waiting room.

    • total_jointime_cost

      number — The participant join meeting time cost, in seconds.

    • user_id

      string — The participant's ID. This value assigned to a participant upon joining a meeting and is only valid for the meeting's duration.

    • user_name

      string — The participant's display name.

    • vdi_plugin_info_fb_code_reason

      string — The participant's VDI plugin fallback reason.

    • vdi_plugin_info_status

      string, possible values: "Optimized", "UnOptimized", "Local" — The participant's VDI plugin connection status.

    • version

      string — The participant's Zoom client version.

    • video_connection_type

      string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's video connection type.

    • video_quality

      string, possible values: "", "good", "fair", "poor", "bad" — The participant's video quality. The API only returns this value when the **Meeting quality scores and network alerts on Dashboard** setting is enabled in the Zoom Web Portal and the **Show meeting quality score and network alerts on Dashboard** option is selected in [**Account Settings**](https://zoom.us/account/setting). * `good` - The video is almost flawless and the quality is excellent. * `fair` - The video definition is high, occasionally gets stuck, fast or slow, or other problems, but the frequency is very low and the video quality is good. * `poor` - The video definition is not high, but not many problems exist. The video quality is mediocre. * `bad` - The picture is very blurred and often gets stuck.

    • zoom_thin_client_plugin_version

      string — VDI thin client version

Example:

{
  "next_page_token": "Tva2CuIdTgsv8wAnhyAdU3m06Y2HuLQtlh3",
  "page_count": 1,
  "page_size": 30,
  "total_records": 1,
  "meeting_number": "93201235621",
  "participants": [
    {
      "audio_quality": "good",
      "camera": "FaceTime HD Camera",
      "connection_type": "UDP",
      "video_connection_type": "UDP",
      "as_connection_type": "UDP",
      "customer_key": "349589LkJyeW",
      "data_center": "United States (SC Top)",
      "device": "Phone",
      "domain": "example.com",
      "email": "jchill@example.com",
      "from_sip_uri": "example.com",
      "full_data_center": "United States (SC Top);",
      "harddisk_id": "Disk01",
      "id": "zJKyaiAyTNC-MWjiWC18KQ",
      "in_room_participants": 2,
      "internal_ip_addresses": [
        "192.0.2.1"
      ],
      "ip_address": "192.0.2.1",
      "join_time": "2022-03-01T10:15:14Z",
      "leave_reason": "Host ended the meeting.",
      "leave_time": "2022-03-01T10:17:35Z",
      "location": "United States",
      "mac_addr": "f85e-a012-92d8",
      "microphone": "Microphone (2- High Definition Audio Device)",
      "network_type": "Wired",
      "participant_user_id": "DYHrdpjrS3uaOf7dPkkg8w",
      "pc_name": "HW0010449",
      "recording": false,
      "registrant_id": "fdgsfh2ey82fuh",
      "role": "host",
      "screen_share_quality": "good",
      "share_application": true,
      "share_desktop": true,
      "share_whiteboard": true,
      "sip_uri": "example.com",
      "speaker": "speaker (2- High Definition Audio Device)",
      "status": "in_meeting",
      "user_id": "20162560",
      "participant_uuid": "D444CD06-2ABB-2FCC-019B-39E41D8DADF7",
      "user_name": "jchill",
      "version": "5.9.1.2581",
      "video_quality": "good",
      "bo_mtg_id": "Dkgwu8nm/ExG1vM+GhLRhA==",
      "audio_call": [
        {
          "call_number": "4131",
          "call_type": "call-in",
          "zoom_number": "18773690926"
        }
      ],
      "os": "iOS",
      "os_version": "16.5",
      "browser_name": "Firefox",
      "browser_version": "133",
      "device_name": "iPhone 7 Global",
      "groupId": "TcjqVCTzRy6hLa0d8WpAIg",
      "has_archiving": false,
      "optional_archiving": "no optional archiving",
      "client": "Web Meeting SDK 2.18",
      "total_jointime_cost": 3.98,
      "aic_disclaimer": "leave meeting",
      "zoom_thin_client_plugin_version": "6.5.11.26770",
      "vdi_plugin_info_status": "Local",
      "vdi_plugin_info_fb_code_reason": "None (no error)"
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `12702` <br> Can not access a meeting a year ago. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> Meeting ID is invalid or has not ended. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

List meeting participants QoS

  • Method: GET
  • Path: /metrics/meetings/{meetingId}/participants/qos
  • Tags: Dashboards

Show a list of meeting participants from live or past meetings, and their quality of service received during the meeting. The data returned indicates the connection quality for sending or receiving video, audio, and shared content.

Note:

This API may return empty values for participants' user_name, ip_address, location, and email responses when the account calling this API.

  • Does not have a signed HIPAA business associate agreement (BAA).
  • Is a [legacy HIPAA BAA account(/docs/api/rest/other-references/legacy-business-associate-agreements/).
  • Displays data for any users who are not part of the host's account (external users) unless they meet certain conditions. See [Email address display rules(/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

Prerequisites:

  • A Business or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_meetings:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:list_meeting_participants_qos:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` Meeting participants returned. This API is only available for ZMP and Business or higher accounts that have enabled the Dashboard feature.
Content-Type: application/json

All of:

  • meeting_number

    string — Unique identifier of the meeting in "long" format(represented as int64 data type in JSON)

  • next_page_token

    string — The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.

  • page_count

    integer, format: int64 — The number of pages returned for the request made.

  • page_size

    integer, default: 1 — The number of items per page.

  • total_records

    integer, format: int64 — The number of all records available across pages.

  • participants

    array — Information about the participant.

    Items:

    • as_connection_type

      string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's screen share connection type.

    • browser_name

      string — webclient operation browser

    • browser_version

      string — webclient operation browser version

    • client

      string — Client software or SDK version.

    • connection_type

      string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's connection type.

    • data_center

      string — The data center that the participant is leveraging to join the meeting.

    • device

      string, possible values: "Phone", "H.323/SIP", "Windows", "Mac", "iOS", "Android" — The type of device the participant used to join the meeting. * `Phone` - The participant joined via PSTN. * `H.323/SIP` - The participant joined via an H.323 or SIP device. * `Windows` - The participant joined via VoIP using a Windows device. * `Mac` - The participant joined via VoIP using a Mac device. * `iOS` - The participant joined via VoIP using an iOS device. * `Android` - The participant joined via VoIP using an Android device. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

    • device_name

      string — The device's name.

    • domain

      string — The participant's PC domain. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

    • email

      string, format: email — The participant's email address. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](/docs/api-reference/using-zoom-apis#email-address) for details.

    • full_data_center

      string — The data center where participant's meeting data is stored. This field includes a semicolon-separated list of HTTP Tunnel (HT), Cloud Room Connector (CRC), and Real-Time Web Gateway (RWG) location information.

    • groupId

      string — the attendee's group id

    • harddisk_id

      string — The participant's hard disk ID. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

    • has_archiving

      boolean — The status of the archiving feature for the meeting

    • health

      string, possible values: "Good", "Warning", "Critical", default: "Good" — The participant's health

    • id

      string — The participant's universally unique ID. This value is the same as the participant's user ID if the participant joins the webinar by logging into Zoom. If the participant joins the webinar without logging into Zoom, this returns an empty value.

    • internal_ip_addresses

      array — The participant's internal IP addresses. This field will not return under these conditions: * The account calling this API is a **legacy** [business associate agreement (BAA) under HIPAA](https://www.ecfr.gov/cgi-bin/retrieveECFR?gp=1&amp;n=se45.1.160_1103&amp;r=SECTION&amp;ty=HTML). * The account calling this API is a BAA under HIPAA **without** a signed BAA data processing addendum.

      Items:

      string

    • ip_address

      string — The participant's IP address.

    • issue_list

      array — The participant's issue list

      Items:

      string — The participant's issue

    • join_time

      string, format: date-time — The time when the participant joined the meeting.

    • leave_time

      string, format: date-time — The time when the participant left the meeting.

    • location

      string — The participant's location.

    • mac_addr

      string — The participant's MAC address. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

    • network_type

      string, possible values: "Wired", "Wifi", "PPP", "Cellular", "Others" — The participant's network type. * `Wired` * `Wifi` * `PPP` - Point-to-Point. * `Cellular` - 3G, 4G, and 5G cellular. * `Others` - An unknown device.

    • optional_archiving

      string, possible values: "no optional archiving", "join without archiving", "join with archiving" — Client software version or SDK version

    • os

      string — device operation system

    • os_version

      string — device operation system version

    • participant_uuid

      string — The participant's UUID. This value assigned to a participant upon joining a meeting and is only valid for the meeting's duration.

    • pc_name

      string — The participant's PC name.

    • rc_reason

      string — the call reconnection reason: Client crash

    • recording

      boolean — Whether the recording feature was used during the meeting.

    • share_application

      boolean — Whether the participant chose to share an application during the meeting.

    • share_desktop

      boolean — Whether the participant chose to share their desktop during the screenshare.

    • share_whiteboard

      boolean — Whether the participant chose to share their whiteboard during the screenshare.

    • total_jointime_cost

      number — The participant join meeting time cost, the unit is seconds.

    • user_id

      string — The participant's ID. This value is assigned to a participant upon joining a meeting and is only valid for the meeting's duration.

    • user_name

      string — The participant's display name.

    • user_qos

      array — The participant's quality of service information.

      Items:

      • as_device_from_crc

        object — The QoS metrics for screen sharing by a participant who joined the meeting via CRC.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • as_device_from_rwg

        object — The QoS metrics for screen sharing by a participant who joined the meeting via the web client.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • as_device_to_crc

        object — The QoS metrics for screen sharing output received by a participant who joined the meeting via CRC.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • as_device_to_rwg

        object — The QoS output metrics for screen sharing received by a participant who joined the meeting via the web client.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • as_input

        object — The QoS metrics for screen sharing by a participant who joined the meeting

        All of:

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • as_output

        object — The QoS metrics for screen sharing output received by a participant who joined the meeting

        All of:

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • as_socket_break

        object — The QoS metrics for screen sharing socket breaks for a participant who joined the meeting.

        • socket_break

          boolean — Whether the participant's screen sharing socket broke.

        • socket_break_time

          string, format: date-time — The participant's screen sharing socket break time.

        • socket_recover

          boolean — Whether the participant's screen sharing socket recovered.

        • socket_recover_time

          string, format: date-time — The participant's screen sharing socket recovery time.

      • audio_device_from_crc

        object — The QoS metrics for audio sent by a participant who joined the meeting via a Cloud Room Connector (CRC).

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • audio_device_from_rwg

        object — The QoS metrics for audio sent by a participant who joined the meeting via the web client.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • audio_device_to_crc

        object — The QoS metrics for audio received by a participant who joined the meeting via CRC.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • audio_device_to_rwg

        object — The QoS metrics for audio received by a participant who joined the meeting via web client.

        • avg_loss

          string — The average amount of packet loss. For example, the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • audio_input

        object — The QoS metrics for audio sent by a participant who joined the meeting

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • audio_output

        object — The QoS metrics for audio received by a participant who joined the meeting

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • audio_socket_break

        object — The QoS metrics for audio socket breaks for a participant who joined the meeting.

        • socket_break

          boolean — Whether the participant's audio socket broke.

        • socket_break_time

          string, format: date-time — The participant's audio socket break time.

        • socket_recover

          boolean — Whether the participant's audio socket recovered.

        • socket_recover_time

          string, format: date-time — The participant's audio socket recovery time.

      • command_socket_break

        object — The QoS metrics for command socket breaks for a participant who joined the meeting.

        • socket_break

          boolean — Whether the participant's command socket broke.

        • socket_break_time

          string, format: date-time — The participant's command socket break time.

        • socket_recover

          boolean — Whether the participant's command socket recovered.

        • socket_recover_time

          string, format: date-time — The participant's command socket recovery time.

      • cpu_pressure_level

        object — The system’s CPU pressure level

        • system_avg_cpu_pressure_level

          string, possible values: "normal", "fair", "serious", "critical" — The system’s average CPU pressure level

        • system_max_cpu_pressure_level

          string, possible values: "critical", "serious", "fair", "normal" — The system’s maximum CPU pressure level

        • system_min_cpu_pressure_level

          string, possible values: "normal", "fair", "serious", "critical" — The system’s minimum CPU pressure level

      • cpu_usage

        object — Information about CPU usage.

        • system_max_cpu_usage

          string — The system's maximum CPU usage.

        • zoom_avg_cpu_usage

          string — Zoom's average CPU usage.

        • zoom_max_cpu_usage

          string — Zoom's maximum CPU usage.

        • zoom_min_cpu_usage

          string — Zoom's minimum CPU usage.

      • date_time

        string, format: date-time — The QoS date and time.

      • video_device_from_crc

        object — The QoS metrics for video input being sent by a participant who joined the meeting via CRC.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • video_device_from_rwg

        object — The QoS metrics for video input being sent by a participant who joined the meeting via the web client.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • video_device_to_crc

        object — The QoS metrics for video output being sent by a participant who joined the meeting via CRC.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • video_device_to_rwg

        object — The QoS metrics for video output being sent by a participant who joined the meeting via the web client.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • video_input

        object — The QoS metrics for video input being sent by a participant who joined the meeting

        All of:

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • video_output

        object — The QoS metrics for video output being sent by a participant who joined the meeting

        All of:

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • video_socket_break

        object — The QoS metrics for video socket breaks for a participant who joined the meeting.

        • socket_break

          boolean — Whether the participant's video socket broke.

        • socket_break_time

          string, format: date-time — The participant's video socket break time.

        • socket_recover

          boolean — Whether the participant's video socket recovered.

        • socket_recover_time

          string, format: date-time — The participant's video socket recovery time.

      • wifi_rssi

        object — The QoS metrics for the wireless network's RSSI sent by a participant who joined the meeting through a wireless network.

        • avg_rssi

          integer — Average value of the wireless network's received signal strength indicator (RSSI).

        • max_rssi

          integer — Maximum value of the wireless network's received signal strength indicator (RSSI).

        • min_rssi

          integer — Minimum value of the wireless network's received signal strength indicator (RSSI).

        • rssi_unit

          string — Unit of the wireless network's received signal strength indicator (RSSI).

    • vdi_plugin_info_fb_code_reason

      string — The participant's VDI plugin fallback reason.

    • vdi_plugin_info_status

      string, possible values: "Optimized", "UnOptimized", "Local" — The participant's VDI plugin connection status.

    • version

      string — The participant's Zoom client version.

    • video_connection_type

      string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's video connection type.

    • zoom_thin_client_plugin_version

      string — VDI thin client version

Example:

{
  "next_page_token": "y20RGLOiO2jTy3CMfnNRORmB51kAuhMy0e2",
  "page_count": 2,
  "page_size": 10,
  "total_records": 2,
  "meeting_number": "93201235621",
  "participants": [
    {
      "id": "_f08HhPJS82MIVLuuFaJPg",
      "device": "Phone",
      "client": "Web Meeting SDK 2.18",
      "domain": "example.com",
      "harddisk_id": "Disk01",
      "internal_ip_addresses": [
        "192.0.2.1"
      ],
      "ip_address": "192.0.2.1",
      "join_time": "2022-03-01T10:15:14Z",
      "leave_time": "2022-03-01T10:15:14Z",
      "location": "United States",
      "mac_addr": "f85e-a012-92d8",
      "pc_name": "HW0010449",
      "user_id": "20161536",
      "user_name": "jchill",
      "user_qos": [
        {
          "as_device_from_crc": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "as_device_to_crc": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "as_input": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "as_output": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "audio_device_from_crc": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%"
          },
          "audio_device_to_crc": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%"
          },
          "audio_input": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%"
          },
          "audio_output": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%"
          },
          "cpu_usage": {
            "system_max_cpu_usage": "11%",
            "zoom_avg_cpu_usage": "0%",
            "zoom_max_cpu_usage": "2%",
            "zoom_min_cpu_usage": "0%"
          },
          "cpu_pressure_level": {
            "system_min_cpu_pressure_level": "normal",
            "system_avg_cpu_pressure_level": "normal",
            "system_max_cpu_pressure_level": "normal"
          },
          "date_time": "2022-03-01T10:16:00Z",
          "video_device_from_crc": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.03%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "video_device_to_crc": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "video_input": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "video_output": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "as_device_from_rwg": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "as_device_to_rwg": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "audio_device_from_rwg": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%"
          },
          "audio_device_to_rwg": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%"
          },
          "video_device_from_rwg": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.03%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "video_device_to_rwg": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "wifi_rssi": {
            "max_rssi": -75,
            "avg_rssi": -69,
            "min_rssi": -35,
            "rssi_unit": "dBm"
          },
          "audio_socket_break": {
            "socket_break": true,
            "socket_break_time": "2026-04-20T01:50:42Z",
            "socket_recover": false,
            "socket_recover_time": "2026-04-20T01:50:42Z"
          },
          "video_socket_break": {
            "socket_break": true,
            "socket_break_time": "2026-04-20T01:50:42Z",
            "socket_recover": false,
            "socket_recover_time": "2026-04-20T01:50:42Z"
          },
          "as_socket_break": {
            "socket_break": true,
            "socket_break_time": "2026-04-20T01:50:42Z",
            "socket_recover": false,
            "socket_recover_time": "2026-04-20T01:50:42Z"
          },
          "command_socket_break": {
            "socket_break": true,
            "socket_break_time": "2026-04-20T01:50:42Z",
            "socket_recover": false,
            "socket_recover_time": "2026-04-20T01:50:42Z"
          }
        }
      ],
      "version": "5.9.1.2581",
      "os": "iOS",
      "os_version": "16.5",
      "browser_name": "Firefox",
      "browser_version": "133",
      "video_connection_type": "UDP",
      "as_connection_type": "UDP",
      "participant_uuid": "D444CD06-2ABB-2FCC-019B-39E41D8DADF7",
      "network_type": "Wired",
      "data_center": "United States (SC Top)",
      "full_data_center": "United States (SC Top);",
      "connection_type": "UDP",
      "share_application": true,
      "share_desktop": true,
      "share_whiteboard": true,
      "recording": true,
      "device_name": "iPhone 7 Global",
      "groupId": "TcjqVCTzRy6hLa0d8WpAIg",
      "has_archiving": true,
      "optional_archiving": "no optional archiving",
      "health": "Warning",
      "total_jointime_cost": 3.52,
      "zoom_thin_client_plugin_version": "6.5.11.26770",
      "email": "jchill@example.com",
      "issue_list": [
        "audio"
      ],
      "rc_reason": "Client crash",
      "vdi_plugin_info_status": "Local",
      "vdi_plugin_info_fb_code_reason": "None (no error)"
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `12702` <br> Can not access a meeting a year ago. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> This meeting's detail info is not available.<br>The meeting ID is not valid or the meeting has not ended yet. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get post meeting feedback

  • Method: GET
  • Path: /metrics/meetings/{meetingId}/participants/satisfaction
  • Tags: Dashboards

When a meeting ends, each attendee will be prompted to share their meeting experience by clicking either thumbs up or thumbs down. Use this API to retrieve the feedback submitted for a specific meeting. Note that this API only works for meetings scheduled after December 20, 2020.

Prerequisites:

  • Feedback to Zoom setting must be enabled by the participant prior to the meeting.
  • The user making the API request must be enrolled in a Business or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_meetings:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:post_meeting_feedback:admin

Rate Limit Label: Heavy

Responses

Status: 200 **HTTP Status Code:** `200`
Content-Type: application/json
  • next_page_token

    string — The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • page_size

    integer — The number of records returned within a single API call.

  • participants

    array

    Items:

    • comment

      string — Post meeting comment of the participant.

    • date_time

      string, format: date-time — Date and time at which the feedback was submitted.

    • email

      string, format: email — Email address of the participant. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#email-address) for details.

    • quality

      string, possible values: "GOOD", "NOT GOOD" — Feedback submitted by the participant. * `GOOD`: Thumbs up. * `NOT GOOD`: Thumbs down.

    • user_id

      string — User ID of the participant.

Example:

{
  "next_page_token": "ZkFS5lmGLWTjLMqt2IVCBpyKwSnbDrgJzo2",
  "page_size": 30,
  "participants": [
    {
      "date_time": "2022-01-19T07:34:09Z",
      "email": "user@example.com",
      "quality": "GOOD",
      "user_id": "NJmuvOjlRm2r7yGUPLLOhw",
      "comment": "Meeting got disconnected."
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `200` <br> Only available for paid accounts that have dashboard feature enabled. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> Meeting ID is invalid or not end. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get meeting sharing/recording details

  • Method: GET
  • Path: /metrics/meetings/{meetingId}/participants/sharing
  • Tags: Dashboards

Retrieve the sharing and recording details of participants from live or past meetings.

Prerequisites:

  • Business or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_meetings:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:meeting_sharing:admin

Rate Limit Label: Heavy

Responses

Status: 200 **HTTP Status Code:** `200` Meeting participants returned.
Content-Type: application/json

All of:

  • next_page_token

    string — The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • page_count

    integer — The number of pages returned for the request made.

  • page_size

    integer, default: 30 — The number of records returned within a single API call.

  • total_records

    integer — The number of all records available across pages.

  • participants

    array — Array of participants.

    Items:

    • details

      array — Array of sharing and recording details.

      Items:

      • content

        string — Type of content shared.

      • end_time

        string — End time of sharing.

      • start_time

        string — Start time of sharing.

    • id

      string — Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.

    • user_id

      string — Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.

    • user_name

      string — Participant display name.

Example:

{
  "next_page_token": "Tva2CuIdTgsv8wAnhyAdU3m06Y2HuLQtlh3",
  "page_count": 1,
  "page_size": 30,
  "total_records": 1,
  "participants": [
    {
      "details": [
        {
          "content": "desktop",
          "end_time": "2022-02-15T08:45:59Z",
          "start_time": "2022-02-15T08:45:50Z"
        }
      ],
      "id": "pFyqVDCkQlCbrt-iADD4UA",
      "user_id": "30321664",
      "user_name": "jchill"
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `12702` <br> Can not access a meeting a year ago.
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> This meeting's detail info is not available or ID is not valid.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get meeting participant QoS

  • Method: GET
  • Path: /metrics/meetings/{meetingId}/participants/{participantId}/qos
  • Tags: Dashboards

Return the quality of service (QoS) report for participants from live or past meetings. The data returned indicates the connection quality for sending/receiving video, audio, and shared content. The API returns this data for either the API request or when the API request was last received.

When the sender sends data, a timestamp is attached to the sender's data packet. The receiver then returns this timestamp to the sender. This helps determine the upstream and downstream latency, which includes the application processing time. The latency data returned is the five second average and five second maximum.

This API will not return data if there is no data being sent or received at the time of request.

Note:

This API may return empty values for participants' user_name, ip_address, location, and email responses when the account calling this API:

  • Does not have a signed HIPAA business associate agreement (BAA).
  • Is a [legacy HIPAA BAA account(/docs/api/rest/other-references/legacy-business-associate-agreements/).
  • Displays data for any users who are not part of the host's account (external users) unless they meet certain conditions. See [Email address display rules(/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_meetings:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:meeting_participant_qos:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` Meeting participant QOS returned. This API is only available for ZMP and Business or higher accounts that have enabled the Dashboard feature.
Content-Type: application/json
  • as_connection_type

    string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's screen share connection type.

  • browser_name

    string — webclient operation browser

  • browser_version

    string — webclient operation browser version

  • camera

    string — The type of camera that the participant used during the meeting. **Note:** This response returns an empty string (``) value for any users who are **not** a part of the host's account, such as external users.

  • client

    string — Client software or SDK version.

  • connection_type

    string, possible values: "TCP", "P2P", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's connection type.

  • data_center

    string — The data center that the participant is leveraging to join the meeting.

  • device

    string, possible values: "Phone", "H.323/SIP", "Windows", "Mac", "iOS", "Android" — The type of device the participant used to join the meeting. * `Phone` - The participant joined via PSTN. * `H.323/SIP` - The participant joined via an H.323 or SIP device. * `Windows` - The participant joined via VoIP using a Windows device. * `Mac` - The participant joined via VoIP using a Mac device. * `iOS` - The participant joined via VoIP using an iOS device. * `Android` - The participant joined via VoIP using an Android device. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

  • device_name

    string — The device's name.

  • domain

    string — The participant's PC domain. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

  • email

    string, format: email — The participant's email address. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](/docs/api-reference/using-zoom-apis#email-address) for details.

  • full_data_center

    string — The data center where participant's meeting data is stored. This field includes a semicolon-separated list of HTTP Tunnel (HT), Cloud Room Connector (CRC), and Real-Time Web Gateway (RWG) location information.

  • groupId

    string — the attendee's group ID.

  • harddisk_id

    string — The participant's hard disk ID. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

  • has_archiving

    boolean — The status of the archiving feature for the meeting.

  • health

    string, possible values: "Good", "Warning", "Critical", default: "Good" — The participant's health.

  • id

    string — The participant's universally unique ID. This value is the same as the participant's user ID if the participant joins the webinar by logging into Zoom. If the participant joins the webinar without logging into Zoom, this returns an empty value.

  • internal_ip_addresses

    array — The participant's internal IP addresses. This field will not return under these conditions: * The account calling this API is a **legacy** [business associate agreement (BAA) under HIPAA](https://www.ecfr.gov/cgi-bin/retrieveECFR?gp=1&amp;n=se45.1.160_1103&amp;r=SECTION&amp;ty=HTML). * The account calling this API is a BAA under HIPAA **without** a signed BAA data processing addendum.

    Items:

    string

  • ip_address

    string — The participant's IP address.

  • issue_list

    array — The participant's issue list.

    Items:

    string — The participant's issue.

  • join_time

    string, format: date-time — The time when the participant joined the meeting.

  • leave_time

    string, format: date-time — The time when the participant left the meeting.

  • location

    string — The participant's location.

  • mac_addr

    string — The participant's MAC address. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

  • meeting_number

    string — Unique identifier of the meeting in "long" format(represented as int64 data type in JSON)

  • microphone

    string — The type of microphone that the participant used during the meeting. **Note:** This response returns an empty string (``) value for any users who are **not** a part of the host's account, such as external users.

  • network_type

    string, possible values: "Wired", "Wifi", "PPP", "Cellular", "Others" — The participant's network type. * `Wired` * `Wifi` * `PPP` - Point-to-Point. * `Cellular` - 3G, 4G, and 5G cellular. * `Others` - An unknown device.

  • optional_archiving

    string, possible values: "no optional archiving", "join without archiving", "join with archiving" — This is shown only for internal participants who have archiving enabled.

  • os

    string — device operation system

  • os_version

    string — device operation system version

  • participant_uuid

    string — The participant's UUID. This value assigned to a participant upon joining a meeting and is only valid for the meeting's duration.

  • pc_name

    string — The participant's PC name.

  • rc_reason

    string — the call reconnection reason: Client crash

  • recording

    boolean — Whether the recording feature was used during the meeting.

  • share_application

    boolean — Whether the participant chose to share an application during the meeting.

  • share_desktop

    boolean — Whether the participant chose to share their desktop during the screenshare.

  • share_whiteboard

    boolean — Whether the participant chose to share their whiteboard during the screenshare.

  • speaker

    string — The type of speaker that the participant used during the meeting. **Note:** This response returns an empty string (``) value for any users who are **not** a part of the host's account, such as external users.

  • total_jointime_cost

    number — The participant join meeting time cost, the unit is seconds.

  • user_id

    string — The participant's ID. This value is assigned to a participant upon joining a meeting and is only valid for the meeting's duration.

  • user_name

    string — The participant's display name.

  • user_qos

    array — The participant's quality of service information.

    Items:

    • as_device_from_crc

      object — The QoS metrics for screen sharing by a participant who joined the meeting via CRC.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • as_device_from_rwg

      object — The QoS metrics for screen sharing by a participant who joined the meeting via the web client.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • as_device_to_crc

      object — The QoS metrics for screen sharing output received by a participant who joined the meeting via CRC.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • as_device_to_rwg

      object — The QoS output metrics for screen sharing received by a participant who joined the meeting via the web client.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • as_input

      object — The QoS metrics for screen sharing by a participant who joined the meeting

      All of:

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • as_output

      object — The QoS metrics for screen sharing output received by a participant who joined the meeting

      All of:

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • as_socket_break

      object — The QoS metrics for screen sharing socket breaks for a participant who joined the meeting.

      • socket_break

        boolean — Whether the participant's screen sharing socket broke.

      • socket_break_time

        string, format: date-time — The participant's screen sharing socket break time.

      • socket_recover

        boolean — Whether the participant's screen sharing socket recovered.

      • socket_recover_time

        string, format: date-time — The participant's screen sharing socket recovery time.

    • audio_device_from_crc

      object — The QoS metrics for audio sent by a participant who joined the meeting via a Cloud Room Connector (CRC).

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

    • audio_device_from_rwg

      object — The QoS metrics for audio sent by a participant who joined the meeting via the web client.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

    • audio_device_to_crc

      object — The QoS metrics for audio received by a participant who joined the meeting via CRC.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

    • audio_device_to_rwg

      object — The QoS metrics for audio received by a participant who joined the meeting via web client.

      • avg_loss

        string — The average amount of packet loss. For example, the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

    • audio_input

      object — The QoS metrics for audio sent by a participant who joined the meeting

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

    • audio_output

      object — The QoS metrics for audio received by a participant who joined the meeting

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

    • audio_socket_break

      object — The QoS metrics for audio socket breaks for a participant who joined the meeting.

      • socket_break

        boolean — Whether the participant's audio socket broke.

      • socket_break_time

        string, format: date-time — The participant's audio socket break time.

      • socket_recover

        boolean — Whether the participant's audio socket recovered.

      • socket_recover_time

        string, format: date-time — The participant's audio socket recovery time.

    • command_socket_break

      object — The QoS metrics for command socket breaks for a participant who joined the meeting.

      • socket_break

        boolean — Whether the participant's command socket broke.

      • socket_break_time

        string, format: date-time — The participant's command socket break time.

      • socket_recover

        boolean — Whether the participant's command socket recovered.

      • socket_recover_time

        string, format: date-time — The participant's command socket recovery time.

    • cpu_pressure_level

      object — The system’s CPU pressure level

      • system_avg_cpu_pressure_level

        string, possible values: "normal", "fair", "serious", "critical" — The system’s average CPU pressure level

      • system_max_cpu_pressure_level

        string, possible values: "critical", "serious", "fair", "normal" — The system’s maximum CPU pressure level

      • system_min_cpu_pressure_level

        string, possible values: "normal", "fair", "serious", "critical" — The system’s minimum CPU pressure level

    • cpu_usage

      object — Information about CPU usage.

      • system_max_cpu_usage

        string — The system's maximum CPU usage.

      • zoom_avg_cpu_usage

        string — Zoom's average CPU usage.

      • zoom_max_cpu_usage

        string — Zoom's maximum CPU usage.

      • zoom_min_cpu_usage

        string — Zoom's minimum CPU usage.

    • date_time

      string, format: date-time — The QoS date and time.

    • video_device_from_crc

      object — The QoS metrics for video input being sent by a participant who joined the meeting via CRC.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • video_device_from_rwg

      object — The QoS metrics for video input being sent by a participant who joined the meeting via the web client.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • video_device_to_crc

      object — The QoS metrics for video output being sent by a participant who joined the meeting via CRC.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • video_device_to_rwg

      object — The QoS metrics for video output being sent by a participant who joined the meeting via the web client.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • video_input

      object — The QoS metrics for video input being sent by a participant who joined the meeting

      All of:

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • video_output

      object — The QoS metrics for video output being sent by a participant who joined the meeting

      All of:

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kilobits per second (kbps).

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • video_socket_break

      object — The QoS metrics for video socket breaks for a participant who joined the meeting.

      • socket_break

        boolean — Whether the participant's video socket broke.

      • socket_break_time

        string, format: date-time — The participant's video socket break time.

      • socket_recover

        boolean — Whether the participant's video socket recovered.

      • socket_recover_time

        string, format: date-time — The participant's video socket recovery time.

    • wifi_rssi

      object — The QoS metrics for the wireless network's RSSI sent by a participant who joined the meeting through a wireless network.

      • avg_rssi

        integer — Average value of the wireless network's received signal strength indicator (RSSI).

      • max_rssi

        integer — Maximum value of the wireless network's received signal strength indicator (RSSI).

      • min_rssi

        integer — Minimum value of the wireless network's received signal strength indicator (RSSI).

      • rssi_unit

        string — Unit of the wireless network's received signal strength indicator (RSSI).

  • vdi_plugin_info_fb_code_reason

    string — The participant's VDI plugin fallback reason.

  • vdi_plugin_info_status

    string, possible values: "Optimized", "UnOptimized", "Local" — The participant's VDI plugin connection status.

  • version

    string — The participant's Zoom client version.

  • video_connection_type

    string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's video connection type.

  • zoom_thin_client_plugin_version

    string — VDI thin client version

Example:

{
  "id": "_f08HhPJS82MIVLuuFaJPg",
  "device": "Phone",
  "client": "Web Meeting SDK 2.18",
  "domain": "example.com",
  "harddisk_id": "Disk01",
  "internal_ip_addresses": [
    "192.0.2.1"
  ],
  "ip_address": "192.0.2.1",
  "join_time": "2022-03-01T10:15:14Z",
  "leave_time": "2022-03-01T10:15:14Z",
  "location": "United States",
  "mac_addr": "f85e-a012-92d8",
  "pc_name": "HW0010449",
  "user_id": "20161536",
  "user_name": "jchill",
  "user_qos": [
    {
      "as_device_from_crc": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "as_device_to_crc": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "as_input": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "as_output": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "audio_device_from_crc": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%"
      },
      "audio_device_to_crc": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%"
      },
      "audio_input": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%"
      },
      "audio_output": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%"
      },
      "cpu_usage": {
        "system_max_cpu_usage": "11%",
        "zoom_avg_cpu_usage": "0%",
        "zoom_max_cpu_usage": "2%",
        "zoom_min_cpu_usage": "0%"
      },
      "cpu_pressure_level": {
        "system_min_cpu_pressure_level": "normal",
        "system_avg_cpu_pressure_level": "normal",
        "system_max_cpu_pressure_level": "normal"
      },
      "date_time": "2022-03-01T10:16:00Z",
      "video_device_from_crc": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.03%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "video_device_to_crc": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "video_input": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "video_output": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "as_device_from_rwg": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "as_device_to_rwg": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "audio_device_from_rwg": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%"
      },
      "audio_device_to_rwg": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%"
      },
      "video_device_from_rwg": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.03%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "video_device_to_rwg": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "wifi_rssi": {
        "max_rssi": -75,
        "avg_rssi": -69,
        "min_rssi": -35,
        "rssi_unit": "dBm"
      },
      "audio_socket_break": {
        "socket_break": true,
        "socket_break_time": "2026-04-20T01:50:42Z",
        "socket_recover": false,
        "socket_recover_time": "2026-04-20T01:50:42Z"
      },
      "video_socket_break": {
        "socket_break": true,
        "socket_break_time": "2026-04-20T01:50:42Z",
        "socket_recover": false,
        "socket_recover_time": "2026-04-20T01:50:42Z"
      },
      "as_socket_break": {
        "socket_break": true,
        "socket_break_time": "2026-04-20T01:50:42Z",
        "socket_recover": false,
        "socket_recover_time": "2026-04-20T01:50:42Z"
      },
      "command_socket_break": {
        "socket_break": true,
        "socket_break_time": "2026-04-20T01:50:42Z",
        "socket_recover": false,
        "socket_recover_time": "2026-04-20T01:50:42Z"
      }
    }
  ],
  "version": "5.9.1.2581",
  "os": "iOS",
  "os_version": "16.5",
  "browser_name": "Firefox",
  "browser_version": "133",
  "video_connection_type": "UDP",
  "as_connection_type": "UDP",
  "participant_uuid": "D444CD06-2ABB-2FCC-019B-39E41D8DADF7",
  "network_type": "Wired",
  "microphone": "Microphone (2- High Definition Audio Device)",
  "speaker": "speaker (2- High Definition Audio Device)",
  "camera": "FaceTime HD Camera",
  "data_center": "United States (SC Top)",
  "full_data_center": "United States (SC Top);",
  "connection_type": "UDP",
  "share_application": false,
  "share_desktop": false,
  "share_whiteboard": false,
  "recording": false,
  "device_name": "iPhone 7 Global",
  "groupId": "TcjqVCTzRy6hLa0d8WpAIg",
  "has_archiving": true,
  "optional_archiving": "no optional archiving",
  "health": "Warning",
  "total_jointime_cost": 4.89,
  "meeting_number": "93201235621",
  "zoom_thin_client_plugin_version": "6.5.11.26770",
  "email": "jchill@example.com",
  "issue_list": [
    "audio"
  ],
  "rc_reason": "Client crash",
  "vdi_plugin_info_status": "Local",
  "vdi_plugin_info_fb_code_reason": "None (no error)"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `12702` <br> Can not access a meeting a year ago. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> This meeting's detail info is not available.<br> This meeting has not ended yet or the Meeting ID is invalid. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get meeting quality scores

  • Method: GET
  • Path: /metrics/quality
  • Tags: Dashboards

Use this API to return meeting quality score information. Meeting quality scores are based on the mean opinion score (MOS). The MOS measures a meeting's quality on a scale of "Good" (5-4), "Fair" (4-3), "Poor" (3-2), or "Bad" (2-1).

Prerequisites:

  • A Business or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_home:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:meeting_quality_score:admin

Rate Limit Label: Heavy

Responses

Status: 200 **HTTP Status Code:** `200` Meeting quality returned
Content-Type: application/json
  • from

    string, format: date — The report's start date. This value must be within the past six months.

  • quality

    object — Information about the meeting quality scores.

    • audio

      object

      • bad

        integer — The total number of &quot;Bad&quot; quality scores.

      • fair

        integer — The total number of &quot;Fair&quot; quality scores.

      • good

        integer — The total number of &quot;Good&quot; quality scores.

      • poor

        integer — The total number of &quot;Poor&quot; quality scores.

    • screen_share

      object

      • bad

        integer — The total number of &quot;Bad&quot; quality scores.

      • fair

        integer — The total number of &quot;Fair&quot; quality scores.

      • good

        integer — The total number of &quot;Good&quot; quality scores.

      • poor

        integer — The total number of &quot;Poor&quot; quality scores.

    • video

      object

      • bad

        integer — The total number of &quot;Bad&quot; quality scores.

      • fair

        integer — The total number of &quot;Fair&quot; quality scores.

      • good

        integer — The total number of &quot;Good&quot; quality scores.

      • poor

        integer — The total number of &quot;Poor&quot; quality scores.

  • to

    string, format: date — The report's end date. This value must be within the past six months and cannot exceed a month from the `from` value.

Example:

{
  "from": "2022-02-01",
  "quality": {
    "audio": {
      "bad": 0,
      "fair": 0,
      "good": 0,
      "poor": 0
    },
    "screen_share": {
      "bad": 0,
      "fair": 0,
      "good": 0,
      "poor": 0
    },
    "video": {
      "bad": 0,
      "fair": 0,
      "good": 0,
      "poor": 0
    }
  },
  "to": "2022-02-28"
}
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List webinars

  • Method: GET
  • Path: /metrics/webinars
  • Tags: Dashboards

Lists all the live or past webinars from a specified period of time.

Prerequisites

  • Business, Education or API Plan with Webinar add-on.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_webinars:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:list_webinars:admin

Rate Limit Label: RESOURCE-INTENSIVE

Responses

Status: 200 **HTTP Status Code:** `200` Meetings returned. Only available for paid accounts that have enabled the Dashboard feature.
Content-Type: application/json

All of:

  • from

    string, format: date — The inputted 'from' parameter format, 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd' format.

  • to

    string, format: date — The inputted 'to' parameter format, 'yyyy-MM-dd HH:mm:ss' or 'yyyy-MM-dd' format.

  • next_page_token

    string — Use the next page token to paginate through large result sets. A next page token is returned whenever the set of available results exceeds the current page size. This token's expiration period is 15 minutes.

  • page_count

    integer — The number of pages returned for the request made.

  • page_size

    integer, default: 30 — The number of records returned within a single API call.

  • total_records

    integer — The number of all records available across pages.

  • webinars

    array — The array of webinar objects.

    Items:

    • audio_quality

      string, possible values: "good", "fair", "poor", "bad" — The webinar's [audio quality score](https://support.zoom.us/hc/en-us/articles/360061244651-Using-meeting-quality-scores-and-network-alerts). * `good` - The audio is almost flawless and the quality is excellent. * `fair` - The audio occasionally has distortion, noise, and other problems, but the content is basically continuous. Participants can communicate normally. * `poor` - The audio often has distortion, noise, and other problems, but the content is basically continuous. Participants can communicate normally. * `bad` - The sound quality is extremely poor and the audio content is almost inaudible.

    • custom_keys

      array — The custom keys and values assigned to the webinar.

      Items:

      • key

        string — The custom key associated with the webinar.

      • value

        string — The value of the custom key associated with the webinar.

    • dept

      string — The host's department.

    • duration

      string — The webinar duration, formatted as `hh:mm:ss`. For example, `10:00` for ten minutes.

    • email

      string — The user email.

    • end_time

      string | null, format: date-time — The webinar end time.

    • has_3rd_party_audio

      boolean — Whether a third paty is being used for the webinar.

    • has_archiving

      boolean — Whether the archiving feature was used in the webinar.

    • has_automated_captions

      boolean — Whether an automated caption was enabled in the meeting.

    • has_external_participant

      boolean — Whether the webinar has an external participant.

    • has_manual_captions

      boolean — Whether a manual caption was enabled in the meeting.

    • has_poll

      boolean — Whether or not poll was used in the meeting.

    • has_pstn

      boolean — Whether or not PSTN was used for the webinar.

    • has_recording

      boolean — Whether or not recording was used for the webinar.

    • has_screen_share

      boolean — Whether or not screen sharing was used for the webinar.

    • has_sip

      boolean — Whether or not SIP was used for the webinar.

    • has_survey

      boolean — Whether or not survey was used in the meeting.

    • has_video

      boolean — Whether or not video was used for the webinar.

    • has_voip

      boolean — Whether or not VoIP was used for the webinar.

    • host

      string — The user display name.

    • id

      integer, format: int64 — The webinar ID in **long** format, represented as int64 data type in JSON. Also known as the webinar number.

    • participants

      integer — The webinar participant count.

    • screen_share_quality

      string, possible values: "good", "fair", "poor", "bad" — The webinar's [screen share quality score](https://support.zoom.us/hc/en-us/articles/360061244651-Using-meeting-quality-scores-and-network-alerts). * `good` - The video is almost flawless and the quality is excellent. * `fair` - The video definition is high, occasionally gets stuck, fast or slow, or other problems, but the frequency is very low and the video quality is good. * `poor` - The video definition is not high, but not many problems exist. The video quality is mediocre. * `bad`- The picture is very blurred and often gets stuck.

    • start_time

      string, format: date-time — The webinar start time.

    • topic

      string — The webinar topic.

    • user_type

      string — User type.

    • uuid

      string — The webinar UUID.

    • video_quality

      string, possible values: "good", "fair", "poor", "bad" — The webinar's [video quality score](https://support.zoom.us/hc/en-us/articles/360061244651-Using-meeting-quality-scores-and-network-alerts). * `good` - The video is almost flawless and the quality is excellent. * `fair` - The video definition is high, occasionally gets stuck, fast or slow, or other problems, but the frequency is very low and the video quality is good. * `poor` - The video definition is not high, but not many problems exist. The video quality is mediocre. * `bad` - The picture is very blurred and often gets stuck.

Example:

{
  "from": "2022-01-01",
  "to": "2022-01-30",
  "next_page_token": "Tva2CuIdTgsv8wAnhyAdU3m06Y2HuLQtlh3",
  "page_count": 1,
  "page_size": 30,
  "total_records": 1,
  "webinars": [
    {
      "host": "user@example.com",
      "custom_keys": [
        {
          "key": "key1",
          "value": "value1"
        }
      ],
      "dept": "Developers",
      "duration": "55:01",
      "email": "user@example.com",
      "end_time": "2022-01-13T07:00:46Z",
      "has_3rd_party_audio": true,
      "has_archiving": true,
      "has_pstn": true,
      "has_recording": true,
      "has_screen_share": true,
      "has_sip": true,
      "has_video": true,
      "has_voip": true,
      "has_manual_captions": true,
      "has_automated_captions": true,
      "id": 99264817135,
      "participants": 1,
      "start_time": "2022-01-13T05:27:11Z",
      "topic": "my webinar",
      "user_type": "Licensed",
      "uuid": "NknQtFSgSUSEYt2a9gc13A==",
      "audio_quality": "good",
      "video_quality": "good",
      "screen_share_quality": "good",
      "has_poll": false,
      "has_survey": false,
      "has_external_participant": true
    }
  ]
}
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get webinar details

  • Method: GET
  • Path: /metrics/webinars/{webinarId}
  • Tags: Dashboards

Retrieve details from live or past webinars.

Prerequisites:

  • Business, Education or API Plan with Webinar add-on.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_webinars:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:webinar:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` Webinar details returned. Only available for paid accounts that have enabled the Dashboard feature.
Content-Type: application/json
  • audio_quality

    string, possible values: "good", "fair", "poor", "bad" — The webinar's [audio quality score](https://support.zoom.us/hc/en-us/articles/360061244651-Using-meeting-quality-scores-and-network-alerts): * `good` &mdash; The audio is almost flawless and the quality is excellent. * `fair` &mdash; The audio occasionally has distortion, noise, and other problems, but the content is basically continuous. Participants can communicate normally. * `poor` &mdash; The audio often has distortion, noise, and other problems, but the content is basically continuous. Participants can communicate normally. * `bad` &mdash; The sound quality is extremely poor and the audio content is almost inaudible.

  • custom_keys

    array — Custom keys and values assigned to the Webinar.

    Items:

    • key

      string — Custom key associated with the Webinar.

    • value

      string — Value of the custom key associated with the Webinar.

  • dept

    string — Department of the host.

  • duration

    string — Webinar duration, formatted as hh:mm:ss, for example: `10:00` for ten minutes.

  • email

    string — User email.

  • end_time

    string, format: date-time — Webinar end time.

  • has_3rd_party_audio

    boolean — Use TSP for the Webinar.

  • has_aic_conversation

    boolean — Whether the aic conversation feature was used in the meeting.

  • has_archiving

    boolean — Whether the archiving feature was used in the webinar.

  • has_automated_captions

    boolean — Indicates whether an automated caption was enabled in the meeting.

  • has_external_participant

    boolean — Whether the webinar has an external participant.

  • has_manual_captions

    boolean — Indicates whether a manual caption was enabled in the meeting.

  • has_meeting_summary

    boolean — Whether the summary feature was used in the meeting.

  • has_poll

    boolean — Whether or not poll was used in the meeting.

  • has_pstn

    boolean — Indicates whether or not PSTN was used for the Webinar.

  • has_recording

    boolean — Indicates whether or not recording was used for the Webinar.

  • has_screen_share

    boolean — Indicates whether or not screen sharing was used for the Webinar.

  • has_sip

    boolean — Indicates whether or not SIP was used for the Webinar.

  • has_survey

    boolean — Whether or not survey was used in the meeting.

  • has_video

    boolean — Indicates whether or not video was used for the Webinar.

  • has_voip

    boolean — Indicates whether or not VoIP was used for the Webinar.

  • host

    string — User display name.

  • id

    integer, format: int64 — Webinar ID in &quot;**long**&quot; format(represented as int64 data type in JSON), also known as the webinar number.

  • participants

    integer — Webinar participant count.

  • screen_share_quality

    string, possible values: "good", "fair", "poor", "bad" — The webinar's [screen share quality score](https://support.zoom.us/hc/en-us/articles/360061244651-Using-meeting-quality-scores-and-network-alerts): * `good` &mdash; The video is almost flawless and the quality is excellent. * `fair` &mdash; The video definition is high, occasionally gets stuck, fast or slow, or other problems, but the frequency is very low and the video quality is good. * `poor` &mdash; The video definition is not high, but not many problems exist. The video quality is mediocre. * `bad` &mdash; The picture is very blurred and often gets stuck.

  • start_time

    string, format: date-time — Webinar start time.

  • topic

    string — Webinar topic.

  • user_type

    string — User type.

  • uuid

    string — Webinar UUID.

  • video_quality

    string, possible values: "good", "fair", "poor", "bad" — The webinar's [video quality score](https://support.zoom.us/hc/en-us/articles/360061244651-Using-meeting-quality-scores-and-network-alerts): * `good` &mdash; The video is almost flawless and the quality is excellent. * `fair` &mdash; The video definition is high, occasionally gets stuck, fast or slow, or other problems, but the frequency is very low and the video quality is good. * `poor` &mdash; The video definition is not high, but not many problems exist. The video quality is mediocre. * `bad` &mdash; The picture is very blurred and often gets stuck.

Example:

{
  "host": "user@example.com",
  "custom_keys": [
    {
      "key": "key1",
      "value": "value1"
    }
  ],
  "dept": "Developers",
  "duration": "55:01",
  "email": "user@example.com",
  "end_time": "2022-01-13T07:00:46Z",
  "has_3rd_party_audio": true,
  "has_archiving": true,
  "has_pstn": true,
  "has_recording": true,
  "has_screen_share": true,
  "has_sip": true,
  "has_video": true,
  "has_voip": true,
  "has_manual_captions": true,
  "has_automated_captions": true,
  "id": 99264817135,
  "participants": 1,
  "start_time": "2022-01-13T05:27:11Z",
  "topic": "my webinar",
  "user_type": "Licensed",
  "uuid": "NknQtFSgSUSEYt2a9gc13A==",
  "audio_quality": "good",
  "video_quality": "good",
  "screen_share_quality": "good",
  "has_meeting_summary": true,
  "has_aic_conversation": true,
  "has_poll": false,
  "has_survey": false,
  "has_external_participant": true
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `12702` <br> Can not access a webinar a year ago. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> The webinar has not ended yet or the Webinar ID is not valid.<br> This webinar's detail is not available. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get webinar participants

  • Method: GET
  • Path: /metrics/webinars/{webinarId}/participants
  • Tags: Dashboards

Get information about participants from live or past webinars.

Note: This API endpoint displays only information for external users (users not part of the host's account) that meet the criteria of the [email address display rules(/docs/api/rest/using-zoom-apis/#email-address-display-rules), and returns empty values for participants who do not meet the criteria.

Prerequisites:

  • A Business, Education, or API Plan with Webinar add-on.

  • Any legacy HIPAA BAA account.

  • No signed HIPAA business associate agreement (BAA).

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_webinars:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:list_webinar_participants:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` Webinar participants returned. This API is only available for ZMP and Business or higher accounts that have enabled the Dashboard feature.
Content-Type: application/json

All of:

  • next_page_token

    string — The next page token paginates through a large set of results. A next page token returns whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • page_count

    integer — The number of pages returned for the request.

  • page_size

    integer, default: 30 — The number of records returned within a single API call.

  • total_records

    integer — The number of all records available across pages.

  • webinar_number

    string — Unique identifier of the webinar in "long" format(represented as int64 data type in JSON).

  • participants

    array — Information about the webinar participants.

    Items:

    • as_connection_type

      string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's screen share connection type.

    • audio_call

      array — Information about the meeting participant's audio call. Some participants may join the meeting through the phone call or are bound to the audio.

      Items:

      • call_number

        string — The caller's number.

      • call_type

        string, possible values: "call-in", "call-out" — The call type.

      • zoom_number

        string — The toll-free telephone number.

    • audio_quality

      string, possible values: "", "good", "fair", "poor", "bad" — The participant's [audio quality score](https://support.zoom.us/hc/en-us/articles/360061244651-Using-meeting-quality-scores-and-network-alerts). * `good` - The audio is almost flawless and the quality is excellent. * `fair` - The audio occasionally has distortion, noise, and other problems, but the content is basically continuous. Participants can communicate normally. * `poor` - The audio often has distortion, noise, and other problems, but the content is basically continuous. Participants can communicate normally. * `bad` - The sound quality is extremely poor and the audio content is almost inaudible.

    • bo_mtg_id

      string — The [breakout room](https://support.zoom.us/hc/en-us/articles/206476313-Managing-breakout-rooms) ID. Each breakout room is assigned a unique ID.

    • browser_name

      string — webclient operation browser

    • browser_version

      string — webclient operation browser version

    • client

      string — Client software version or SDK version

    • connection_type

      string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant' connection type.

    • customer_key

      string — The participant's SDK identifier. This value can be alphanumeric, up to a maximum length of 35 characters.

    • data_center

      string — The data center that the participant is leveraging to join the webinar.

    • device

      string, possible values: "Phone", "H.323/SIP", "Windows", "Mac", "iOS", "Android" — The type of device the participant used to join the webinar. * `Phone` - The participant joined via PSTN. * `H.323/SIP` - The participant joined via an H.323 or SIP device. * `Windows` - The participant joined via VoIP using a Windows device. * `Mac` - The participant joined via VoIP using a Mac device. * `iOS` - The participant joined via VoIP using an iOS device. * `Android` - The participant joined via VoIP using an Android device. **Note:** This response returns an empty string (``) value for any users who are **not** a part of the host's account (external users).

    • device_name

      string — device's name

    • domain

      string — The participant's PC domain. **Note:** This response returns an empty string (``) value for any users who are **not** a part of the host's account (external users).

    • email

      string — The participant's email address. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](/docs/api-reference/using-zoom-apis#email-address) for details.

    • from_sip_uri

      string — The meeting participant's SIP From header URI. The API only returns this response when the participant joins a meeting via SIP.

    • full_data_center

      string — The data center where participant's meeting data is stored. This field includes a semicolon-separated list of HTTP Tunnel (HT), Cloud Room Connector (CRC), and Real-Time Web Gateway (RWG) location information.

    • harddisk_id

      string — The participant's hard disk ID. **Note:** This response returns an empty string (``) value for any users who are **not** a part of the host's account (external users).

    • has_archiving

      boolean — The status of the archiving feature for the meeting

    • id

      string — The participant's universally unique ID (UUID): * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/docs/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

    • internal_ip_addresses

      array — The participant's internal IP addresses. This field will not return when: * The account calling this API is a **legacy** [business associate agreement (BAA) under HIPAA](https://www.ecfr.gov/cgi-bin/retrieveECFR?gp=1&amp;n=se45.1.160_1103&amp;r=SECTION&amp;ty=HTML). * The account calling this API is a BAA under HIPAA **without** a signed BAA data processing addendum.

      Items:

      string

    • ip_address

      string — The participant's IP address.

    • join_time

      string, format: date-time — The time when participant joined the webinar.

    • leave_reason

      string, possible values: "$name left the webinar.", "$name got disconnected from the webinar.", "Host ended the webinar.", "Host closed the webinar.", "Host started a new webinar.", "Network connection error.", "Host did not join.", "Exceeded free webinar minutes limit.", "Removed by host.", "Unknown reason.", "Leave waiting room.", "Removed by host from waiting room." — The reason why the participant left the webinar, where `$name` is the participant's username: * `$name left the meeting.` * `$name got disconnected from the meeting.` * `Host ended the meeting.` * `Host closed the meeting.` * `Host started a new meeting.` * `Network connection error.` * `Host did not join.` * `Exceeded free meeting minutes limit.` * `Removed by host.` * `Unknown reason.` * `Leave waiting room.` * `Removed by host from waiting room.`

    • leave_time

      string, format: date-time — The time when a participant left the webinar. For live webinars, this field will only return if a participant has left the ongoing webinar.

    • location

      string — The participant's location.

    • mac_addr

      string — The participant's MAC address. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

    • microphone

      string — The type of microphone that the participant used during the webinar. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

    • network_type

      string, possible values: "Wired", "Wifi", "PPP", "Cellular", "Others" — The participant's network type. * `Wired` * `Wifi` * `PPP` - Point-to-Point. * `Cellular` - 3G, 4G, and 5G cellular. * `Others` - An unknown device.

    • optional_archiving

      string, possible values: "no optional archiving", "join without archiving", "join with archiving" — This is shown only for internal participants who have archiving enabled

    • os

      string — device operation system

    • os_version

      string — device operation system version

    • participant_user_id

      string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/docs/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value.

    • participant_uuid

      string — The participant's UUID. This value assigned to a participant upon joining a webinar and is only valid for the webinar's duration.

    • pc_name

      string — The participant's PC name.

    • recording

      boolean — Whether the recording feature was used during the webinar.

    • registrant_id

      string — The participant's unique registrant ID. This field only returns if you pass the `registrant_id` value for the `include_fields` query parameter. This field does not return if the `type` query parameter is the `live` value.

    • role

      string, possible values: "host", "attendee", "panelist" — The participant's role. * `host` - Host. * `attendee` - Attendee. * `panelist` - Panelist.

    • screen_share_quality

      string, possible values: "", "good", "fair", "poor", "bad" — The participant's [screen share quality score](https://support.zoom.us/hc/en-us/articles/360061244651-Using-meeting-quality-scores-and-network-alerts). * `good` - The video is almost flawless and the quality is excellent. * `fair` - The video definition is high, occasionally gets stuck, fast or slow, or other problems, but the frequency is very low and the video quality is good. * `poor` - The video definition is not high, but not many problems exist. The video quality is mediocre. * `bad` - The picture is very blurred and often gets stuck.

    • share_application

      boolean — Whether the participant chose to share an iPhone/iPad app during the screenshare.

    • share_desktop

      boolean — Whether the participant chose to share their desktop during the screenshare.

    • share_whiteboard

      boolean — Whether the participant chose to share their whiteboard during the screenshare.

    • sip_uri

      string — The meeting participant's SIP (Session Initiation Protocol) Contact header URI. The API only returns this response when the participant joins a meeting via SIP.

    • speaker

      string — The type of speaker that the participant used during the webinar. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

    • user_id

      string — The participant's ID. This value assigned to a participant upon joining a webinar and is only valid for the webinar's duration.

    • user_name

      string — The participant's display name.

    • vdi_plugin_info_fb_code_reason

      string — The participant's VDI plugin fallback reason.

    • vdi_plugin_info_status

      string, possible values: "Optimized", "UnOptimized", "Local" — The participant's VDI plugin connection status.

    • version

      string — The participant's Zoom client version.

    • video_connection_type

      string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's video connection type.

    • video_quality

      string, possible values: "", "good", "fair", "poor", "bad" — The participant's video quality. * `good` - The video is almost flawless and the quality is excellent. * `fair` - The video definition is high, occasionally gets stuck, fast or slow, or other problems, but the frequency is very low and the video quality is good. * `poor` - The video definition is not high, but not many problems exist. The video quality is mediocre. * `bad` - The picture is very blurred and often gets stuck.

    • zoom_thin_client_plugin_version

      string — VDI thin client version

Example:

{
  "next_page_token": "Tva2CuIdTgsv8wAnhyAdU3m06Y2HuLQtlh3",
  "page_count": 1,
  "page_size": 30,
  "total_records": 1,
  "webinar_number": "93201235621",
  "participants": [
    {
      "audio_quality": "good",
      "connection_type": "UDP",
      "video_connection_type": "UDP",
      "as_connection_type": "UDP",
      "customer_key": "349589LkJyeW",
      "data_center": "United States",
      "device": "Phone",
      "domain": "example.com",
      "email": "jchill@example.com",
      "from_sip_uri": "example.com",
      "full_data_center": "United States;China (TJ RWG);",
      "harddisk_id": "Disk01",
      "id": "_f08HhPJS82MIVLuuFaJPg",
      "internal_ip_addresses": [
        "198.51.100.1"
      ],
      "ip_address": "192.0.2.1",
      "join_time": "2022-01-13T05:27:09Z",
      "leave_reason": "Host ended the webinar.",
      "leave_time": "2022-01-13T05:41:01Z",
      "location": "United States",
      "mac_addr": "f85e-a012-92d8",
      "microphone": "Plantronics BT600",
      "network_type": "Wired",
      "participant_user_id": "DYHrdpjrS3uaOf7dPkkg8w",
      "pc_name": "My PC",
      "recording": true,
      "registrant_id": "_f08HhPJS82MIVLuuFaJPg",
      "role": "host",
      "screen_share_quality": "good",
      "share_application": true,
      "share_desktop": true,
      "share_whiteboard": true,
      "sip_uri": "example.com",
      "speaker": "speaker (2- High Definition Audio Device)",
      "user_id": "33080320",
      "participant_uuid": "D444CD06-2ABB-2FCC-019B-39E41D8DADF7",
      "user_name": "jchill",
      "version": "5.9.1.2581",
      "video_quality": "good",
      "audio_call": [
        {
          "call_number": "4131",
          "call_type": "call-in",
          "zoom_number": "18773690926"
        }
      ],
      "os": "iOS",
      "os_version": "16.5",
      "browser_name": "Firefox",
      "browser_version": "133",
      "device_name": "iPhone 7 Global",
      "client": "Web Meeting SDK 2.18",
      "has_archiving": false,
      "optional_archiving": "no optional archiving",
      "bo_mtg_id": "Dkgwu8nm/ExG1vM+GhLRhA==",
      "zoom_thin_client_plugin_version": "6.5.11.26770",
      "vdi_plugin_info_status": "Local",
      "vdi_plugin_info_fb_code_reason": "None (no error)"
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `12702` <br> Cannot access a webinar a year ago. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> This webinar's detail information is not available or the ID is not valid. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List webinar participant QoS

  • Method: GET
  • Path: /metrics/webinars/{webinarId}/participants/qos
  • Tags: Dashboards

Show a list of webinar participants from live or past webinars and the quality of service they received during the webinar. The data returned indicates the connection quality for sending/receiving video, audio, and shared content.

Note:

This API may return empty values for participants' user_name, ip_address, location, and email responses when the account calling this API:

  • Does not have a signed HIPAA business associate agreement (BAA).
  • Is a [legacy HIPAA BAA account(/docs/api/rest/other-references/legacy-business-associate-agreements/).
  • Displays data for any users who are not part of the host's account, such as external users, unless they meet certain conditions. See [Email address display rules(/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

Prerequisites:

  • A Business, Education, or API Plan with Webinar add-on.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_webinars:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:list_webinar_participants_qos:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` Webinar participants returned. This API is only available for ZMP and Business or higher accounts that have enabled the Dashboard feature.
Content-Type: application/json

All of:

  • next_page_token

    string — The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.

  • page_count

    integer, format: int64 — The number of pages returned for the request made.

  • page_size

    integer, default: 1 — The number of items per page.

  • total_records

    integer, format: int64 — The number of all records available across pages.

  • webinar_number

    string — Unique identifier of the webinar in "long" format(represented as int64 data type in JSON)

  • participants

    array — Information about the participant.

    Items:

    • as_connection_type

      string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's screen share connection type.

    • browser_name

      string — webclient operation browser

    • browser_version

      string — webclient operation browser version

    • client

      string — Client software or SDK version.

    • connection_type

      string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's connection type.

    • data_center

      string — The data center that the participant is leveraging to join the webinar.

    • device

      string, possible values: "Phone", "H.323/SIP", "Windows", "Mac", "iOS", "Android" — The type of device the participant used to join the meeting. * `Phone` - The participant joined via PSTN. * `H.323/SIP` - The participant joined via an H.323 or SIP device. * `Windows` - The participant joined via VoIP using a Windows device. * `Mac` - The participant joined via VoIP using a Mac device. * `iOS` - The participant joined via VoIP using an iOS device. * `Android` - The participant joined via VoIP using an Android device. **Note:** This response returns an empty string value for any users who are **not** a part of the host's account, such as external users.

    • device_name

      string — device's name

    • domain

      string — The participant's PC domain. **Note:** This response returns an empty string value for any users who are **not** a part of the host's account, such as external users.

    • email

      string, format: email — The participant's email address. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](/docs/api-reference/using-zoom-apis#email-address) for details.

    • full_data_center

      string — The data center where participant's meeting data is stored. This field includes a semicolon-separated list of HTTP Tunnel (HT), Cloud Room Connector (CRC), and Real-Time Web Gateway (RWG) location information.

    • groupId

      string — the attendee's group id

    • harddisk_id

      string — The participant's hard disk ID. **Note:** This response returns an empty string value for any users who are **not** a part of the host's account, such as external users.

    • has_archiving

      boolean — The status of the archiving feature for the meeting

    • health

      string, possible values: "Good", "Warning", "Critical", default: "Good" — The participant's health

    • id

      string — The participant's universally unique ID. This value is the same as the participant's user ID if the participant joins the webinar by logging into Zoom. If the participant joins the webinar without logging into Zoom, this returns an empty value.

    • internal_ip_addresses

      array — The participant's internal IP addresses. This field will not return under these conditions: * The account calling this API is a **legacy** [business associate agreement (BAA) under HIPAA](https://www.ecfr.gov/cgi-bin/retrieveECFR?gp=1&amp;n=se45.1.160_1103&amp;r=SECTION&amp;ty=HTML). * The account calling this API is a BAA under HIPAA **without** a signed BAA data processing addendum.

      Items:

      string

    • ip_address

      string — The participant's IP address.

    • issue_list

      array — The participant's issue

      Items:

      string — The participant's issue

    • join_time

      string, format: date-time — The time when the participant joined the meeting.

    • leave_time

      string, format: date-time — The time when the participant left the meeting.

    • location

      string — The participant's location.

    • mac_addr

      string — The participant's MAC address. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account, such as external users.

    • network_type

      string, possible values: "Wired", "Wifi", "PPP", "Cellular", "Others" — The participant's network type. * `Wired` * `Wifi` * `PPP` - Point-to-Point. * `Cellular` - 3G, 4G, and 5G cellular. * `Others` - An unknown device.

    • optional_archiving

      string, possible values: "no optional archiving", "join without archiving", "join with archiving" — This is shown only for internal participants who have archiving enabled

    • os

      string — device operation system

    • os_version

      string — device operation system version

    • participant_uuid

      string — The participant's UUID. This value assigned to a participant upon joining a webinar and is only valid for the webinar's duration.

    • pc_name

      string — The participant's PC name.

    • rc_reason

      string — the call reconnection reason: Client crash

    • recording

      boolean — Whether the recording feature was used during the webinar.

    • share_application

      boolean — Whether the participant chose to share an application during the meeting.

    • share_desktop

      boolean — Whether the participant chose to share their desktop during the screenshare.

    • share_whiteboard

      boolean — Whether the participant chose to share their whiteboard during the screenshare.

    • user_id

      string — The participant's ID. This value is assigned to a participant upon joining a meeting and is only valid for the meeting's duration.

    • user_name

      string — The participant's display name.

    • user_qos

      array — The participant's quality of service information.

      Items:

      • as_device_from_crc

        object — The QoS metrics for screen sharing by a participant who joined the meeting via CRC.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • as_device_from_rwg

        object — The QoS metrics for screen sharing by a participant who joined the meeting via the web client.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • as_device_to_crc

        object — The QoS metrics for screen sharing output received by a participant who joined the meeting via CRC.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • as_device_to_rwg

        object — The QoS output metrics for screen sharing received by a participant who joined the meeting via the web client.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • as_input

        object — The QoS metrics for screen sharing by a participant who joined the meeting

        All of:

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • as_output

        object — The QoS metrics for screen sharing output received by a participant who joined the meeting

        All of:

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • as_socket_break

        object — The QoS metrics for screen sharing socket breaks for a participant who joined the meeting.

        • socket_break

          boolean — Whether the participant's screen sharing socket broke.

        • socket_break_time

          string, format: date-time — The participant's screen sharing socket break time.

        • socket_recover

          boolean — Whether the participant's screen sharing socket recovered.

        • socket_recover_time

          string, format: date-time — The participant's screen sharing socket recovery time.

      • audio_device_from_crc

        object — The QoS metrics for audio sent by a participant who joined the meeting via a Cloud Room Connector (CRC).

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • audio_device_from_rwg

        object — The QoS metrics for audio sent by a participant who joined the meeting via the web client.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • audio_device_to_crc

        object — The QoS metrics for audio received by a participant who joined the meeting via CRC.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • audio_device_to_rwg

        object — The QoS metrics for audio received by a participant who joined the meeting via web client.

        • avg_loss

          string — The average amount of packet loss. For example, the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • audio_input

        object — The QoS metrics for audio sent by a participant who joined the meeting

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • audio_output

        object — The QoS metrics for audio received by a participant who joined the meeting

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • audio_socket_break

        object — The QoS metrics for audio socket breaks for a participant who joined the meeting.

        • socket_break

          boolean — Whether the participant's audio socket broke.

        • socket_break_time

          string, format: date-time — The participant's audio socket break time.

        • socket_recover

          boolean — Whether the participant's audio socket recovered.

        • socket_recover_time

          string, format: date-time — The participant's audio socket recovery time.

      • command_socket_break

        object — The QoS metrics for command socket breaks for a participant who joined the meeting.

        • socket_break

          boolean — Whether the participant's command socket broke.

        • socket_break_time

          string, format: date-time — The participant's command socket break time.

        • socket_recover

          boolean — Whether the participant's command socket recovered.

        • socket_recover_time

          string, format: date-time — The participant's command socket recovery time.

      • cpu_pressure_level

        object — The system’s CPU pressure level

        • system_avg_cpu_pressure_level

          string, possible values: "normal", "fair", "serious", "critical" — The system’s average CPU pressure level

        • system_max_cpu_pressure_level

          string, possible values: "critical", "serious", "fair", "normal" — The system’s maximum CPU pressure level

        • system_min_cpu_pressure_level

          string, possible values: "normal", "fair", "serious", "critical" — The system’s minimum CPU pressure level

      • cpu_usage

        object — Information about CPU usage.

        • system_max_cpu_usage

          string — The system's maximum CPU usage.

        • zoom_avg_cpu_usage

          string — Zoom's average CPU usage.

        • zoom_max_cpu_usage

          string — Zoom's maximum CPU usage.

        • zoom_min_cpu_usage

          string — Zoom's minimum CPU usage.

      • date_time

        string, format: date-time — The QoS date and time.

      • video_device_from_crc

        object — The QoS metrics for video input being sent by a participant who joined the meeting via CRC.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • video_device_from_rwg

        object — The QoS metrics for video input being sent by a participant who joined the meeting via the web client.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • video_device_to_crc

        object — The QoS metrics for video output being sent by a participant who joined the meeting via CRC.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • video_device_to_rwg

        object — The QoS metrics for video output being sent by a participant who joined the meeting via the web client.

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • video_input

        object — The QoS metrics for video input being sent by a participant who joined the meeting

        All of:

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • video_output

        object — The QoS metrics for video output being sent by a participant who joined the meeting

        All of:

        • avg_loss

          string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

        • bitrate

          string — The bits per second transmitted along a digital network, in kbps.

        • jitter

          string — The variation in the delay of received packets, in milliseconds.

        • latency

          string — The time it took a packet to travel from one point to another, in milliseconds.

        • max_loss

          string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

        • frame_rate

          string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

        • resolution

          string — The number of pixels in each dimension that the video camera can display.

      • video_socket_break

        object — The QoS metrics for video socket breaks for a participant who joined the meeting.

        • socket_break

          boolean — Whether the participant's video socket broke.

        • socket_break_time

          string, format: date-time — The participant's video socket break time.

        • socket_recover

          boolean — Whether the participant's video socket recovered.

        • socket_recover_time

          string, format: date-time — The participant's video socket recovery time.

      • wifi_rssi

        object — The QoS metrics for the wireless network's RSSI sent by a participant who joined the meeting through a wireless network.

        • avg_rssi

          integer — Average value of the wireless network's received signal strength indicator (RSSI).

        • max_rssi

          integer — Maximum value of the wireless network's received signal strength indicator (RSSI).

        • min_rssi

          integer — Minimum value of the wireless network's received signal strength indicator (RSSI).

        • rssi_unit

          string — Unit of the wireless network's received signal strength indicator (RSSI).

    • vdi_plugin_info_fb_code_reason

      string — The participant's VDI plugin fallback reason.

    • vdi_plugin_info_status

      string, possible values: "Optimized", "UnOptimized", "Local" — The participant's VDI plugin connection status.

    • version

      string — The participant's Zoom client version.

    • video_connection_type

      string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's video connection type.

    • zoom_thin_client_plugin_version

      string — VDI thin client version

Example:

{
  "next_page_token": "y20RGLOiO2jTy3CMfnNRORmB51kAuhMy0e2",
  "page_count": 2,
  "page_size": 10,
  "total_records": 2,
  "webinar_number": "93201235621",
  "participants": [
    {
      "id": "_f08HhPJS82MIVLuuFaJPg",
      "device": "Phone",
      "client": "Web Meeting SDK 2.18",
      "domain": "example.com",
      "harddisk_id": "Disk01",
      "internal_ip_addresses": [
        "192.0.2.1"
      ],
      "ip_address": "192.0.2.1",
      "join_time": "2022-03-01T10:15:14Z",
      "leave_time": "2022-03-01T10:15:14Z",
      "location": "United States",
      "mac_addr": "f85e-a012-92d8",
      "pc_name": "HW0010449",
      "user_id": "20161536",
      "user_name": "jchill",
      "user_qos": [
        {
          "as_device_from_crc": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "as_device_to_crc": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "as_input": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "as_output": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "audio_device_from_crc": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%"
          },
          "audio_device_to_crc": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%"
          },
          "audio_input": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%"
          },
          "audio_output": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%"
          },
          "cpu_usage": {
            "system_max_cpu_usage": "11%",
            "zoom_avg_cpu_usage": "0%",
            "zoom_max_cpu_usage": "2%",
            "zoom_min_cpu_usage": "0%"
          },
          "cpu_pressure_level": {
            "system_min_cpu_pressure_level": "normal",
            "system_avg_cpu_pressure_level": "normal",
            "system_max_cpu_pressure_level": "normal"
          },
          "date_time": "2022-03-01T10:16:00Z",
          "video_device_from_crc": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.03%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "video_device_to_crc": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "video_input": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "video_output": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "as_device_from_rwg": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "as_device_to_rwg": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "audio_device_from_rwg": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%"
          },
          "audio_device_to_rwg": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%"
          },
          "video_device_from_rwg": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.03%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "video_device_to_rwg": {
            "avg_loss": "0.03%",
            "bitrate": "27.15 kbps",
            "jitter": "0 ms",
            "latency": "126 ms",
            "max_loss": "0.4%",
            "frame_rate": "12 fps",
            "resolution": "1280*720"
          },
          "wifi_rssi": {
            "max_rssi": -75,
            "avg_rssi": -69,
            "min_rssi": -35,
            "rssi_unit": "dBm"
          },
          "audio_socket_break": {
            "socket_break": true,
            "socket_break_time": "2026-04-20T01:50:42Z",
            "socket_recover": false,
            "socket_recover_time": "2026-04-20T01:50:42Z"
          },
          "video_socket_break": {
            "socket_break": true,
            "socket_break_time": "2026-04-20T01:50:42Z",
            "socket_recover": false,
            "socket_recover_time": "2026-04-20T01:50:42Z"
          },
          "as_socket_break": {
            "socket_break": true,
            "socket_break_time": "2026-04-20T01:50:42Z",
            "socket_recover": false,
            "socket_recover_time": "2026-04-20T01:50:42Z"
          },
          "command_socket_break": {
            "socket_break": true,
            "socket_break_time": "2026-04-20T01:50:42Z",
            "socket_recover": false,
            "socket_recover_time": "2026-04-20T01:50:42Z"
          }
        }
      ],
      "version": "5.9.1.2581",
      "os": "iOS",
      "os_version": "16.5",
      "browser_name": "Firefox",
      "browser_version": "133",
      "video_connection_type": "UDP",
      "as_connection_type": "UDP",
      "participant_uuid": "D444CD06-2ABB-2FCC-019B-39E41D8DADF7",
      "network_type": "Wired",
      "data_center": "United States",
      "full_data_center": "United States;China (TJ RWG);",
      "connection_type": "UDP",
      "share_application": true,
      "share_desktop": true,
      "share_whiteboard": true,
      "recording": true,
      "device_name": "iPhone 7 Global",
      "optional_archiving": "no optional archiving",
      "has_archiving": true,
      "groupId": "TcjqVCTzRy6hLa0d8WpAIg",
      "health": "Warning",
      "zoom_thin_client_plugin_version": "6.5.11.26770",
      "email": "jchill@example.com",
      "issue_list": [
        "audio"
      ],
      "rc_reason": "Client crash",
      "vdi_plugin_info_status": "Local",
      "vdi_plugin_info_fb_code_reason": "None (no error)"
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `12702` <br> Can not access a webinar a year ago. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> This webinar's detail is not available or the Webinar ID is not valid.<br> This webinar has not ended yet. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get post webinar feedback

  • Method: GET
  • Path: /metrics/webinars/{webinarId}/participants/satisfaction
  • Tags: Dashboards

When a Webinar ends, each attendee will be prompted to share their Webinar experience by clicking either thumbs up or thumbs down. Use this API to retrieve the feedback submitted for a specific webinar. Note that this API only works for meetings scheduled after December 20, 2020.

Prerequisites:

  • Feedback to Zoom setting must be enabled by the participant prior to the meeting.
  • The user making the API request must be enrolled in a Business or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_webinars:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:post_webinar_feedback:admin

Rate Limit Label: Heavy

Responses

Status: 200 **HTTP Status Code:** `200`
Content-Type: application/json
  • next_page_token

    string — The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • page_size

    integer — The number of records returned within a single API call.

  • participants

    array

    Items:

    • comment

      string — Post webinar comment of the participant.

    • date_time

      string, format: date-time — Date and time at which the feedback was submitted.

    • email

      string, format: email — Email address of the participant. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#email-address) for details.

    • quality

      string, possible values: "GOOD", "NOT GOOD" — Feedback submitted by the participant. * `GOOD`: Thumbs up. * `NOT GOOD`: Thumbs down.

    • user_id

      string — User ID of the participant.

Example:

{
  "next_page_token": "ZkFS5lmGLWTjLMqt2IVCBpyKwSnbDrgJzo2",
  "page_size": 30,
  "participants": [
    {
      "date_time": "2022-01-19T07:34:09Z",
      "email": "user@example.com",
      "quality": "GOOD",
      "user_id": "NJmuvOjlRm2r7yGUPLLOhw",
      "comment": "Webinar got disconnected."
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `200` <br> Only available for paid accounts that have dashboard feature enabled. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> Webinar ID is invalid or not end. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get webinar sharing/recording details

  • Method: GET
  • Path: /metrics/webinars/{webinarId}/participants/sharing
  • Tags: Dashboards

Retrieve the sharing and recording details of participants from live or past webinars.

Prerequisites:

  • Business, Education or API Plan with Webinar add-on.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_webinars:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:webinar_sharing:admin

Rate Limit Label: Heavy

Responses

Status: 200 **HTTP Status Code:** `200` Webinar participants returned. Only available for paid accounts that have enabled the Dashboard feature.
Content-Type: application/json

All of:

  • next_page_token

    string — The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • page_count

    integer — The number of pages returned for the request made.

  • page_size

    integer, default: 30 — The number of records returned within a single API call.

  • total_records

    integer — The number of all records available across pages.

  • participants

    array — Array of participants.

    Items:

    • details

      array — Array of sharing and recording details.

      Items:

      • content

        string — Type of content shared.

      • end_time

        string — End time of sharing.

      • start_time

        string — Start time of sharing.

    • id

      string — Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.

    • user_id

      string — Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.

    • user_name

      string — Participant display name.

Example:

{
  "next_page_token": "Tva2CuIdTgsv8wAnhyAdU3m06Y2HuLQtlh3",
  "page_count": 1,
  "page_size": 30,
  "total_records": 1,
  "participants": [
    {
      "details": [
        {
          "content": "desktop",
          "end_time": "2022-01-20T09:08:20Z",
          "start_time": "2022-01-20T09:08:13Z"
        }
      ],
      "id": "AVhfQ737SZ6aM8Lh60HrQg",
      "user_id": "28513280",
      "user_name": "jchill"
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `12702` <br> Can not access a webinar a year ago.
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> This webinar's detail info is not available or ID is not valid.<br> This webinar has not ended yet.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get webinar participant QoS

  • Method: GET
  • Path: /metrics/webinars/{webinarId}/participants/{participantId}/qos
  • Tags: Dashboards

Returns the quality of service (QoS) for participants during live or past webinars. This data returned indicates the connection quality for sending/receiving video, audio, and shared content. The API returns this data for either the API request or when the API request was last received.

When the sender sends its data, a timestamp is attached to the sender's data packet. The receiver then returns this timestamp to the sender. This helps determine the upstream and downstream latency, which includes the application processing time. The latency data returned is the five second average and five second maximum.

This API will not return data if there is no data being sent or received at the time of request.

Note:

This API may return empty values for participants' user_name, ip_address, location, and email responses when the account calling this API:

  • Does not have a signed HIPAA business associate agreement (BAA).
  • Is a [legacy HIPAA BAA account(/docs/api/rest/other-references/legacy-business-associate-agreements/).
  • Displays data for any users who are not part of the host's account, such as external users, unless they meet certain conditions. See [Email address display rules(/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

Prerequisites:

  • A Business, Education, or API Plan with Zoom Rooms set up.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_webinars:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:webinar_participant_qos:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` Webinar participant QOS returned. This API is only available for ZMP and Business or higher accounts that have enabled the Dashboard feature.
Content-Type: application/json
  • as_connection_type

    string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's screen share connection type.

  • browser_name

    string — webclient operation browser

  • browser_version

    string — webclient operation browser version

  • client

    string — Client software or SDK version.

  • connection_type

    string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant' connection type.

  • data_center

    string — The data center that the participant is leveraging to join the webinar.

  • device

    string, possible values: "Phone", "H.323/SIP", "Windows", "Mac", "iOS", "Android" — The type of device the participant used to join the meeting. * `Phone` - The participant joined via PSTN. * `H.323/SIP` - The participant joined with an H.323 or SIP device. * `Windows` - The participant joined with VoIP using a Windows device. * `Mac` - The participant joined through VoIP using a Mac device. * `iOS` - The participant joined through VoIP using an iOS device. * `Android` - The participant joined through VoIP using an Android device. **Note:** This response returns an empty string value for any users who are **not** a part of the host's account, such as external users.

  • device_name

    string — device's name

  • domain

    string — The participant's PC domain. **Note:** This response returns an empty string value for any users who are **not** a part of the host's account, such as external user).

  • email

    string, format: email — The participant's email address. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](/docs/api-reference/using-zoom-apis#email-address) for details.

  • full_data_center

    string — The data center where participant's meeting data is stored. This field includes a semicolon-separated list of HTTP Tunnel (HT), Cloud Room Connector (CRC), and Real-Time Web Gateway (RWG) location information.

  • groupId

    string — the attendee's group id

  • harddisk_id

    string — The participant's hard disk ID. **Note:** This response returns an empty string value for any users who are **not** a part of the host's account, such as external users.

  • has_archiving

    boolean — The status of the archiving feature for the meeting

  • health

    string, possible values: "Good", "Warning", "Critical", default: "Good" — The participant's health

  • id

    string — The participant's universally unique ID. This value is the same as the participant's user ID if the participant joins the webinar by logging into Zoom. If the participant joins the webinar without logging into Zoom, this returns an empty value.

  • internal_ip_addresses

    array — The participant's internal IP addresses. This field will not return under these conditions: * The account calling this API is a **legacy** [business associate agreement (BAA) under HIPAA](https://www.ecfr.gov/cgi-bin/retrieveECFR?gp=1&amp;n=se45.1.160_1103&amp;r=SECTION&amp;ty=HTML). * The account calling this API is a BAA under HIPAA **without** a signed BAA data processing addendum.

    Items:

    string

  • ip_address

    string — The participant's IP address.

  • issue_list

    array — The participant's issue list

    Items:

    string — The participant's issue

  • join_time

    string, format: date-time — The time when the participant joined the meeting.

  • leave_time

    string, format: date-time — The time when the participant left the meeting.

  • location

    string — The participant's location.

  • mac_addr

    string — The participant's MAC address. **Note:** This response returns an empty string value for any users who are **not** a part of the host's account, such as external users.

  • network_type

    string, possible values: "Wired", "Wifi", "PPP", "Cellular", "Others" — The participant's network type. * `Wired` * `Wifi` * `PPP` - Point-to-Point. * `Cellular` - 3G, 4G, and 5G cellular. * `Others` - An unknown device.

  • optional_archiving

    string, possible values: "no optional archiving", "join without archiving", "join with archiving" — This is shown only for internal participants who have archiving enabled

  • os

    string — device operation system

  • os_version

    string — device operation system version

  • participant_uuid

    string — The participant's UUID. This value assigned to a participant upon joining a webinar and is only valid for the webinar's duration.

  • pc_name

    string — The participant's PC name.

  • rc_reason

    string — the call reconnection reason: Client crash

  • recording

    boolean — Whether the recording feature was used during the webinar.

  • share_application

    boolean — Whether the participant chose to share an application during the meeting.

  • share_desktop

    boolean — Whether the participant chose to share their desktop during the screenshare.

  • share_whiteboard

    boolean — Whether the participant chose to share their whiteboard during the screenshare.

  • user_id

    string — The participant's ID. This value is assigned to a participant when they joining a meeting, and is only valid for the meeting's duration.

  • user_name

    string — The participant's display name.

  • user_qos

    array — The participant's quality of service information.

    Items:

    • as_device_from_crc

      object — The QoS metrics for screen sharing by a participant who joined the meeting via CRC.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • as_device_from_rwg

      object — The QoS metrics for screen sharing by a participant who joined the meeting via the web client.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • as_device_to_crc

      object — The QoS metrics for screen sharing output received by a participant who joined the meeting via CRC.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • as_device_to_rwg

      object — The QoS output metrics for screen sharing received by a participant who joined the meeting via the web client.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • as_input

      object — The QoS metrics for screen sharing by a participant who joined the meeting

      All of:

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • as_output

      object — The QoS metrics for screen sharing output received by a participant who joined the meeting

      All of:

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • as_socket_break

      object — The QoS metrics for screen sharing socket breaks by a participant who joined the meeting.

      • socket_break

        boolean — Whether the participant's screen sharing socket broke.

      • socket_break_time

        string, format: date-time — The participant's screen sharing socket break time.

      • socket_recover

        boolean — Whether the participant's screen sharing socket recovered.

      • socket_recover_time

        string, format: date-time — The participant's screen sharing socket recovery time.

    • audio_device_from_crc

      object — The QoS metrics for audio sent by a participant who joined the meeting via a Cloud Room Connector (CRC).

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

    • audio_device_from_rwg

      object — The QoS metrics for audio sent by a participant who joined the meeting via the web client.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

    • audio_device_to_crc

      object — The QoS metrics for audio received by a participant who joined the meeting via CRC.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

    • audio_device_to_rwg

      object — The QoS metrics for audio received by a participant who joined the meeting via web client.

      • avg_loss

        string — The average amount of packet loss. For example, the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

    • audio_input

      object — The QoS metrics for audio sent by a participant who joined the meeting

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

    • audio_output

      object — The QoS metrics for audio received by a participant who joined the meeting

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

    • audio_socket_break

      object — The QoS metrics for audio socket breaks by a participant who joined the meeting.

      • socket_break

        boolean — Whether the participant's audio socket broke.

      • socket_break_time

        string, format: date-time — The participant's audio socket break time.

      • socket_recover

        boolean — Whether the participant's audio socket recovered.

      • socket_recover_time

        string, format: date-time — The participant's audio socket recovery time.

    • command_socket_break

      object — The QoS metrics for command socket breaks by a participant who joined the meeting.

      • socket_break

        boolean — Whether the participant's command socket broke.

      • socket_break_time

        string, format: date-time — The participant's command socket break time.

      • socket_recover

        boolean — Whether the participant's command socket recovered.

      • socket_recover_time

        string, format: date-time — The participant's command socket recovery time.

    • cpu_pressure_level

      object — The system’s CPU pressure level

      • system_avg_cpu_pressure_level

        string, possible values: "normal", "fair", "serious", "critical" — The system’s average CPU pressure level

      • system_max_cpu_pressure_level

        string, possible values: "critical", "serious", "fair", "normal" — The system’s maximum CPU pressure level

      • system_min_cpu_pressure_level

        string, possible values: "normal", "fair", "serious", "critical" — The system’s minimum CPU pressure level

    • cpu_usage

      object — Information about CPU usage.

      • system_max_cpu_usage

        string — The system's maximum CPU usage.

      • zoom_avg_cpu_usage

        string — The Zoom's average CPU usage.

      • zoom_max_cpu_usage

        string — The Zoom's maximum CPU usage.

      • zoom_min_cpu_usage

        string — The Zoom's minimum CPU usage.

    • date_time

      string, format: date-time — The QoS date and time.

    • video_device_from_crc

      object — The QoS metrics for video input being sent by a participant who joined the meeting via CRC.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • video_device_from_rwg

      object — The QoS metrics for video input being sent by a participant who joined the meeting via the web client.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • video_device_to_crc

      object — The QoS metrics for video output being sent by a participant who joined the meeting via CRC.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • video_device_to_rwg

      object — The QoS metrics for video output being sent by a participant who joined the meeting via the web client.

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • video_input

      object — The QoS metrics for video input being sent by a participant who joined the meeting

      All of:

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • video_output

      object — The QoS metrics for video output being sent by a participant who joined the meeting

      All of:

      • avg_loss

        string — The average amount of packet loss, such as the percentage of packets that failed to arrive at their destination.

      • bitrate

        string — The bits per second transmitted along a digital network, in kbps.

      • jitter

        string — The variation in the delay of received packets, in milliseconds.

      • latency

        string — The time it took a packet to travel from one point to another, in milliseconds.

      • max_loss

        string — The maximum amount of packet loss, such as the maximum percentage of packets that failed to arrive at their destination.

      • frame_rate

        string — The rate where the video camera can produce unique images (frames). Zoom supports a frame rate of up to 30 fps.

      • resolution

        string — The number of pixels in each dimension that the video camera can display.

    • video_socket_break

      object — The QoS metrics for video socket breaks by a participant who joined the meeting.

      • socket_break

        boolean — Whether the participant's video socket broke.

      • socket_break_time

        string, format: date-time — The participant's video socket break time.

      • socket_recover

        boolean — Whether the participant's video socket recovered.

      • socket_recover_time

        string, format: date-time — The participant's video socket recovery time.

    • wifi_rssi

      object — The QoS metrics for the wireless network's RSSI sent by a participant who joined the meeting through a wireless network.

      • avg_rssi

        integer — Average value of the wireless network's received signal strength indicator (RSSI).

      • max_rssi

        integer — Maximum value of the wireless network's received signal strength indicator (RSSI).

      • min_rssi

        integer — Minimum value of the wireless network's received signal strength indicator (RSSI).

      • rssi_unit

        string — Unit of the wireless network's received signal strength indicator (RSSI).

  • vdi_plugin_info_fb_code_reason

    string — The participant's VDI plugin fallback reason.

  • vdi_plugin_info_status

    string, possible values: "Optimized", "UnOptimized", "Local" — The participant's VDI plugin connection status.

  • version

    string — The participant's Zoom client version.

  • video_connection_type

    string, possible values: "P2P", "TCP", "UDP", "Reliable UDP", "SSL", "HTTP", "TCP+Proxy", "UDP+Proxy", "Reliable+Proxy", "SSL+Proxy", "HTTP+Proxy" — The participant's video connection type.

  • webinar_number

    string — Unique identifier of the webinar in "long" format(represented as int64 data type in JSON)

  • zoom_thin_client_plugin_version

    string — VDI thin client version

Example:

{
  "id": "_f08HhPJS82MIVLuuFaJPg",
  "device": "Phone",
  "client": "Web Meeting SDK 2.18",
  "domain": "example.com",
  "harddisk_id": "Disk01",
  "internal_ip_addresses": [
    "192.0.2.1"
  ],
  "ip_address": "192.0.2.1",
  "join_time": "2022-03-01T10:15:14Z",
  "leave_time": "2022-03-01T10:15:14Z",
  "location": "United States",
  "mac_addr": "f85e-a012-92d8",
  "pc_name": "HW0010449",
  "user_id": "20161536",
  "user_name": "jchill",
  "user_qos": [
    {
      "as_device_from_crc": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "as_device_to_crc": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "as_input": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "as_output": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "audio_device_from_crc": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%"
      },
      "audio_device_to_crc": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%"
      },
      "audio_input": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%"
      },
      "audio_output": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%"
      },
      "cpu_usage": {
        "system_max_cpu_usage": "11%",
        "zoom_avg_cpu_usage": "0%",
        "zoom_max_cpu_usage": "2%",
        "zoom_min_cpu_usage": "0%"
      },
      "cpu_pressure_level": {
        "system_min_cpu_pressure_level": "normal",
        "system_avg_cpu_pressure_level": "normal",
        "system_max_cpu_pressure_level": "normal"
      },
      "date_time": "2022-03-01T10:16:00Z",
      "video_device_from_crc": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.03%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "video_device_to_crc": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "video_input": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "video_output": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "as_device_from_rwg": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "as_device_to_rwg": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "audio_device_from_rwg": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%"
      },
      "audio_device_to_rwg": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%"
      },
      "video_device_from_rwg": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.03%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "video_device_to_rwg": {
        "avg_loss": "0.03%",
        "bitrate": "27.15 kbps",
        "jitter": "0 ms",
        "latency": "126 ms",
        "max_loss": "0.4%",
        "frame_rate": "12 fps",
        "resolution": "1280*720"
      },
      "wifi_rssi": {
        "max_rssi": -75,
        "avg_rssi": -69,
        "min_rssi": -35,
        "rssi_unit": "dBm"
      },
      "audio_socket_break": {
        "socket_break": true,
        "socket_break_time": "2026-04-20T01:50:42Z",
        "socket_recover": false,
        "socket_recover_time": "2026-04-20T01:50:42Z"
      },
      "video_socket_break": {
        "socket_break": true,
        "socket_break_time": "2026-04-20T01:50:42Z",
        "socket_recover": false,
        "socket_recover_time": "2026-04-20T01:50:42Z"
      },
      "as_socket_break": {
        "socket_break": true,
        "socket_break_time": "2026-04-20T01:50:42Z",
        "socket_recover": false,
        "socket_recover_time": "2026-04-20T01:50:42Z"
      },
      "command_socket_break": {
        "socket_break": true,
        "socket_break_time": "2026-04-20T01:50:42Z",
        "socket_recover": false,
        "socket_recover_time": "2026-04-20T01:50:42Z"
      }
    }
  ],
  "version": "5.9.1.2581",
  "health": "Warning",
  "issue_list": [
    "audio"
  ],
  "rc_reason": "Client crash",
  "os": "iOS",
  "os_version": "16.5",
  "browser_name": "Firefox",
  "browser_version": "133",
  "participant_uuid": "D444CD06-2ABB-2FCC-019B-39E41D8DADF7",
  "network_type": "Wired",
  "data_center": "United States",
  "full_data_center": "United States;China (TJ RWG);",
  "connection_type": "UDP",
  "share_application": true,
  "share_desktop": true,
  "share_whiteboard": true,
  "recording": false,
  "device_name": "iPhone 7 Global",
  "has_archiving": false,
  "optional_archiving": "no optional archiving",
  "groupId": "TcjqVCTzRy6hLa0d8WpAIg",
  "video_connection_type": "UDP",
  "webinar_number": "93201235621",
  "zoom_thin_client_plugin_version": "6.5.11.26770",
  "email": "jchill@example.com",
  "as_connection_type": "UDP",
  "vdi_plugin_info_status": "Local",
  "vdi_plugin_info_fb_code_reason": "None (no error)"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `12702` <br> Can not access a webinar a year ago. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `3001` <br> This webinar's detail info is not available or ID is not valid. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List Zoom Rooms

  • Method: GET
  • Path: /metrics/zoomrooms
  • Tags: Dashboards

List information on all Zoom Rooms in an account.

Prerequisites:

  • Business, Education or API Plan with Zoom Rooms set up.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_zr:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:list_zoomrooms:admin

Rate Limit Label: Resource-intensive

Responses

Status: 200 **HTTP Status Code:** `200` List of Zoom rooms returned. Only available for paid accounts that have enabled the Dashboard feature.
Content-Type: application/json

All of:

  • next_page_token

    string

  • page_count

    integer — The number of pages returned for the request made.

  • page_number

    integer, default: 1 — The page number of the current results.

  • page_size

    integer, default: 30 — The number of records returned with a single API call.

  • total_records

    integer — The total number of all the records available across pages.

  • zoom_rooms

    array — Array of Zoom Rooms

    Items:

    • account_type

      string — Zoom room email type.

    • calender_name

      string — Zoom calendar name.

    • camera

      string — Zoom Room camera. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

    • device_ip

      string — Zoom room device IP.

    • email

      string — Zoom room email.

    • health

      string

    • id

      string — Zoom room ID.

    • issues

      array — Zoom Room issues.

      Items:

      string

    • last_start_time

      string — Zoom room last start time.

    • location

      string — Zoom room location.

    • location_id

      string — The Zoom Room's location ID.

    • microphone

      string — Zoom Room microphone. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

    • room_name

      string — Zoom room name.

    • speaker

      string — Zoom Room speaker. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

    • status

      string — Zoom room status.

Example:

{
  "next_page_token": "LkbB9n92siRxgYkffZ8KhApZCQMZpNrN0d2",
  "page_count": 2,
  "page_number": 1,
  "page_size": 30,
  "total_records": 30,
  "zoom_rooms": [
    {
      "account_type": "Work Email",
      "calender_name": "666555",
      "camera": "Integrated Webcam",
      "device_ip": "Computer : 10.100.170.109",
      "email": "user@example.com",
      "health": "critical",
      "id": "35QLhffMSfqUJJ9gCszciw",
      "issues": [
        "Zoom room is offline"
      ],
      "last_start_time": "2022-03-10T11:34:39Z",
      "location": "floor1",
      "location_id": "BzBAAAAAAAfprg",
      "microphone": "Microphone (3- Logitech USB Headset H340)",
      "room_name": "jchill",
      "speaker": "Speakers (3- Logitech USB Headset H340)",
      "status": "Offline"
    }
  ]
}
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get top 25 issues of Zoom Rooms

  • Method: GET
  • Path: /metrics/zoomrooms/issues
  • Tags: Dashboards

Get top 25 issues of Zoom Rooms.

Prerequisites:

  • Business, Education or API Plan with Zoom Rooms set up.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_zr:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:issues_zoomroom:admin

Rate Limit Label: Heavy

Responses

Status: 200 **HTTP Status Code:** `200` Zoom Room Issue details returned
Content-Type: application/json

All of:

  • from

    string, format: date — Start date for this report

  • to

    string, format: date — End date for this report

  • total_records

    integer — The number of all records available across pages

  • issues

    array

    Items:

    • issue_name

      string — Issue Name. The value of the this field could be one of the following: * `Room Controller disconnected` * `Room Controller connected` * `Selected camera has disconnected` * `Selected camera is reconnected` * `Selected microphone has disconnected` * `Selected microphone is reconnected` * `Selected speaker has disconnected` * `Selected speaker is reconnected` * `Zoom room is offline` * `Zoom room is online` * `High CPU usage is detected` * `Low bandwidth network is detected` * `{name} battery is low` * `{name} battery is normal` * `{name} disconnected` * `{name} connected` * `{name} is not charging` Possible values for {name}: * Zoom Rooms Computer * Controller * Scheduling Display

    • zoom_rooms_count

      integer — Zoom Room Count of Issue

Example:

{
  "from": "2022-01-01",
  "to": "2022-01-30",
  "total_records": 20,
  "issues": [
    {
      "issue_name": "Untrusted certificate is detected",
      "zoom_rooms_count": 1
    }
  ]
}
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get Zoom Rooms details

  • Method: GET
  • Path: /metrics/zoomrooms/{zoomroomId}
  • Tags: Dashboards

The Zoom Rooms dashboard metrics lets you know the type of configuration a Zoom room has and details on the meetings held in that room.

Use this API to retrieve information on a specific room.

Prerequisites:

  • Business, Education or API Plan with Zoom Rooms set up.

[Scopes(/docs/integrations/oauth-scopes-overview/): dashboard_zr:read:admin,dashboard:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): dashboard:read:zoomroom:admin

Rate Limit Label: HEAVY

Responses

Status: 200 **HTTP Status Code:** `200` Zoom room returned. Only available for paid accounts that have enabled the Dashboard feature.
Content-Type: application/json

All of:

  • account_type

    string — Zoom room email type.

  • calender_name

    string — Zoom calendar name.

  • camera

    string — Zoom Room camera. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

  • device_ip

    string — Zoom room device IP.

  • email

    string — Zoom room email.

  • health

    string — Health of the Zoom Room.

  • id

    string — Zoom room ID.

  • issues

    array — Issues encountered by the Zoom Room.

    Items:

    string

  • last_start_time

    string — Zoom room last start time.

  • location

    string — Zoom room location.

  • microphone

    string — Zoom Room microphone. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

  • room_name

    string — Zoom room name.

  • speaker

    string — Zoom Room speaker. **Note:** This response returns an empty string (`&ldquo;&ldquo;`) value for any users who are **not** a part of the host's account (external users).

  • status

    string — Zoom room status.

  • live_meeting

    object — Live meeting metric details.

    • custom_keys

      array — Custom keys and values assigned to the meeting.

      Items:

      • key

        string — Custom key associated with the meeting.

      • value

        string — Value of the custom key associated with the meeting.

    • dept

      string — Department of the host.

    • duration

      string — Meeting duration.

    • email

      string — Email address of the host.

    • end_time

      string, format: date-time — Meeting end time.

    • has_3rd_party_audio

      boolean — Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.

    • has_archiving

      boolean — Whether the archiving feature was used in the meeting.

    • has_automated_captions

      boolean — Indicates whether an automated caption was enabled in the meeting.

    • has_manual_captions

      boolean — Indicates whether a manual caption was enabled in the meeting.

    • has_pstn

      boolean — Indicates whether or not the PSTN was used in the meeting.

    • has_recording

      boolean — Indicates whether or not the recording feature was used in the meeting.

    • has_screen_share

      boolean — Indicates whether or not screenshare feature was used in the meeting.

    • has_sip

      boolean — Indicates whether or not someone joined the meeting using SIP.

    • has_video

      boolean — Indicates whether or not video was used in the meeting.

    • has_voip

      boolean — Indicates whether or not VoIP was used in the meeting.

    • host

      string — Host display name.

    • id

      integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in &quot;**long**&quot; format(represented as int64 data type in JSON), also known as the meeting number.

    • in_room_participants

      integer — The number of Zoom Room participants in the meeting.

    • participants

      integer — Meeting participant count.

    • start_time

      string, format: date-time — Meeting start time.

    • topic

      string — Meeting topic.

    • user_type

      string — License type of the user.

    • uuid

      string — Meeting UUID. [Double encode](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.

  • past_meetings

    object — Past meeting metric details.

    All of:

    • from

      string, format: date — Start date for this report in 'yyyy-mm-dd' format.

    • to

      string, format: date — End date for this report in 'yyyy-mm-dd' format.

    • next_page_token

      string — The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

    • page_count

      integer — The number of pages returned for the request made.

    • page_size

      integer, default: 30 — The number of records returned within a single API call.

    • total_records

      integer — The number of all records available across pages.

    • meetings

      array — Array of meeting objects.

      Items:

      • custom_keys

        array — Custom keys and values assigned to the meeting.

        Items:

        • key

          string — Custom key associated with the meeting.

        • value

          string — Value of the custom key associated with the meeting.

      • dept

        string — Department of the host.

      • duration

        string — Meeting duration.

      • email

        string — Email address of the host.

      • end_time

        string, format: date-time — Meeting end time.

      • has_3rd_party_audio

        boolean — Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.

      • has_archiving

        boolean — Whether the archiving feature was used in the meeting.

      • has_automated_captions

        boolean — Indicates whether an automated caption was enabled in the meeting.

      • has_manual_captions

        boolean — Indicates whether a manual caption was enabled in the meeting.

      • has_pstn

        boolean — Indicates whether or not the PSTN was used in the meeting.

      • has_recording

        boolean — Indicates whether or not the recording feature was used in the meeting.

      • has_screen_share

        boolean — Indicates whether or not screenshare feature was used in the meeting.

      • has_sip

        boolean — Indicates whether or not someone joined the meeting using SIP.

      • has_video

        boolean — Indicates whether or not video was used in the meeting.

      • has_voip

        boolean — Indicates whether or not VoIP was used in the meeting.

      • host

        string — Host display name.

      • id

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in &quot;**long**&quot; format(represented as int64 data type in JSON), also known as the meeting number.

      • in_room_participants

        integer — The number of Zoom Room participants in the meeting.

      • meeting_platform

        string, possible values: "Zoom", "MS Teams", "Google Meet" — Indicates the meeting platform that hosts the meeting. This field is used to distinguish Zoom meetings from third-party meetings joined through Zoom Rooms, such as MS Teams and Google Meet.

      • participants

        integer — Meeting participant count.

      • start_time

        string, format: date-time — Meeting start time.

      • topic

        string — Meeting topic.

      • user_type

        string — License type of the user.

      • uuid

        string — Meeting UUID. [Double encode](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.

Example:

{
  "account_type": "Work Email",
  "calender_name": "666555",
  "camera": "FaceTime HD Camera",
  "device_ip": "Computer : 10.100.93.138",
  "email": "user@example.com",
  "health": "critical",
  "id": "_hjJhB0cQRi9Xm3HX64Ggw",
  "issues": [
    "Zoom room is offline"
  ],
  "last_start_time": "2020-11-04T01:06:41Z",
  "location": "floor1",
  "microphone": "Built-in Microphone (External Microphone)",
  "room_name": "jchill room",
  "speaker": "Built-in Output (Headphones)",
  "status": "Offline",
  "live_meeting": {
    "host": "API",
    "custom_keys": [
      {
        "key": "Host Nation",
        "value": "US"
      }
    ],
    "dept": "Developers",
    "duration": "02:21",
    "email": "user@example.com",
    "end_time": "2022-03-01T10:17:35Z",
    "has_3rd_party_audio": true,
    "has_archiving": true,
    "has_pstn": true,
    "has_recording": true,
    "has_screen_share": true,
    "has_sip": true,
    "has_video": true,
    "has_voip": true,
    "has_manual_captions": true,
    "has_automated_captions": true,
    "id": 575734086,
    "in_room_participants": 2,
    "participants": 2,
    "start_time": "2022-03-01T10:15:14Z",
    "topic": "API Meeting",
    "user_type": "Licensed",
    "uuid": "gaqOKVN9RAaDHKYWEcASXg=="
  },
  "past_meetings": {
    "from": "2022-04-07",
    "to": "2022-04-08",
    "next_page_token": "Tva2CuIdTgsv8wAnhyAdU3m06Y2HuLQtlh3",
    "page_count": 1,
    "page_size": 30,
    "total_records": 1,
    "meetings": [
      {
        "host": "API",
        "custom_keys": [
          {
            "key": "Host Nation",
            "value": "US"
          }
        ],
        "dept": "Developers",
        "duration": "02:21",
        "email": "user@example.com",
        "end_time": "2022-03-01T10:17:35Z",
        "has_3rd_party_audio": true,
        "has_archiving": true,
        "has_pstn": true,
        "has_recording": true,
        "has_screen_share": true,
        "has_sip": true,
        "has_video": true,
        "has_voip": true,
        "has_manual_captions": true,
        "has_automated_captions": true,
        "id": 575734086,
        "in_room_participants": 2,
        "participants": 2,
        "start_time": "2022-03-01T10:15:14Z",
        "topic": "API Meeting",
        "user_type": "Licensed",
        "uuid": "gaqOKVN9RAaDHKYWEcASXg==",
        "meeting_platform": "Zoom"
      }
    ]
  }
}
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get download link for data access request file

  • Method: GET
  • Path: /data_requests/files/{fileId}/url
  • Tags: Data Requests

Returns download link for given fileId.

The download link expires after 5 minutes, and can only be used once.

[Scopes(/docs/integrations/oauth-scopes-overview/): data_request:read:admin,data_request:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): data_request:read:download:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` File download link generated successfully
Content-Type: application/json
  • download_url

    string — Download link that can be used to directly download file from Zoom's fileserver. It has a 5-minute expiration time, and can only be consumed once.

Example:

{
  "download_url": "https://download-url-path.com"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `200` <br> Invalid parameters <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `200` <br> No permission to request data. <br> **Error Code:** `14104` <br> Unable to complete your request. Please try again later. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `14103` <br> Unable to download data. Please try again later. <br>
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error **Error Code:** `14103` <br> Unable to download data. Please try again later. <br>

List data request history

  • Method: GET
  • Path: /data_requests/requests
  • Tags: Data Requests

Lists all data requests for account.

[Scopes(/docs/integrations/oauth-scopes-overview/): data_request:read:admin,data_request:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): data_request:read:history:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` Data Request history retrieved successfully
Content-Type: application/json
  • records (required)

    array — Array of data request history records

    Items:

    • account_id (required)

      string — Account ID that Data Request belongs to

    • created_at (required)

      string, format: date-time — Creation time of data request

    • data_type (required)

      array — Data Type

      Items:

      string, possible values: "ALL", "PHONE" — Data Type items

    • end_at (required)

      string, format: date-time — End time of data request

    • files_count (required)

      integer — Number of files contained in EXPORT data request

    • is_current_user (required)

      boolean — If original requestor of data request is the current user

    • request_id (required)

      string — Data request's ID

    • request_type (required)

      string, possible values: "DELETE", "EXPORT" — Data request type, either EXPORT or DELETE

    • requestor_name (required)

      string — Name of requestor

    • requestor_user_id (required)

      string — UserID of original requestor

    • start_at (required)

      string, format: date-time — Start time of data request

    • state (required)

      string, possible values: "Pending", "Processing", "Canceled", "Completed", "Failed" — State of data request

    • user_identifier (required)

      string — Email or phone number associated with data request

    • failed_reason

      string — Reason data request failed

  • total_records (required)

    number — Total number of data request history records

  • next_page_token

    string — Token used to retrieve next page of pagination in subsequent API calls

Example:

{
  "total_records": 1,
  "records": [
    {
      "request_id": "1952221087039594498",
      "request_type": "DELETE",
      "created_at": "2000-10-31T01:30:00-05:00",
      "requestor_user_id": "abcdefghij",
      "requestor_name": "Test User",
      "account_id": "abcdefg",
      "user_identifier": "a@a.com",
      "data_type": [
        "ALL"
      ],
      "state": "Processing",
      "files_count": 1,
      "start_at": "2025-08-05T23:14:10.448Z",
      "end_at": "2025-08-05T23:14:10.448Z",
      "is_current_user": true,
      "failed_reason": "User does not belong to account"
    }
  ],
  "next_page_token": "abcdef"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `14115` <br> Invalid parameters <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `200` <br> No permission to request data. <br>
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error **Error Code:** `14102` <br> Data unable to load. Please try again later. <br>

Create data (export/deletion) request

  • Method: POST
  • Path: /data_requests/requests
  • Tags: Data Requests

Submit a request to:

  • Export data for a specified time period.
  • Delete all data associated with a user's email.

Note: You can revoke deletion requests up to 30 minutes after submission.

[Scopes(/docs/integrations/oauth-scopes-overview/): data_request:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): data_request:write:request:admin

Rate Limit Label: MEDIUM

Request Body

Content-Type: application/json

One of:

  • emails (required)

    array — Array of valid emails belonging to requested account

    Items:

    string, format: email — Email

  • end_date (required)

    string — The end time of the export window, expressed as an ISO 8601–formatted date string (e.g., 2025-09-02T15:04:05Z). This field is required for export requests and must be strictly later than startDate.

  • request_type (required)

    string, possible values: "EXPORT" — The request type. It must be either EXPORT or DELETION.

  • start_date (required)

    string — The start time of the export window, expressed as an ISO 8601–formatted date string (e.g., 2025-09-02T15:04:05Z). This field is required for export requests and must be strictly earlier than endDate.

  • emails (required)

    array — Array of valid emails belonging to requested account

    Items:

    string, format: email — Email

  • request_type (required)

    string, possible values: "DELETE" — The request type. It must be either EXPORT or DELETION.

Example:

{
  "emails": [
    "example@example.com"
  ],
  "start_date": "2025-08-06T17:30:00Z",
  "end_date": "2025-08-07T17:30:00Z",
  "request_type": "EXPORT"
}

Responses

Status: 201 **HTTP Status Code:** `200` The request was created successfully. For export requests, the system begins preparing the data for the specified time period. For deletion requests, the system schedules deletion of the specified users’ data (with a 30-minute revocation window).
Content-Type: application/json
  • data (required)

    array — An array containing JSON objects for each data request created

    Items:

    • email

      string, format: email — Email of data request

    • request_id

      string — Data Request's ID

Example:

{
  "data": [
    {
      "email": "example@example.com",
      "request_id": "1950699479925886978"
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `14108` <br> Your data migration request is in progress. Cannot do the data request. <br> **Error Code:** `300` <br> Please enter a valid email address. <br> **Error Code:** `300` <br> Email address length must less than 128 characters <br> **Error Code:** `14111` <br> Invalid email accounts detected. Please remove the following emails and try again {emails} <br> **Error Code:** `300` <br> Invalid email address <br> **Error Code:** `200` <br> You can only input up to 10 emails in one request. <br> **Error Code:** `14101` <br> Your data request could not be completed. Please try again <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `200` <br> No permission to request data. <br>
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `14114` <br> You can only have one data request in process at a time. Wait until your current request is completed and try again. <br>

List downloadable files for export data request

  • Method: GET
  • Path: /data_requests/requests/{requestId}
  • Tags: Data Requests

Fetches downloadable file information from an individual data request

[Scopes(/docs/integrations/oauth-scopes-overview/): data_request:read:admin,data_request:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): data_request:read:download:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` Data export request downloadable file info returned successfully
Content-Type: application/json
  • file_records (required)

    array — Array of file information objects

    Items:

    • created_at

      string, format: date-time — When file was created in ISO 8601 notation

    • file_id

      string — File ID used for download API

    • file_name

      string — Name of file

    • size

      string — Size of file in bits

  • request_type (required)

    string, possible values: "EXPORT" — The request type of the files

  • total_records (required)

    number — Total number of file information records for the request, not limited by page size.

  • next_page_token

    string — Token that can be passed in subsequent API calls to retrieve next page of downloadable file information

Example:

{
  "total_records": 1,
  "request_type": "EXPORT",
  "file_records": [
    {
      "file_id": "M84CPMhmTGqeMMfwrvb6mA",
      "file_name": "EXPORT_2xxx0x0x.zip",
      "size": "15667",
      "created_at": "2025-08-06T17:30:00Z"
    }
  ],
  "next_page_token": "nextPageToken123"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `14115` <br> Invalid parameters. <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `200` <br> No permission to request data. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `14103` <br> Unable to download data. Please try again later. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error **Error Code:** `14103` <br> Unable to download data. Please try again later. <br>

Cancel data deletion request

  • Method: DELETE
  • Path: /data_requests/requests/{requestId}
  • Tags: Data Requests

Cancel a pending data request with ID requestId.

Only Data Deletion requests can be canceled. The window to cancel Data Deletion requests expires after 30 minutes.

[Scopes(/docs/integrations/oauth-scopes-overview/): data_request:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): data_request:delete:request:admin

Rate Limit Label: MEDIUM

Responses

Status: 204 **HTTP Status Code:** `200` Data request successfully canceled
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `200` <br> No permission to request data. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `14105` <br> Unable to cancel data request. Please try again later. <br> **Error Code:** `200` <br> Invalid parameters. <br>
Status: 422 **HTTP Status Code:** `422` <br> Unprocessable Entity **Error Code:** `14106` <br> Your data request is processing, and can no longer be canceled. <br>
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error **Error Code:** `2` <br> Internal server error <br>

List information Barrier policies

  • Method: GET
  • Path: /information_barriers/policies
  • Tags: Information Barriers

Return a list of all Information Barriers policies and their information.

Prerequisites:

[Scopes(/docs/integrations/oauth-scopes-overview/): information_barriers:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): information_barrier:read:list_policies:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` InformationBarriers returned.
Content-Type: application/json

Example:

{
  "policies": [
    {
      "assigned_group_id": "SsxAmMT7QPOH19Kf9ZHz6g",
      "id": "ErxAmMT7QPOH19Kf9Z55ty",
      "policy_name": "test",
      "chaperone_group_id": "0P9yYDOFRVeSNvSxwuO8rA",
      "settings": {
        "complete_phone_calls": false,
        "file_transfer": false,
        "im": false,
        "in_meeting_chat": false,
        "meeting": false,
        "message_via_sms": false,
        "recording": false,
        "screen_share": false
      },
      "status": 1,
      "to_group_id": "mjLMOSAERBaakF8kSDWB7g",
      "type": 1
    }
  ],
  "total_records": 30,
  "next_page_token": "eyJwYWdlIjogMiwgInBhZ2VTaXplIjogMTB9"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `200` <br> Not available for this account, {0} <br> **Error Code:** `200` <br> Only available for Paid account: {0}. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Create an Information Barrier policy

  • Method: POST
  • Path: /information_barriers/policies
  • Tags: Information Barriers

Create a new Information Barrier policy. Information Barriers help customers control communication policies and meet regulatory requirements at scale. Use information barriers to prevent specific groups of users who possess sensitive information from communicating with others who should not know this information.

Prerequisites:

[Scopes(/docs/integrations/oauth-scopes-overview/): information_barriers:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): information_barrier:write:policy:admin

Rate Limit Label: MEDIUM

Request Body

Content-Type: application/json

Example:

{
  "assigned_group_id": "SsxAmMT7QPOH19Kf9ZHz6g",
  "id": "ErxAmMT7QPOH19Kf9Z55ty",
  "policy_name": "test",
  "settings": {
    "complete_phone_calls": false,
    "file_transfer": false,
    "im": false,
    "in_meeting_chat": false,
    "meeting": false,
    "message_via_sms": false,
    "recording": false,
    "screen_share": false
  },
  "status": 1,
  "to_group_id": "mjLMOSAERBaakF8kSDWB7g",
  "type": 1
}

Responses

Status: 201 **HTTP Status Code:** `201` Information Barriers created.
Content-Type: application/json

Example:

{
  "assigned_group_id": "SsxAmMT7QPOH19Kf9ZHz6g",
  "id": "ErxAmMT7QPOH19Kf9Z55ty",
  "policy_name": "test",
  "settings": {
    "complete_phone_calls": false,
    "file_transfer": false,
    "im": false,
    "in_meeting_chat": false,
    "meeting": false,
    "message_via_sms": false,
    "recording": false,
    "screen_share": false
  },
  "status": 1,
  "to_group_id": "mjLMOSAERBaakF8kSDWB7g",
  "type": 1
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `300` <br> assigned_group_id and to_group_id are required fields and cannot be left empty or the same. <br> **Error Code:** `7002` <br> Unable to add this policy, as it would create duplicate policies which is not permitted. assigned_group_id: {0}, to_group_id: {1}. <br> **Error Code:** `200` <br> Not available for this account, {0} <br> **Error Code:** `300` <br> policy_name is a required field and cannot be left empty. <br> **Error Code:** `200` <br> Only available for Paid account: {0}. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get an Information Barrier policy by ID

  • Method: GET
  • Path: /information_barriers/policies/{policyId}
  • Tags: Information Barriers

Return an Information Barriers policy by its ID.

Prerequisites:

[Scopes(/docs/integrations/oauth-scopes-overview/): information_barriers:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): information_barrier:read:policy:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` Information Barriers returned.
Content-Type: application/json

Example:

{
  "assigned_group_id": "SsxAmMT7QPOH19Kf9ZHz6g",
  "id": "ErxAmMT7QPOH19Kf9Z55ty",
  "policy_name": "test",
  "settings": {
    "complete_phone_calls": false,
    "file_transfer": false,
    "im": false,
    "in_meeting_chat": false,
    "meeting": false,
    "message_via_sms": false,
    "recording": false,
    "screen_share": false
  },
  "status": 1,
  "to_group_id": "mjLMOSAERBaakF8kSDWB7g",
  "type": 1
}
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Remove an Information Barrier policy

  • Method: DELETE
  • Path: /information_barriers/policies/{policyId}
  • Tags: Information Barriers

Remove an Information Barrier policy.

Prerequisites:

[Scopes(/docs/integrations/oauth-scopes-overview/): information_barriers:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): information_barrier:delete:policy:admin

Rate Limit Label: MEDIUM

Responses

Status: 204 **HTTP Status Code:** `204` Information Barriers deleted.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `7001` <br> Group policy not found: {0}. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Update an Information Barriers policy

  • Method: PATCH
  • Path: /information_barriers/policies/{policyId}
  • Tags: Information Barriers

Update an Information Barriers policy.

Prerequisites:

[Scopes(/docs/integrations/oauth-scopes-overview/): information_barriers:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): information_barrier:update:policy:admin

Rate Limit Label: MEDIUM

Request Body

Content-Type: application/json

Example:

{
  "assigned_group_id": "SsxAmMT7QPOH19Kf9ZHz6g",
  "id": "ErxAmMT7QPOH19Kf9Z55ty",
  "policy_name": "test",
  "settings": {
    "complete_phone_calls": false,
    "file_transfer": false,
    "im": false,
    "in_meeting_chat": false,
    "meeting": false,
    "message_via_sms": false,
    "recording": false,
    "screen_share": false
  },
  "status": 1,
  "to_group_id": "mjLMOSAERBaakF8kSDWB7g",
  "type": 1
}

Responses

Status: 200 **HTTP Status Code:** `200` Information Barriers updated.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `7001` <br> Group policy not found: {0}. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List roles

  • Method: GET
  • Path: /roles
  • Tags: Roles

List roles on your account

Prerequisites :

  • Pro or higher plan.
  • For setting the initial role, you must be the Account Owner.
  • For subsequent role management, you must be the Account Owner or user with role management permissions.

[Scopes(/docs/integrations/oauth-scopes-overview/): role:read:admin,role:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): role:read:list_roles,role:read:list_roles:admin

Rate Limit Label: Medium

Responses

Status: 200 **HTTP Status Code:** `200` List of roles returned.
Content-Type: application/json

All of:

  • roles

    array — List of Roles objects

    Items:

    All of:

    • description

      string — Role Description

    • id

      string — Role Id

    • name

      string — Role Name

    • total_members

      integer — Total members in this role

    • type

      string — Role Type

  • total_records

    integer — The number of all records available across pages

Example:

{
  "roles": [
    {
      "description": "my role",
      "id": "RqBLcd1jLS9a7RBkbGtqn2A",
      "name": "My Role",
      "type": "iq",
      "total_members": 200
    }
  ],
  "total_records": 200
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `4700` <br> Invalid access token, does not contain role:read:admin scope.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Create a role

  • Method: POST
  • Path: /roles
  • Tags: Roles

Each Zoom user automatically has a role which can either be owner, administrator, or member.

Pre-requisites

  • Pro or higher plan.

  • To set the initial role, you must be the account owner.

  • For subsequent role management, you must be either the account owner or user with role management permissions.

[Scopes(/docs/integrations/oauth-scopes-overview/): role:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): role:write:role,role:write:role:admin

Rate Limit Label: LIGHT

Request Body

Content-Type: application/json

Example:

{
  "description": "My role",
  "name": "My role",
  "type": "iq",
  "privileges": [
    "User:Read"
  ]
}

Responses

Status: 200 **Status Code:** `200` You have created a role. { “id”: “ReP0khZqgQ3amxOFo7tbYAw”, “name”: “ole001”, “description”: “My role”, “type”: “common”, “total_members”: 0, “privileges”: [ “User:Read” ] }
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1224` <br> Role name {roleName} has already been used. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get role information

  • Method: GET
  • Path: /roles/{roleId}
  • Tags: Roles

Each Zoom user automatically has a role which can either be owner, administrator, or member. Account owners and users with edit privileges for role management can add customized roles with a list of privileges.

Use this API to get information including specific privileges assigned to a role.

Pre-requisites

  • A Pro or higher plan.

  • For role management and updates, you must be either the account owner or a user with role management permissions.

[Scopes(/docs/integrations/oauth-scopes-overview/): role:read:admin,role:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): role:read:role,role:read:role:admin

Rate Limit Label: LIGHT

Responses

Status: 200 **Status Code:** `200` Information about a specific role returned. **Error Code:** `200` You do not have the permission to retrieve role information.
Content-Type: application/json
  • description

    string — The role's description.

  • id

    string — The role's Id.

  • name

    string — The role's name.

  • privilege_scopes

    array — Role scope info, which include permission id, group id list. This field will only return permission which checked specific scope.

    Items:

  • privileges

    array — Privileges assigned to the role. Can be one or more of [these permissions](https://developers.zoom.us/docs/api/rest/other-references/privileges/).

    Items:

    string

  • sub_account_privileges

    object — This field will only be displayed to accounts enrolled in a partner plan and following the master accounts and sub-accounts structure.

    • second_level

      integer — Indicates how the account can manage sub-accounts. `1` - Manage the sub-account as an owner of the account. `2` - Manage the sub-account with the same privileges as the current account. `3` - Manage the sub-account with specified privileges.

  • total_members

    integer — Total members assigned to that role.

  • type

    string — The role's type.

Example:

{
  "description": "My role",
  "id": "2",
  "name": "My role",
  "type": "iq",
  "privileges": [
    "User:Read"
  ],
  "sub_account_privileges": {
    "second_level": 1
  },
  "total_members": 20,
  "privilege_scopes": [
    {
      "permission_id": "User:Read",
      "group_ids": [
        ""
      ]
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1034` <br> Provided `role_id` does not exist. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Delete a role

  • Method: DELETE
  • Path: /roles/{roleId}
  • Tags: Roles

Each Zoom user automatically has a role which can either be owner, administrator, or a member. Account Owners and users with edit privileges for Role management can add customized roles with a list.

Use this API to delete a role.

Pre-requisite:

  • A Pro or higher plan.

  • For role management and updates, you must be the Account Owner or user with role management permissions.

[Scopes(/docs/integrations/oauth-scopes-overview/): role:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): role:delete:role,role:delete:role:admin

Rate Limit Label: Light

Responses

Status: 200 **Error Code:** `200` Role not found.
Status: 204 **Status Code:** `204` Role deleted.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1034` <br> Provided `role_id` does not exist.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Update role information

  • Method: PATCH
  • Path: /roles/{roleId}
  • Tags: Roles

Each Zoom user automatically has a role which can either be owner, administrator, or a member. Account Owners and users with edit privileges for Role management can add customized roles with a list.

Use this API to change the privileges, name and description of a specific role.

Pre-requisite:

  • A Pro or higher plan.

  • For role management and updates, you must be the Account Owner or user with role management permissions.

[Scopes(/docs/integrations/oauth-scopes-overview/): role:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): role:update:role,role:update:role:admin

Rate Limit Label: Light

Request Body

Content-Type: application/json
  • description

    string — The role's description.

  • name

    string — The role's name.

  • privileges

    array — The role's assigned privileges. Can be one or a combination of [these privileges](https://developers.zoom.us/docs/api/rest/other-references/privileges/).

    Items:

    string

  • sub_account_privileges

    object — This field will only be displayed to accounts that are enrolled in the partner plan and follow master accounts and sub accounts structure.

    • second_level

      integer — Indicates how the account can manage sub-accounts. `1` - Manage the sub account as an owner of the account. `2` - Manage the sub-account with the same privileges as the current account. `3` - Manage the sub-account with specified privileges.

Example:

{
  "description": "My role",
  "name": "My role",
  "privileges": [
    "User:Read"
  ],
  "sub_account_privileges": {
    "second_level": 1
  }
}

Responses

Status: 200 **Error Code:** `200` The account must be a paid account to update the role.
Content-Type: application/json

Example:

{}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1224` <br> Role name {roleName} has already been used.<br><br> <br> **Error Code:** `1034` <br> Provided `role_id` does not exist. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List members in a role

  • Method: GET
  • Path: /roles/{roleId}/members
  • Tags: Roles

User roles can have a set of permissions that allows access only to the pages a user needs to view or edit. Use this API to list all the members that are assigned a specific role.

Prerequisites:

  • A Pro or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): role:read:admin,role:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): role:read:list_members,role:read:list_members:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` Success
Content-Type: application/json
  • members

    array — List of a Role Members

    Items:

    All of:

    • department

      string — Member Department

    • email

      string — Member Email

    • first_name

      string — Member First Name

    • id

      string — Member ID

    • last_name

      string — Member Last Name

    • type

      integer — Member Type

  • next_page_token

    string — The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • page_count

    integer — The number of pages returned for the request made.

  • page_number

    integer, default: 1 — The page number of the current results.

  • page_size

    integer, default: 30 — The number of records returned within a single API call.

  • total_records

    integer — The total number of all the records available across pages.

Example:

{
  "members": [
    {
      "department": "Developers",
      "email": "jchil.test@example.com",
      "first_name": "Jill",
      "id": "49D7a0xPQvGQ2DCMZgSe7w",
      "last_name": "Chill",
      "type": 2
    }
  ],
  "next_page_token": "TUNTL8kGBvdBSJiX1PaNAVxYbjV7ouJlKS2",
  "page_count": 3,
  "page_number": 1,
  "page_size": 30,
  "total_records": 22
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1034` <br> Provided `role_id` does not exist. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Assign a role

  • Method: POST
  • Path: /roles/{roleId}/members
  • Tags: Roles

User roles can have a set of permissions that allows access only to the pages a user needs to view or edit. Use this API to assign a role to members.

Prerequisites:

  • A Pro or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): role:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): role:write:member,role:write:member:admin

Rate Limit Label: Medium

Request Body

Content-Type: application/json
  • members

    array — Array of userId/user email of users to whom you would like to assign this role. Up to 30 users can be assigned a role at once.

    Items:

    • email

      string, format: email — Email address of the user to whom you would like to assign the role. Provide either the userId in the ID field or the email address in the email field. If both fields are provided, only userId is used.

    • id

      string — User ID of the user to whom you would like to assign the role.

Example:

{
  "members": [
    {
      "email": "user@example.com",
      "id": "Cs97wug2RTm5TNvuvk4yRw"
    }
  ]
}

Responses

Status: 201 **HTTP Status Code:** `201` Members Added
Content-Type: application/json
  • add_at

    string, format: date-time — Date and time at which the members are assigned to the role.

  • ids

    string — User ID

Example:

{
  "add_at": "2019-06-01T07:58:03Z",
  "ids": "2"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1034` <br> Provided `role_id` does not exist.<br><br> **Error Code:** `300` <br> RoleId required.<br> Can't delete or add members for Normal/Owner roles.<br><br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Unassign a role

  • Method: DELETE
  • Path: /roles/{roleId}/members/{memberId}
  • Tags: Roles

User roles can have a set of permissions that allows access only to the pages a user needs to view or edit. Use this API to unassign a user's role.

Prerequisites:

  • A Pro or a higher plan.

[Scopes(/docs/integrations/oauth-scopes-overview/): role:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): role:delete:member,role:delete:member:admin

Rate Limit Label: Light

Responses

Status: 204 **HTTP Status Code:** `204` Role withdrawn from user.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `1034` <br> Provided `role_id` does not exist.
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get account SSO capabilities

  • Method: GET
  • Path: /sso/capabilities
  • Tags: Single Sign-On

Return the account's SSO capabilities so clients can shape requests. Accessible even while SSO is disabled.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:capabilities:admin

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` <br> Account SSO capabilities.
Content-Type: application/json
  • approved_vanity_urls

    array — Approved vanity URLs (bare host) for `visibility.vanity_urls`.

    Items:

    string

  • login_restriction_supported

    boolean — Whether create or update may include the security object. This is `true` for multiple-configuration accounts only.

  • multiple_configurations_supported

    boolean — Whether the account supports multiple configurations. This is `true` for multiple-configuration accounts only.

  • supported_config_types

    array — The `config_type` values the account may create.

    Items:

    string, possible values: "saml", "oidc", "incommon"

  • title_required

    boolean — Whether title is required when creating a configuration. This is `true` for multiple-configuration accounts only.

  • visibility_required

    boolean — Whether visibility must be supplied when creating a configuration. This is `true` for multiple-configuration accounts only.

Example:

{
  "supported_config_types": [
    "saml"
  ],
  "visibility_required": false,
  "multiple_configurations_supported": false,
  "title_required": false,
  "approved_vanity_urls": [
    "corp.zoom.us"
  ],
  "login_restriction_supported": false
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration: `SingleSignOn:Read`.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

List SSO configurations

  • Method: GET
  • Path: /sso/configurations
  • Tags: Single Sign-On

List the account's full filtered SSO configuration set.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:config:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` <br> Full filtered configuration list. No cursor or page token is returned.
Content-Type: application/json
  • configurations

    array — Matching configurations (summary view).

    Items:

    • config_id

      string — The configuration ID.

    • config_type

      string, possible values: "saml", "incommon", "oidc" — The protocol.

    • status

      string, possible values: "enabled", "disabled" — The status.

    • title

      string — The display title (multiple-configuration accounts only).

  • total_records

    integer — Total number of matching configurations. Not paginated: the full filtered set is always returned.

Example:

{
  "total_records": 2,
  "configurations": [
    {
      "config_id": "aBc123XyZ",
      "config_type": "saml",
      "status": "enabled",
      "title": "Corp Okta"
    }
  ]
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration: `SingleSignOn:Read`.
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `45703` <br> SSO is disabled for this account. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Create an SSO configuration

  • Method: POST
  • Path: /sso/configurations
  • Tags: Single Sign-On

Create a SAML, InCommon, or OIDC SSO configuration. The saml, incommon, and oidc fields are mutually exclusive.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:write:config:admin

Rate Limit Label: LIGHT

Request Body

Content-Type: application/json

One of:

  • config_type (required)

    string, possible values: "saml"

  • saml (required)

    object — SAML protocol object. The latest SP CA certificate is selected automatically on create. The three signing/encryption switches are protocol-specific fields on this object.

    • binding_type

      string, possible values: "post", "redirect" — SAML binding type.

    • idp_certificate

      string — IdP X.509 signing certificate (PEM body). Required for manual SAML.

    • idp_entity_id

      string — IdP entity ID or issuer. Required for manual SAML.

    • idp_sign_in_url

      string — IdP single sign-in URL. Required for manual SAML.

    • idp_sign_out_url

      string — IdP single sign-out URL.

    • metadata_url

      string — IdP metadata URL. When present, the configuration is URL-sourced: `idp_*` fields are fetched and parsed server-side and become read-only.

    • sign_saml_logout_request

      boolean — Sign the SAML logout request.

    • sign_saml_request

      boolean — Sign the SAML authentication request.

    • sp_certificate_auto_upgrade

      boolean — Whether the SP certificate auto-rotates to a newer version.

    • sp_entity_id

      string — SP entity ID. Single manual SAML: optional on write (defaults to the account vanity host without scheme; may be supplied with or without `https://`). Multiple-configuration accounts: read-only, auto-generated as `https://zoom.us/sp/{config_id}`.

    • support_encrypted_assertions

      boolean — Accept encrypted SAML assertions.

  • description

    string — Description (multiple-configuration accounts only).

  • save_response_log_enabled

    boolean — Whether to save SAML response logs.

  • security

    object — Security sign-in restriction object (multiple-configuration accounts only).

    • allowed_email_domains

      array — Allowed email domains. Values must be valid domains. The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • allowed_user_groups

      array — Allowed user group names (case-sensitive). The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • restrict_sign_in_enabled

      boolean — Whether to restrict sign-in by email domain or user group. Requires at least one of `allowed_email_domains` or `allowed_user_groups`.

  • title

    string — Display title (multiple-configuration accounts only).

  • visibility

    object — Configuration visibility (multiple-configuration accounts only).

    • vanity_urls

      array — Vanity URLs when `visibility_type` is `specific_vanity_urls`. Each value is limited to 64 characters and the comma-joined stored value to 512 characters.

      Items:

      string

    • visibility_type

      string, possible values: "any_vanity_urls", "specific_vanity_urls" — Whether the configuration is visible for any or only specific vanity URLs.

  • config_type (required)

    string, possible values: "incommon"

  • incommon (required)

    object — InCommon create selector. Only `incommon_entity_id` and `incommon_idp_name` are accepted.

    • incommon_entity_id

      string — InCommon federation entity ID. Provide this or `incommon_idp_name` to select the IdP.

    • incommon_idp_name

      string — InCommon IdP display name. It must match exactly one federation entry.

  • config_type (required)

    string, possible values: "oidc"

  • oidc (required)

    object — OIDC sub-object. When `discovery_url` is present, the endpoints are fetched and parsed server-side and become read-only.

    • authorization_endpoint

      string — Authorization endpoint (read-only when discovery-sourced).

    • client_id

      string — OIDC client ID. Required for manual OIDC.

    • client_secret

      string — OIDC client secret. Required on create; masked on read.

    • discovery_url

      string — OIDC discovery document URL (`.well-known/openid-configuration`). When present, endpoints are filled server-side.

    • end_session_endpoint

      string — End-session endpoint (read-only when discovery-sourced).

    • jwks_uri

      string — JWKS URI (read-only when discovery-sourced).

    • scopes

      array — OIDC scopes. Must include `openid` and `email`. The space-joined stored value is limited to 255 characters.

      Items:

      string

    • token_endpoint

      string — Token endpoint (read-only when discovery-sourced).

    • token_issuer

      string — Expected token issuer.

    • user_info_endpoint

      string — UserInfo endpoint (read-only when discovery-sourced).

  • description

    string — Description (multiple-configuration accounts only).

  • save_response_log_enabled

    boolean — Whether to save OIDC response logs.

  • security

    object — Security sign-in restriction object (multiple-configuration accounts only).

    • allowed_email_domains

      array — Allowed email domains. Values must be valid domains. The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • allowed_user_groups

      array — Allowed user group names (case-sensitive). The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • restrict_sign_in_enabled

      boolean — Whether to restrict sign-in by email domain or user group. Requires at least one of `allowed_email_domains` or `allowed_user_groups`.

  • title

    string — Display title (multiple-configuration accounts only).

  • visibility

    object — Configuration visibility (multiple-configuration accounts only).

    • vanity_urls

      array — Vanity URLs when `visibility_type` is `specific_vanity_urls`. Each value is limited to 64 characters and the comma-joined stored value to 512 characters.

      Items:

      string

    • visibility_type

      string, possible values: "any_vanity_urls", "specific_vanity_urls" — Whether the configuration is visible for any or only specific vanity URLs.

Example:

{
  "config_type": "saml",
  "title": "Corp Okta",
  "description": "",
  "saml": {
    "idp_entity_id": "http://www.okta.com/exkabcd1234",
    "idp_sign_in_url": "https://corp.okta.com/app/zoom/exkabcd1234/sso/saml",
    "idp_sign_out_url": "https://corp.okta.com/app/zoom/exkabcd1234/slo/saml",
    "idp_certificate": "MIIDpDCCAoygAwIBAgIGA...==",
    "metadata_url": "",
    "binding_type": "post",
    "sp_entity_id": "corp.zoom.us",
    "sp_certificate_auto_upgrade": true,
    "sign_saml_request": true,
    "sign_saml_logout_request": true,
    "support_encrypted_assertions": false
  },
  "security": {
    "restrict_sign_in_enabled": true,
    "allowed_email_domains": [
      "example.com"
    ],
    "allowed_user_groups": [
      "Engineering"
    ]
  },
  "visibility": {
    "visibility_type": "any_vanity_urls",
    "vanity_urls": [
      "corp.zoom.us"
    ]
  },
  "save_response_log_enabled": false
}

Responses

Status: 201 **HTTP Status Code:** `201` <br> Configuration created.
Content-Type: application/json

One of:

  • config_id (required)

    string — Configuration ID (`default` for single-configuration accounts).

  • config_type (required)

    string, possible values: "saml"

  • saml (required)

    object — SAML protocol object. The three signing/encryption switches are protocol-specific fields on this object.

    • binding_type

      string, possible values: "post", "redirect" — SAML binding type.

    • idp_certificate

      string — IdP X.509 signing certificate (PEM body).

    • idp_entity_id

      string — IdP entity ID or issuer.

    • idp_sign_in_url

      string — IdP single sign-in URL.

    • idp_sign_out_url

      string — IdP single sign-out URL.

    • metadata_url

      string — IdP metadata URL. When present, the configuration is URL-sourced: `idp_*` fields are fetched and parsed server-side and become read-only.

    • sign_saml_logout_request

      boolean — Whether the SAML logout request is signed.

    • sign_saml_request

      boolean — Whether the SAML authentication request is signed.

    • sp_certificate_auto_upgrade

      boolean — Whether the SP certificate auto-rotates to a newer CA version.

    • sp_certificate_id

      string — Selected SP certificate ID.

    • sp_entity_id

      string — SP entity ID. Single manual SAML: optional on write (defaults to the account vanity host without scheme; may be supplied with or without `https://`). Single InCommon: read-only, fixed to the account vanity URL in `https://` form (supplying it is rejected with error 45304). Multiple-configuration accounts: read-only, auto-generated as `https://{vanityBaseDomain}/sp/{config_id}`.

    • sp_metadata_url

      string — URL where the SP metadata XML can be fetched.

    • support_encrypted_assertions

      boolean — Whether encrypted SAML assertions are accepted.

  • created_at

    string, format: date-time — Creation time in UTC (multiple-configuration accounts only).

  • description

    string — Description (multiple-configuration accounts only).

  • save_response_log_enabled

    boolean — Whether SAML response logs are saved.

  • security

    object — Security sign-in restriction object (multiple-configuration accounts only).

    • allowed_email_domains

      array — Allowed email domains. Values must be valid domains. The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • allowed_user_groups

      array — Allowed user group names (case-sensitive). The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • restrict_sign_in_enabled

      boolean — Whether sign-in is restricted by email domain or user group. Requires at least one of `allowed_email_domains` or `allowed_user_groups`.

  • status

    string, possible values: "enabled", "disabled" — Configuration status.

  • title

    string — Display title (multiple-configuration accounts only).

  • updated_at

    string, format: date-time — Last update time in UTC (multiple-configuration accounts only).

  • visibility

    object — Configuration visibility (multiple-configuration accounts only).

    • vanity_urls

      array — Vanity URLs when `visibility_type` is `specific_vanity_urls` (phase 1: exactly one). Each value is limited to 64 characters and the comma-joined stored value to 512 characters.

      Items:

      string

    • visibility_type

      string, possible values: "any_vanity_urls", "specific_vanity_urls" — Whether the configuration is visible for any or only specific vanity URLs.

  • config_id (required)

    string — Configuration ID (`default` for single-configuration accounts).

  • config_type (required)

    string, possible values: "incommon"

  • incommon (required)

    object — InCommon protocol response. All IdP and federation data is returned in this object together with SP, binding, and signing/encryption fields.

    • binding_type

      string, possible values: "post", "redirect" — SAML binding type.

    • idp_certificate

      string — IdP X.509 signing certificate (PEM body).

    • idp_entity_id

      string — IdP entity ID or issuer.

    • idp_sign_in_url

      string — IdP single sign-in URL.

    • idp_sign_out_url

      string — IdP single sign-out URL.

    • incommon_entity_id

      string — InCommon federation entity ID.

    • incommon_idp_name

      string — InCommon IdP display name.

    • incommon_status

      string, possible values: "pending", "active" — InCommon activation status.

    • sign_saml_logout_request

      boolean — Whether the SAML logout request is signed.

    • sign_saml_request

      boolean — Whether the SAML authentication request is signed.

    • sp_certificate_auto_upgrade

      boolean — Whether the SP certificate auto-rotates to a newer CA version.

    • sp_certificate_id

      string — Selected SP certificate ID.

    • sp_entity_id

      string — SP entity ID. Single manual SAML: optional on write (defaults to the account vanity host without scheme; may be supplied with or without `https://`). Single InCommon: read-only, fixed to the account vanity URL in `https://` form (supplying it is rejected with error 45304). Multiple-configuration accounts: read-only, auto-generated as `https://{vanityBaseDomain}/sp/{config_id}`.

    • sp_metadata_url

      string — URL where the SP metadata XML can be fetched.

    • support_encrypted_assertions

      boolean — Whether encrypted SAML assertions are accepted.

  • save_response_log_enabled

    boolean — Whether SAML response logs are saved.

  • status

    string, possible values: "enabled", "disabled" — Configuration status.

  • config_id (required)

    string — Configuration ID (`default` for single-configuration accounts).

  • config_type (required)

    string, possible values: "oidc"

  • oidc (required)

    object — OIDC sub-object. When `discovery_url` is present, the endpoints are fetched and parsed server-side and become read-only.

    • authorization_endpoint

      string — Authorization endpoint (read-only when discovery-sourced).

    • callback_url

      string — Callback URL to register with the IdP.

    • client_id

      string — OIDC client ID.

    • client_secret

      string — OIDC client secret. Required on create; masked on read.

    • discovery_url

      string — OIDC discovery document URL (`.well-known/openid-configuration`). When present, endpoints are filled server-side.

    • end_session_endpoint

      string — End-session endpoint (read-only when discovery-sourced).

    • jwks_uri

      string — JWKS URI (read-only when discovery-sourced).

    • post_logout_redirect_url

      string — Post-logout redirect URL to register with the IdP.

    • response_type

      string — OIDC response type.

    • scopes

      array — OIDC scopes. Must include `openid` and `email`. The space-joined stored value is limited to 255 characters.

      Items:

      string

    • token_endpoint

      string — Token endpoint (read-only when discovery-sourced).

    • token_issuer

      string — Expected token issuer.

    • user_info_endpoint

      string — UserInfo endpoint (read-only when discovery-sourced).

  • created_at

    string, format: date-time — Creation time (UTC, ISO-8601).

  • description

    string — Description (multiple-configuration accounts only).

  • save_response_log_enabled

    boolean — Whether OIDC response logs are saved.

  • security

    object — Security sign-in restriction object (multiple-configuration accounts only).

    • allowed_email_domains

      array — Allowed email domains. Values must be valid domains. The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • allowed_user_groups

      array — Allowed user group names (case-sensitive). The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • restrict_sign_in_enabled

      boolean — Whether sign-in is restricted by email domain or user group. Requires at least one of `allowed_email_domains` or `allowed_user_groups`.

  • status

    string, possible values: "enabled", "disabled" — Configuration status.

  • title

    string — Display title (multiple-configuration accounts only).

  • updated_at

    string, format: date-time — Last update time (UTC, ISO-8601).

  • visibility

    object — Configuration visibility (multiple-configuration accounts only).

    • vanity_urls

      array — Vanity URLs when `visibility_type` is `specific_vanity_urls` (phase 1: exactly one). Each value is limited to 64 characters and the comma-joined stored value to 512 characters.

      Items:

      string

    • visibility_type

      string, possible values: "any_vanity_urls", "specific_vanity_urls" — Whether the configuration is visible for any or only specific vanity URLs.

Example:

{
  "config_id": "aBc123XyZ",
  "config_type": "saml",
  "status": "enabled",
  "title": "Corp Okta",
  "description": "",
  "saml": {
    "idp_entity_id": "http://www.okta.com/exkabcd1234",
    "idp_sign_in_url": "https://corp.okta.com/app/zoom/exkabcd1234/sso/saml",
    "idp_sign_out_url": "https://corp.okta.com/app/zoom/exkabcd1234/slo/saml",
    "idp_certificate": "MIIDpDCCAoygAwIBAgIGA...==",
    "metadata_url": "",
    "binding_type": "post",
    "sp_entity_id": "corp.zoom.us",
    "sp_metadata_url": "https://corp.zoom.us/saml/metadata/sp",
    "sp_certificate_id": "",
    "sp_certificate_auto_upgrade": true,
    "sign_saml_request": true,
    "sign_saml_logout_request": true,
    "support_encrypted_assertions": false
  },
  "security": {
    "restrict_sign_in_enabled": true,
    "allowed_email_domains": [
      "example.com"
    ],
    "allowed_user_groups": [
      "Engineering"
    ]
  },
  "visibility": {
    "visibility_type": "any_vanity_urls",
    "vanity_urls": [
      "corp.zoom.us"
    ]
  },
  "save_response_log_enabled": false,
  "created_at": "2026-07-23T10:15:30Z",
  "updated_at": "2026-07-23T10:15:30Z"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `45001` <br> Invalid config_type. Allowed: saml, incommon, oidc. <br> **Error Code:** `45002` <br> The "{field}" of the request is invalid. For reused-service validation failures, the message is: The request is invalid. <br> **Error Code:** `45011` <br> SAML: Failed to fetch metadata_url; the SSO configuration was not updated. OIDC: Failed to fetch or parse discovery_url; the SSO configuration was not updated. <br> **Error Code:** `45012` <br> Failed to parse the document returned by metadata_url; the SSO configuration was not updated. <br> **Error Code:** `45013` <br> SAML: The metadata is missing required fields (idp_sign_in_url, idp_certificate, or idp_entity_id); the SSO configuration was not updated. OIDC: The discovery document is missing required endpoints; the SSO configuration was not updated. <br> **Error Code:** `45014` <br> Provide only one protocol object per request: saml and oidc are mutually exclusive. <br> **Error Code:** `45101` <br> idp_entity_id, idp_sign_in_url, and idp_certificate are required for a manual SAML configuration. <br> **Error Code:** `45201` <br> client_id and client_secret are required when creating an OIDC configuration or switching a single-account configuration to OIDC. Alternatively, provide either discovery_url, or token_issuer, authorization_endpoint, token_endpoint, and jwks_uri together for an OIDC configuration. <br> **Error Code:** `45202` <br> scopes must include 'openid' and 'email'. <br> **Error Code:** `45203` <br> OIDC SSO is not enabled for this account. <br> **Error Code:** `45204` <br> Failed to reach the OIDC endpoint or fetch its signing keys (jwks_uri). <br> **Error Code:** `45301` <br> incommon_entity_id '{entityId}' not found in the InCommon federation catalog. <br> **Error Code:** `45302` <br> incommon_idp_name '{name}' did not match exactly one InCommon IdP; specify incommon_entity_id instead. <br> **Error Code:** `45304` <br> sp_entity_id cannot be set for an InCommon configuration; it is fixed to the account vanity URL. <br> **Error Code:** `45401` <br> Security domain/group restriction and visibility are not supported for a single-configuration account. <br> **Error Code:** `45402` <br> This account binds exactly one vanity URL per configuration, and the vanity binding cannot be changed after creation. <br> **Error Code:** `45405` <br> config_type incommon is only supported for single-configuration accounts. <br> **Error Code:** `45501` <br> allowed_email_domains or allowed_user_groups is required when restrict_sign_in_enabled is true. <br> **Error Code:** `45502` <br> vanity_urls is required when visibility_type is specific_vanity_urls. <br> **Error Code:** `45503` <br> Vanity URL '{url}' is not an approved vanity URL of this account. <br> **Error Code:** `45504` <br> One or more values in allowed_user_groups do not match an existing group in this account (group names are case-sensitive). <br> **Error Code:** `45604` <br> The selected SP certificate is invalid or does not belong to this account. <br> **Error Code:** `45606` <br> saml.sp_certificate_id and saml.sp_certificate_auto_upgrade can only be set when at least one of sign_saml_request, sign_saml_logout_request, or support_encrypted_assertions is enabled. <br> **Error Code:** `45901` <br> An approved vanity URL is required before configuring SSO for this account. <br> **Error Code:** `45902` <br> This account's plan is not eligible to configure SSO. <br> **Error Code:** `45903` <br> The IdP certificate is invalid. <br> **Error Code:** `45904` <br> The IdP certificate has expired. <br> **Error Code:** `45905` <br> The provided URL failed the security (SSRF) check; only HTTPS URLs to allowed hosts are accepted. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration: `SingleSignOn:Edit`.
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `45703` <br> SSO is disabled for this account. <br> **Error Code:** `45303` <br> The current InCommon configuration is pending approval. <br> **Error Code:** `45404` <br> This account already has an SSO configuration. Use PATCH to update it, or DELETE it before creating a new one. <br> **Error Code:** `45007` <br> A configuration for this IdP already exists or is being created. Duplicate IdP configurations are not allowed. <br> **Error Code:** `45005` <br> The maximum number of SSO configurations has been reached. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error **Error Code:** `45015` <br> Failed to persist the SSO configuration change. No changes were applied. Please try again. <br>
Status: 502 **HTTP Status Code:** `502` <br> Bad Gateway **Error Code:** `45305` <br> Failed to submit the InCommon activation ticket; the configuration was not saved. Please try again later. <br>

Get an SSO configuration

  • Method: GET
  • Path: /sso/configurations/{config_id}
  • Tags: Single Sign-On

Retrieve a single SSO configuration by ID.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:config:admin

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` <br> The configuration.
Content-Type: application/json

One of:

  • config_id (required)

    string — The configuration ID (`default` for single-configuration accounts).

  • config_type (required)

    string, possible values: "saml"

  • saml (required)

    object — The SAML protocol object. The three signing/encryption switches are protocol-specific fields on this object.

    • binding_type

      string, possible values: "post", "redirect" — The SAML binding type.

    • idp_certificate

      string — The IdP X.509 signing certificate (PEM body). Required for manual SAML.

    • idp_entity_id

      string — The IdP entity ID or issuer. Required for manual SAML.

    • idp_sign_in_url

      string — The IdP single sign-in URL. Required for manual SAML.

    • idp_sign_out_url

      string — The IdP single sign-out URL.

    • metadata_url

      string — The IdP metadata URL. When present, the configuration is URL-sourced: `idp_*` fields are fetched and parsed server-side and become read-only.

    • sign_saml_logout_request

      boolean — Whether to sign the SAML logout request.

    • sign_saml_request

      boolean — Whether to sign the SAML authn request.

    • sp_certificate_auto_upgrade

      boolean — Whether the SP certificate auto-rotates to a newer CA version.

    • sp_certificate_id

      string — The selected SP certificate ID.

    • sp_entity_id

      string — The SP entity ID. Single manual SAML: optional on write (defaults to the account vanity host without scheme; may be supplied with or without `https://`). Single InCommon: read-only, fixed to the account vanity URL in `https://` form (supplying it is rejected with 45304). Multiple accounts: read-only, auto-generated as `https://{vanityBaseDomain}/sp/{config_id}`.

    • sp_metadata_url

      string — The URL where the SP metadata XML can be fetched.

    • support_encrypted_assertions

      boolean — Whether to accept encrypted SAML assertions.

  • created_at

    string, format: date-time — The creation time in UTC (multiple-configuration accounts only).

  • description

    string — Description (multiple-configuration accounts only).

  • save_response_log_enabled

    boolean — Whether to save SAML response logs.

  • security

    object — The security sign-in restriction object (multiple-configuration accounts only).

    • allowed_email_domains

      array — The allowed email domains. Values must be legal domains. The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • allowed_user_groups

      array — The allowed user group names (case-sensitive). The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • restrict_sign_in_enabled

      boolean — Whether to restrict sign-in by email domain or user group. Requires at least one of `allowed_email_domains` or `allowed_user_groups`.

  • status

    string, possible values: "enabled", "disabled" — The configuration status.

  • title

    string — The display title (multiple-configuration accounts only).

  • updated_at

    string, format: date-time — The last update time in UTC (multiple-configuration accounts only).

  • visibility

    object — The configuration visibility (multiple-configuration accounts only).

    • vanity_urls

      array — The vanity URLs when `visibility_type` is `specific_vanity_urls` (phase 1: exactly one). Each value is limited to 64 characters, and the comma-joined stored value is limited to 512 characters.

      Items:

      string

    • visibility_type

      string, possible values: "any_vanity_urls", "specific_vanity_urls" — Whether the configuration is visible for any or only specific vanity URLs.

  • config_id (required)

    string — The configuration ID (`default` for single-configuration accounts).

  • config_type (required)

    string, possible values: "incommon"

  • incommon (required)

    object — The InCommon protocol response. All IdP and federation data is returned in this object together with SP, binding, and signing/encryption fields.

    • binding_type

      string, possible values: "post", "redirect" — The SAML binding type.

    • idp_certificate

      string — The IdP X.509 signing certificate (PEM body). Required for manual SAML.

    • idp_entity_id

      string — The IdP entity ID or issuer. Required for manual SAML.

    • idp_sign_in_url

      string — The IdP single sign-in URL. Required for manual SAML.

    • idp_sign_out_url

      string — The IdP single sign-out URL.

    • incommon_entity_id

      string — The InCommon federation entity ID.

    • incommon_idp_name

      string — The InCommon IdP display name.

    • incommon_status

      string, possible values: "pending", "active" — The InCommon activation status.

    • sign_saml_logout_request

      boolean — Whether to sign the SAML logout request.

    • sign_saml_request

      boolean — Whether to sign the SAML authn request.

    • sp_certificate_auto_upgrade

      boolean — Whether the SP certificate auto-rotates to a newer CA version.

    • sp_certificate_id

      string — The selected SP certificate ID.

    • sp_entity_id

      string — The SP entity ID. Single manual SAML: optional on write (defaults to the account vanity host without scheme; may be supplied with or without `https://`). Single InCommon: read-only, fixed to the account vanity URL in `https://` form (supplying it is rejected with 45304). Multiple accounts: read-only, auto-generated as `https://{vanityBaseDomain}/sp/{config_id}`.

    • sp_metadata_url

      string — The URL where the SP metadata XML can be fetched.

    • support_encrypted_assertions

      boolean — Whether to accept encrypted SAML assertions.

  • save_response_log_enabled

    boolean — Whether to save SAML response logs.

  • status

    string, possible values: "enabled", "disabled" — The configuration status.

  • config_id (required)

    string — The configuration ID (`default` for single-configuration accounts).

  • config_type (required)

    string, possible values: "oidc"

  • oidc (required)

    object — The OIDC sub-object. When `discovery_url` is present, the endpoints are fetched and parsed server-side and become read-only. The `callback_url` and `post_logout_redirect_url` are computed read-only values returned by the server.

    • authorization_endpoint

      string — The authorization endpoint (read-only when discovery-sourced).

    • callback_url

      string — The callback URL to register with the IdP.

    • client_id

      string — The OIDC client ID. Required for manual OIDC.

    • client_secret

      string — The OIDC client secret. Required on create; masked on read.

    • discovery_url

      string — The OIDC discovery document URL (`.well-known/openid-configuration`). When present, endpoints are filled server-side.

    • end_session_endpoint

      string — The end-session endpoint (read-only when discovery-sourced).

    • jwks_uri

      string — The JWKS URI (read-only when discovery-sourced).

    • post_logout_redirect_url

      string — The post-logout redirect URL to register with the IdP.

    • response_type

      string — The OIDC response type.

    • scopes

      array — The OIDC scopes. Must include `openid` and `email`. The space-joined stored value is limited to 255 characters.

      Items:

      string

    • token_endpoint

      string — The token endpoint (read-only when discovery-sourced).

    • token_issuer

      string — The expected token issuer.

    • user_info_endpoint

      string — The UserInfo endpoint (read-only when discovery-sourced).

  • created_at

    string, format: date-time — The creation time (UTC, ISO-8601).

  • description

    string — Description (multiple-configuration accounts only).

  • save_response_log_enabled

    boolean — Whether to save OIDC response logs.

  • security

    object — The security sign-in restriction object (multiple-configuration accounts only).

    • allowed_email_domains

      array — The allowed email domains. Values must be legal domains. The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • allowed_user_groups

      array — The allowed user group names (case-sensitive). The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • restrict_sign_in_enabled

      boolean — Whether to restrict sign-in by email domain or user group. Requires at least one of `allowed_email_domains` or `allowed_user_groups`.

  • status

    string, possible values: "enabled", "disabled" — The configuration status.

  • title

    string — The display title (multiple-configuration accounts only).

  • updated_at

    string, format: date-time — The last update time (UTC, ISO-8601).

  • visibility

    object — The configuration visibility (multiple-configuration accounts only).

    • vanity_urls

      array — The vanity URLs when `visibility_type` is `specific_vanity_urls` (phase 1: exactly one). Each value is limited to 64 characters, and the comma-joined stored value is limited to 512 characters.

      Items:

      string

    • visibility_type

      string, possible values: "any_vanity_urls", "specific_vanity_urls" — Whether the configuration is visible for any or only specific vanity URLs.

Example:

{
  "config_id": "aBc123XyZ",
  "config_type": "saml",
  "status": "enabled",
  "title": "Corp Okta",
  "description": "",
  "saml": {
    "idp_entity_id": "http://www.okta.com/exkabcd1234",
    "idp_sign_in_url": "https://corp.okta.com/app/zoom/exkabcd1234/sso/saml",
    "idp_sign_out_url": "https://corp.okta.com/app/zoom/exkabcd1234/slo/saml",
    "idp_certificate": "MIIDpDCCAoygAwIBAgIGA...==",
    "metadata_url": "",
    "binding_type": "post",
    "sp_entity_id": "corp.zoom.us",
    "sp_metadata_url": "https://corp.zoom.us/saml/metadata/sp",
    "sp_certificate_id": "",
    "sp_certificate_auto_upgrade": true,
    "sign_saml_request": true,
    "sign_saml_logout_request": true,
    "support_encrypted_assertions": false
  },
  "security": {
    "restrict_sign_in_enabled": true,
    "allowed_email_domains": [
      "example.com"
    ],
    "allowed_user_groups": [
      "Engineering"
    ]
  },
  "visibility": {
    "visibility_type": "any_vanity_urls",
    "vanity_urls": [
      "corp.zoom.us"
    ]
  },
  "save_response_log_enabled": false,
  "created_at": "2026-07-23T10:15:30Z",
  "updated_at": "2026-07-23T10:15:30Z"
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration. Requires the `SingleSignOn:Read` scope.
Status: 404 **HTTP Status Code:** `404` <br> Not Found SSO configuration not found.
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `45703` <br> SSO is disabled for this account. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Delete an SSO configuration

  • Method: DELETE
  • Path: /sso/configurations/{config_id}
  • Tags: Single Sign-On

Delete a single SSO configuration (multiple-configuration accounts only).

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:delete:config:admin

Rate Limit Label: LIGHT

Responses

Status: 204 **HTTP Status Code:** `204` <br> Configuration deleted.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `45002` <br> The request is invalid. <br> **Error Code:** `45801` <br> Per-configuration enable/disable and delete are only available for multiple-configuration accounts. Use PATCH /v2/sso/status with sso_enabled=false to turn off SSO. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration: `SingleSignOn:Edit`.
Status: 404 **HTTP Status Code:** `404` <br> Not Found SSO configuration not found.
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `45703` <br> SSO is disabled for this account. <br> **Error Code:** `45303` <br> The current InCommon configuration is pending approval. <br> **Error Code:** `45802` <br> The default SSO configuration cannot be disabled or deleted for this account. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error **Error Code:** `45015` <br> Failed to persist the SSO configuration change. No changes were applied. Please try again. <br>

Update an SSO configuration

  • Method: PATCH
  • Path: /sso/configurations/{config_id}
  • Tags: Single Sign-On

Partially update an SSO configuration. saml, incommon and oidc are mutually exclusive.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:update:config:admin

Rate Limit Label: LIGHT

Request Body

Content-Type: application/json

One of:

  • saml (required)

    object — SAML protocol object. The three signing/encryption switches are protocol-specific fields on this object.

    • binding_type

      string, possible values: "post", "redirect" — SAML binding.

    • idp_certificate

      string — IdP X.509 signing certificate (PEM body). Required for manual SAML.

    • idp_entity_id

      string — IdP entity ID / issuer. Required for manual SAML.

    • idp_sign_in_url

      string — IdP single sign-in URL. Required for manual SAML.

    • idp_sign_out_url

      string — IdP single sign-out URL.

    • metadata_url

      string — IdP metadata URL. When present, the configuration is URL-sourced: idp_* are fetched/parsed server-side and become read-only.

    • sign_saml_logout_request

      boolean — Sign the SAML logout request.

    • sign_saml_request

      boolean — Sign the SAML authn request.

    • sp_certificate_auto_upgrade

      boolean — Whether the SP certificate auto-rotates to a newer CA version.

    • sp_certificate_id

      string — Selected SP certificate ID.

    • sp_entity_id

      string — SP entity ID. Single manual SAML: optional on write (defaults to the account vanity host without scheme; may be supplied with or without https://). Multiple-configuration accounts: read-only, auto-generated as https://zoom.us/sp/{config_id}.

    • support_encrypted_assertions

      boolean — Accept encrypted SAML assertions.

  • config_type

    string, possible values: "saml"

  • description

    string — Description (multiple-configuration accounts only).

  • save_response_log_enabled

    boolean — Save SAML response logs.

  • security

    object — Security sign-in restriction object (multiple-configuration accounts only).

    • allowed_email_domains

      array — Allowed email domains. Values must be legal domains; the comma-joined stored value is limited to 512 characters.

      Items:

      string

    • allowed_user_groups

      array — Allowed user group names (case-sensitive). The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • restrict_sign_in_enabled

      boolean — Restrict sign-in by email domain / user group. Requires at least one of allowed_email_domains / allowed_user_groups.

  • title

    string — Display title (multiple-configuration accounts only).

  • visibility

    object — Configuration visibility (multiple-configuration accounts only).

    • vanity_urls

      array — Vanity URLs when visibility_type=specific_vanity_urls (phase1: exactly one). Each value is limited to 64 characters and the comma-joined stored value to 512 characters.

      Items:

      string

    • visibility_type

      string, possible values: "any_vanity_urls", "specific_vanity_urls" — Visible for any or only specific vanity URLs.

  • incommon (required)

    object — InCommon update controls. Only sp_certificate_id, sp_certificate_auto_upgrade, sign_saml_request, sign_saml_logout_request, support_encrypted_assertions and binding_type are accepted.

    • binding_type

      string, possible values: "post", "redirect" — SAML binding.

    • sign_saml_logout_request

      boolean — Sign the SAML logout request.

    • sign_saml_request

      boolean — Sign the SAML authn request.

    • sp_certificate_auto_upgrade

      boolean — Whether the SP certificate auto-rotates to a newer CA version.

    • sp_certificate_id

      string — Selected SP certificate ID.

    • support_encrypted_assertions

      boolean — Accept encrypted SAML assertions.

  • config_type

    string, possible values: "incommon"

  • save_response_log_enabled

    boolean — Save SAML response logs.

  • oidc (required)

    object — OIDC sub-object. When discovery_url is present, the endpoints are fetched/parsed server-side and become read-only.

    • authorization_endpoint

      string — Authorization endpoint (read-only when discovery-sourced).

    • client_id

      string — OIDC client ID. Required for manual OIDC.

    • client_secret

      string — OIDC client secret. Required on create; masked on read.

    • discovery_url

      string — OIDC discovery document URL (.well-known/openid-configuration). When present, endpoints are filled server-side.

    • end_session_endpoint

      string — End-session endpoint (read-only when discovery-sourced).

    • jwks_uri

      string — JWKS URI (read-only when discovery-sourced).

    • scopes

      array — OIDC scopes; must include 'openid' and 'email'. The space-joined stored value is limited to 255 characters.

      Items:

      string

    • token_endpoint

      string — Token endpoint (read-only when discovery-sourced).

    • token_issuer

      string — Expected token issuer.

    • user_info_endpoint

      string — UserInfo endpoint (read-only when discovery-sourced).

  • config_type

    string, possible values: "oidc"

  • description

    string — Description (multiple-configuration accounts only).

  • save_response_log_enabled

    boolean — Save OIDC response logs.

  • security

    object — Security sign-in restriction object (multiple-configuration accounts only).

    • allowed_email_domains

      array — Allowed email domains. Values must be legal domains; the comma-joined stored value is limited to 512 characters.

      Items:

      string

    • allowed_user_groups

      array — Allowed user group names (case-sensitive). The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • restrict_sign_in_enabled

      boolean — Restrict sign-in by email domain / user group. Requires at least one of allowed_email_domains / allowed_user_groups.

  • title

    string — Display title (multiple-configuration accounts only).

  • visibility

    object — Configuration visibility (multiple-configuration accounts only).

    • vanity_urls

      array — Vanity URLs when visibility_type=specific_vanity_urls (phase1: exactly one). Each value is limited to 64 characters and the comma-joined stored value to 512 characters.

      Items:

      string

    • visibility_type

      string, possible values: "any_vanity_urls", "specific_vanity_urls" — Visible for any or only specific vanity URLs.

Example:

{
  "config_type": "saml",
  "title": "Corp Okta",
  "description": "",
  "saml": {
    "idp_entity_id": "http://www.okta.com/exkabcd1234",
    "idp_sign_in_url": "https://corp.okta.com/app/zoom/exkabcd1234/sso/saml",
    "idp_sign_out_url": "https://corp.okta.com/app/zoom/exkabcd1234/slo/saml",
    "idp_certificate": "MIIDpDCCAoygAwIBAgIGA...==",
    "metadata_url": "",
    "binding_type": "post",
    "sp_entity_id": "corp.zoom.us",
    "sp_certificate_id": "",
    "sp_certificate_auto_upgrade": true,
    "sign_saml_request": true,
    "sign_saml_logout_request": true,
    "support_encrypted_assertions": false
  },
  "security": {
    "restrict_sign_in_enabled": true,
    "allowed_email_domains": [
      "example.com"
    ],
    "allowed_user_groups": [
      "Engineering"
    ]
  },
  "visibility": {
    "visibility_type": "any_vanity_urls",
    "vanity_urls": [
      "corp.zoom.us"
    ]
  },
  "save_response_log_enabled": false
}

Responses

Status: 200 **HTTP Status Code:** `200` <br> Updated configuration.
Content-Type: application/json

One of:

  • config_id (required)

    string — Configuration ID ('default' for single-configuration accounts).

  • config_type (required)

    string, possible values: "saml"

  • saml (required)

    object — SAML protocol object. The three signing/encryption switches are protocol-specific fields on this object.

    • binding_type

      string, possible values: "post", "redirect" — SAML binding.

    • idp_certificate

      string — IdP X.509 signing certificate (PEM body). Required for manual SAML.

    • idp_entity_id

      string — IdP entity ID / issuer. Required for manual SAML.

    • idp_sign_in_url

      string — IdP single sign-in URL. Required for manual SAML.

    • idp_sign_out_url

      string — IdP single sign-out URL.

    • metadata_url

      string — IdP metadata URL. When present, the configuration is URL-sourced: idp_* are fetched/parsed server-side and become read-only.

    • sign_saml_logout_request

      boolean — Sign the SAML logout request.

    • sign_saml_request

      boolean — Sign the SAML authn request.

    • sp_certificate_auto_upgrade

      boolean — Whether the SP certificate auto-rotates to a newer CA version.

    • sp_certificate_id

      string — Selected SP certificate ID.

    • sp_entity_id

      string — SP entity ID. Single manual SAML: optional on write (defaults to the account vanity host without scheme; may be supplied with or without https://). Single InCommon: read-only, fixed to the account vanity URL in https:// form (supplying it is rejected with 45304). Multiple accounts: read-only, auto-generated as https://{vanityBaseDomain}/sp/{config_id}.

    • sp_metadata_url

      string — URL where the SP metadata XML can be fetched.

    • support_encrypted_assertions

      boolean — Accept encrypted SAML assertions.

  • created_at

    string, format: date-time — Creation time (UTC) (multiple-configuration accounts only).

  • description

    string — Description (multiple-configuration accounts only).

  • save_response_log_enabled

    boolean — Save SAML response logs.

  • security

    object — Security sign-in restriction object (multiple-configuration accounts only).

    • allowed_email_domains

      array — Allowed email domains. Values must be legal domains; the comma-joined stored value is limited to 512 characters.

      Items:

      string

    • allowed_user_groups

      array — Allowed user group names (case-sensitive). The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • restrict_sign_in_enabled

      boolean — Restrict sign-in by email domain / user group. Requires at least one of allowed_email_domains / allowed_user_groups.

  • status

    string, possible values: "enabled", "disabled" — Configuration status.

  • title

    string — Display title (multiple-configuration accounts only).

  • updated_at

    string, format: date-time — Last update time (UTC) (multiple-configuration accounts only).

  • visibility

    object — Configuration visibility (multiple-configuration accounts only).

    • vanity_urls

      array — Vanity URLs when visibility_type=specific_vanity_urls (phase1: exactly one). Each value is limited to 64 characters and the comma-joined stored value to 512 characters.

      Items:

      string

    • visibility_type

      string, possible values: "any_vanity_urls", "specific_vanity_urls" — Visible for any or only specific vanity URLs.

  • config_id (required)

    string — Configuration ID ('default' for single-configuration accounts).

  • config_type (required)

    string, possible values: "incommon"

  • incommon (required)

    object — InCommon protocol response. All IdP/federation data is returned in this object together with SP, binding and signing/encryption fields.

    • binding_type

      string, possible values: "post", "redirect" — SAML binding.

    • idp_certificate

      string — IdP X.509 signing certificate (PEM body). Required for manual SAML.

    • idp_entity_id

      string — IdP entity ID / issuer. Required for manual SAML.

    • idp_sign_in_url

      string — IdP single sign-in URL. Required for manual SAML.

    • idp_sign_out_url

      string — IdP single sign-out URL.

    • incommon_entity_id

      string — InCommon federation entity ID.

    • incommon_idp_name

      string — InCommon IdP display name.

    • incommon_status

      string, possible values: "pending", "active" — InCommon activation status.

    • sign_saml_logout_request

      boolean — Sign the SAML logout request.

    • sign_saml_request

      boolean — Sign the SAML authn request.

    • sp_certificate_auto_upgrade

      boolean — Whether the SP certificate auto-rotates to a newer CA version.

    • sp_certificate_id

      string — Selected SP certificate ID.

    • sp_entity_id

      string — SP entity ID. Single manual SAML: optional on write (defaults to the account vanity host without scheme; may be supplied with or without https://). Single InCommon: read-only, fixed to the account vanity URL in https:// form (supplying it is rejected with 45304). Multiple accounts: read-only, auto-generated as https://{vanityBaseDomain}/sp/{config_id}.

    • sp_metadata_url

      string — URL where the SP metadata XML can be fetched.

    • support_encrypted_assertions

      boolean — Accept encrypted SAML assertions.

  • save_response_log_enabled

    boolean — Save SAML response logs.

  • status

    string, possible values: "enabled", "disabled" — Configuration status.

  • config_id (required)

    string — Configuration ID ('default' for single-configuration accounts).

  • config_type (required)

    string, possible values: "oidc"

  • oidc (required)

    object — OIDC sub-object. When discovery_url is present, the endpoints are fetched/parsed server-side and become read-only. callback_url and post_logout_redirect_url are computed read-only values returned by the server.

    • authorization_endpoint

      string — Authorization endpoint (read-only when discovery-sourced).

    • callback_url

      string — Callback URL to register with the IdP.

    • client_id

      string — OIDC client ID. Required for manual OIDC.

    • client_secret

      string — OIDC client secret. Required on create; masked on read.

    • discovery_url

      string — OIDC discovery document URL (.well-known/openid-configuration). When present, endpoints are filled server-side.

    • end_session_endpoint

      string — End-session endpoint (read-only when discovery-sourced).

    • jwks_uri

      string — JWKS URI (read-only when discovery-sourced).

    • post_logout_redirect_url

      string — Post-logout redirect URL to register with the IdP.

    • response_type

      string — OIDC response type.

    • scopes

      array — OIDC scopes; must include 'openid' and 'email'. The space-joined stored value is limited to 255 characters.

      Items:

      string

    • token_endpoint

      string — Token endpoint (read-only when discovery-sourced).

    • token_issuer

      string — Expected token issuer.

    • user_info_endpoint

      string — UserInfo endpoint (read-only when discovery-sourced).

  • created_at

    string, format: date-time — Creation time (UTC, ISO-8601).

  • description

    string — Description (multiple-configuration accounts only).

  • save_response_log_enabled

    boolean — Save OIDC response logs.

  • security

    object — Security sign-in restriction object (multiple-configuration accounts only).

    • allowed_email_domains

      array — Allowed email domains. Values must be legal domains; the comma-joined stored value is limited to 512 characters.

      Items:

      string

    • allowed_user_groups

      array — Allowed user group names (case-sensitive). The comma-joined stored value is limited to 512 characters.

      Items:

      string

    • restrict_sign_in_enabled

      boolean — Restrict sign-in by email domain / user group. Requires at least one of allowed_email_domains / allowed_user_groups.

  • status

    string, possible values: "enabled", "disabled" — Configuration status.

  • title

    string — Display title (multiple-configuration accounts only).

  • updated_at

    string, format: date-time — Last update time (UTC, ISO-8601).

  • visibility

    object — Configuration visibility (multiple-configuration accounts only).

    • vanity_urls

      array — Vanity URLs when visibility_type=specific_vanity_urls (phase1: exactly one). Each value is limited to 64 characters and the comma-joined stored value to 512 characters.

      Items:

      string

    • visibility_type

      string, possible values: "any_vanity_urls", "specific_vanity_urls" — Visible for any or only specific vanity URLs.

Example:

{
  "config_id": "aBc123XyZ",
  "config_type": "saml",
  "status": "enabled",
  "title": "Corp Okta",
  "description": "",
  "saml": {
    "idp_entity_id": "http://www.okta.com/exkabcd1234",
    "idp_sign_in_url": "https://corp.okta.com/app/zoom/exkabcd1234/sso/saml",
    "idp_sign_out_url": "https://corp.okta.com/app/zoom/exkabcd1234/slo/saml",
    "idp_certificate": "MIIDpDCCAoygAwIBAgIGA...==",
    "metadata_url": "",
    "binding_type": "post",
    "sp_entity_id": "corp.zoom.us",
    "sp_metadata_url": "https://corp.zoom.us/saml/metadata/sp",
    "sp_certificate_id": "",
    "sp_certificate_auto_upgrade": true,
    "sign_saml_request": true,
    "sign_saml_logout_request": true,
    "support_encrypted_assertions": false
  },
  "security": {
    "restrict_sign_in_enabled": true,
    "allowed_email_domains": [
      "example.com"
    ],
    "allowed_user_groups": [
      "Engineering"
    ]
  },
  "visibility": {
    "visibility_type": "any_vanity_urls",
    "vanity_urls": [
      "corp.zoom.us"
    ]
  },
  "save_response_log_enabled": false,
  "created_at": "2026-07-23T10:15:30Z",
  "updated_at": "2026-07-23T10:15:30Z"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `45001` <br> Invalid config_type. Allowed: saml, incommon, oidc. <br> **Error Code:** `45002` <br> The "{field}" of the request is invalid. For reused-service validation failures, the message is: The request is invalid. <br> **Error Code:** `45008` <br> config_type cannot be changed for a multiple-configuration account; a {currentType} configuration can only be updated with its own protocol object. To switch protocol, create a new configuration and delete the old one. <br> **Error Code:** `45009` <br> Switching a URL-sourced configuration back to manual requires clearing the source URL and providing the complete manual detail fields; missing: {fields}. <br> **Error Code:** `45010` <br> SAML IdP fields are read-only when metadata_url is set. Update metadata_url instead. For OIDC, the message is: OIDC endpoint fields are read-only when discovery_url is set. Update discovery_url instead; client_id and client_secret remain customer-managed. <br> **Error Code:** `45011` <br> SAML: Failed to fetch metadata_url; the SSO configuration was not updated. OIDC: Failed to fetch or parse discovery_url; the SSO configuration was not updated. <br> **Error Code:** `45012` <br> Failed to parse the document returned by metadata_url; the SSO configuration was not updated. <br> **Error Code:** `45013` <br> SAML: The metadata is missing required fields (idp_sign_in_url, idp_certificate or idp_entity_id); the SSO configuration was not updated. OIDC: The discovery document is missing required endpoints; the SSO configuration was not updated. <br> **Error Code:** `45014` <br> Provide only one protocol object per request: saml and oidc are mutually exclusive. <br> **Error Code:** `45101` <br> idp_entity_id, idp_sign_in_url and idp_certificate are required for a manual SAML configuration. <br> **Error Code:** `45201` <br> client_id and client_secret are required when creating an OIDC configuration or switching a single-account configuration to OIDC. Alternatively, provide either discovery_url, or token_issuer, authorization_endpoint, token_endpoint and jwks_uri together, for an OIDC configuration. <br> **Error Code:** `45202` <br> scopes must include 'openid' and 'email'. <br> **Error Code:** `45203` <br> OIDC SSO is not enabled for this account. <br> **Error Code:** `45204` <br> Failed to reach the OIDC endpoint or fetch its signing keys (jwks_uri). <br> **Error Code:** `45301` <br> incommon_entity_id '{entityId}' not found in InCommon federation catalog. <br> **Error Code:** `45302` <br> incommon_idp_name '{name}' did not match exactly one InCommon IdP; specify incommon_entity_id instead. <br> **Error Code:** `45304` <br> sp_entity_id cannot be set for an InCommon configuration; it is fixed to the account vanity URL. <br> **Error Code:** `45401` <br> security domain/group restriction and visibility are not supported for a single-configuration account. <br> **Error Code:** `45402` <br> This account binds exactly one vanity url per configuration, and the vanity binding cannot be changed after creation. <br> **Error Code:** `45501` <br> allowed_email_domains or allowed_user_groups is required when restrict_sign_in_enabled is true. <br> **Error Code:** `45502` <br> vanity_urls is required when visibility_type is specific_vanity_urls. <br> **Error Code:** `45503` <br> vanity url '{url}' is not an approved vanity url of this account. <br> **Error Code:** `45504` <br> One or more values in allowed_user_groups do not match an existing group in this account (group names are case-sensitive). <br> **Error Code:** `45601` <br> The CA certificate can only be upgraded to a newer version, not downgraded. <br> **Error Code:** `45604` <br> The selected SP certificate is invalid or does not belong to this account. <br> **Error Code:** `45606` <br> saml.sp_certificate_id and saml.sp_certificate_auto_upgrade can only be set when at least one of sign_saml_request, sign_saml_logout_request or support_encrypted_assertions is enabled. <br> **Error Code:** `45801` <br> Per-configuration enable/disable and delete are only available for multiple-configuration accounts. Use PATCH /v2/sso/status with sso_enabled=false to turn off SSO. <br> **Error Code:** `45903` <br> The IdP certificate is invalid. <br> **Error Code:** `45904` <br> The IdP certificate has expired. <br> **Error Code:** `45905` <br> The provided URL failed the security (SSRF) check; only https URLs to allowed hosts are accepted. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration: `SingleSignOn:Edit`.
Status: 404 **HTTP Status Code:** `404` <br> Not Found SSO configuration not found.
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `45703` <br> SSO is disabled for this account. <br> **Error Code:** `45703` <br> The configuration is disabled. <br> **Error Code:** `45303` <br> The current InCommon configuration is pending approval. <br> **Error Code:** `45007` <br> A configuration for this IdP already exists or is being created. Duplicate IdP configurations are not allowed. <br> **Error Code:** `45802` <br> The default SSO configuration cannot be disabled or deleted for this account. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error **Error Code:** `45015` <br> Failed to persist the SSO configuration change. No changes were applied. Please try again. <br>
Status: 502 **HTTP Status Code:** `502` <br> Bad Gateway **Error Code:** `45305` <br> Failed to submit the InCommon activation ticket; the configuration was not saved. Please try again later. <br>

List SP certificates

  • Method: GET
  • Path: /sso/configurations/{config_id}/certificates
  • Tags: Single Sign-On

List the account's SP certificates (CA and self-signed).

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:certificate:admin

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` <br> Certificate list.
Content-Type: application/json
  • certificates

    array — A list of matching SP certificates.

    Items:

    • certificate_id

      string — The certificate ID.

    • config_id

      string — The owning configuration ID for multiple-configuration accounts.

    • effective_date

      string, format: date — The effective date in UTC (yyyy-MM-dd).

    • expiration_date

      string, format: date — The expiration date in UTC (yyyy-MM-dd).

    • in_use

      boolean — Whether the certificate is currently in use.

    • key_size

      integer, possible values: 2048, 3072, 4096 — The RSA key size. For example, 2048.

    • name

      string — The certificate display name. This must be unique on update.

    • type

      string, possible values: "ca_signed", "self_signed" — The certificate type.

    • valid_years

      integer — The validity period in years.

  • total_records

    integer — The total number of certificates.

Example:

{
  "total_records": 1,
  "certificates": [
    {
      "certificate_id": "cert-789",
      "type": "self_signed",
      "name": "corp-sp-2026",
      "config_id": "aBc123XyZ",
      "key_size": 2048,
      "valid_years": 3,
      "in_use": true,
      "effective_date": "2026-07-23",
      "expiration_date": "2029-07-23"
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `45002` <br> The `type` of the request is invalid. <br> **Error Code:** `45603` <br> The `config_id` is required when accessing certificates for a multiple-configuration account. <br> **Error Code:** `45605` <br> SP certificates are not supported for OIDC configurations. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration: `SingleSignOn:Read`.
Status: 404 **HTTP Status Code:** `404` <br> Not Found SSO configuration not found.
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `45703` <br> SSO is disabled for this account. <br> **Error Code:** `45303` <br> The current InCommon configuration is pending approval. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Create an SP certificate

  • Method: POST
  • Path: /sso/configurations/{config_id}/certificates
  • Tags: Single Sign-On

Create a self-signed SP certificate. Not supported for OIDC configurations.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:write:certificate:admin

Rate Limit Label: LIGHT

Request Body

Content-Type: application/json
  • name (required)

    string — The certificate display name. Must be unique on update.

  • key_size

    integer, possible values: 2048, 3072, 4096 — The RSA key size (for example, 2048).

  • valid_years

    integer — The validity period in years.

Example:

{
  "name": "corp-sp-2026",
  "key_size": 2048,
  "valid_years": 3
}

Responses

Status: 201 **HTTP Status Code:** `201` <br> Certificate created.
Content-Type: application/json
  • certificate_id

    string — The certificate ID.

  • config_id

    string — The owning configuration ID.

  • effective_date

    string, format: date — The effective date in UTC (`yyyy-MM-dd` format).

  • expiration_date

    string, format: date — The expiration date in UTC (`yyyy-MM-dd` format).

  • in_use

    boolean — Whether the certificate is currently in use.

  • key_size

    integer, possible values: 2048, 3072, 4096 — The RSA key size (for example, 2048).

  • name

    string — The certificate display name.

  • type

    string, possible values: "self_signed" — The certificate type.

  • valid_years

    integer — The validity period in years.

Example:

{
  "certificate_id": "cert-789",
  "type": "self_signed",
  "name": "corp-sp-2026",
  "config_id": "aBc123XyZ",
  "key_size": 2048,
  "valid_years": 3,
  "in_use": true,
  "effective_date": "2026-07-23",
  "expiration_date": "2029-07-23"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `45002` <br> The "{field}" of the request is invalid (including request, type, name, key_size, or valid_years). <br> **Error Code:** `45602` <br> CA certificates are system-managed and cannot be created or deleted. <br> **Error Code:** `45603` <br> The config_id is required when accessing certificates for a multiple-configuration account. <br> **Error Code:** `45605` <br> SP certificates are not supported for OIDC configurations. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration: `SingleSignOn:Edit`.
Status: 404 **HTTP Status Code:** `404` <br> Not Found SSO configuration not found.
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `45703` <br> SSO is disabled for this account. <br> **Error Code:** `45303` <br> The current InCommon configuration is pending approval. <br> **Error Code:** `45005` <br> The maximum number of SSO configurations has been reached. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error **Error Code:** `45015` <br> Failed to persist the SSO configuration change. No changes were applied. Please try again. <br>

Delete an SP certificate

  • Method: DELETE
  • Path: /sso/configurations/{config_id}/certificates/{certificate_id}
  • Tags: Single Sign-On

Delete a self-signed SP certificate. CA certificates are system-managed and cannot be deleted.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:delete:certificate:admin

Rate Limit Label: LIGHT

Responses

Status: 204 **HTTP Status Code:** `204` <br> Certificate deleted.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `45602` <br> CA certificates are system-managed and cannot be created or deleted. <br> **Error Code:** `45603` <br> The config_id is required when accessing certificates for a multiple-configuration account. <br> **Error Code:** `45605` <br> SP certificates are not supported for OIDC configurations. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration: `SingleSignOn:Edit`.
Status: 404 **HTTP Status Code:** `404` <br> Not Found SSO configuration not found.
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `45703` <br> SSO is disabled for this account. <br> **Error Code:** `45303` <br> The current InCommon configuration is pending approval. <br> **Error Code:** `45006` <br> Cannot delete the SSO certificate because it is in use. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error **Error Code:** `45015` <br> Failed to persist the SSO configuration change. No changes were applied. Please try again. <br>

Update an SP certificate

  • Method: PATCH
  • Path: /sso/configurations/{config_id}/certificates/{certificate_id}
  • Tags: Single Sign-On

Update the self-signed SP certificate name. The new name must differ from the current one.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:update:certificate:admin

Rate Limit Label: LIGHT

Request Body

Content-Type: application/json
  • name (required)

    string — The new certificate display name. Must be non-blank, different from the current name, and at most 255 characters.

Example:

{
  "name": "corp-sp-2026"
}

Responses

Status: 200 **HTTP Status Code:** `200` <br> Updated certificate.
Content-Type: application/json
  • certificate_id

    string — The certificate ID.

  • config_id

    string — The owning configuration ID for multiple-configuration accounts.

  • effective_date

    string, format: date — The effective date in UTC (`yyyy-MM-dd` format).

  • expiration_date

    string, format: date — The expiration date in UTC (`yyyy-MM-dd` format).

  • in_use

    boolean — Whether the certificate is currently in use.

  • key_size

    integer, possible values: 2048, 3072, 4096 — The RSA key size (for example, 2048).

  • name

    string — The certificate display name.

  • type

    string, possible values: "self_signed" — The certificate type.

  • valid_years

    integer — The validity period in years.

Example:

{
  "certificate_id": "cert-789",
  "type": "self_signed",
  "name": "corp-sp-2026",
  "config_id": "aBc123XyZ",
  "key_size": 2048,
  "valid_years": 3,
  "in_use": true,
  "effective_date": "2026-07-23",
  "expiration_date": "2029-07-23"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `45002` <br> The `name` in the request is invalid. If the request body is missing, the message is: The `request` in the request is invalid. <br> **Error Code:** `45602` <br> CA certificates are system-managed and cannot be created or deleted. <br> **Error Code:** `45603` <br> The `config_id` is required when accessing certificates for a multiple-configuration account. <br> **Error Code:** `45605` <br> SP certificates are not supported for OIDC configurations. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration: `SingleSignOn:Edit`.
Status: 404 **HTTP Status Code:** `404` <br> Not Found SSO configuration not found.
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `45703` <br> SSO is disabled for this account. <br> **Error Code:** `45303` <br> The current InCommon configuration is pending approval. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error **Error Code:** `45015` <br> Failed to persist the SSO configuration change. No changes were applied. Please try again. <br>

Get SSO mappings

  • Method: GET
  • Path: /sso/configurations/{config_id}/mapping
  • Tags: Single Sign-On

Retrieve the SAML or OIDC attribute mapping configuration of a single SSO configuration.

A mapping is returned only when it carries a non-default configuration: it is enabled, or it still holds an attribute name or a switch set to a non-default value. An absent mapping means it is not configured. default_license is always returned.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:mapping:admin

Rate Limit Label: LIGHT

Responses

Status: 200 The mapping configuration.
Content-Type: application/json
  • basic

    object — The basic mapping information. Each property maps one IdP attribute onto one user profile field. Each of the five phone fields (`phone`, `mobile`, `office`, `home`, `fax`) is updated independently, but only `phone` carries `update_at_each_login`, and that single switch governs all five.

    • company

      object — Maps an IdP attribute onto the user's company.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

    • cost_center

      object — Maps an IdP attribute onto the user's cost center.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • department

      object — Maps an IdP attribute onto the user's department.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

    • display_name

      object — Maps an IdP attribute onto the user's display name.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • email_address

      object — Maps an IdP attribute onto the user's email address.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • employee_unique_id

      object — Maps an IdP attribute onto the user's employee unique ID.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • fax

      object — Maps an IdP attribute onto the user's fax number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • first_name

      object — Maps an IdP attribute onto the user's first name.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • home

      object — Maps an IdP attribute onto the user's home phone number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • job_title

      object — Maps an IdP attribute onto the user's job title.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

    • kaltura_user_id

      object — Maps an IdP attribute onto the user's Kaltura user ID.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • last_name

      object — Maps an IdP attribute onto the user's last name.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • location

      object — Maps an IdP attribute onto the user's location.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

    • manager

      object — Maps an IdP attribute onto the user's manager.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • mobile

      object — Maps an IdP attribute onto the user's mobile number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • office

      object — Maps an IdP attribute onto the user's office phone number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • personal_link_name

      object — Maps an IdP attribute onto the user's personal link name.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • phone

      object — Maps an IdP attribute onto the user's phone number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning. This single switch governs all five phone fields (`phone`, `mobile`, `office`, `home`, `fax`).

    • profile_picture

      object — Maps an IdP attribute onto the user's profile picture.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • pronouns

      object — Maps an IdP attribute onto the user's pronouns.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • zoom_phone_ext_number

      object — Maps an IdP attribute onto the user's Zoom Phone extension number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • zoom_phone_number

      object — Maps an IdP attribute onto the user's Zoom Phone number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • zra_region

      object — Maps an IdP attribute onto the user's Zoom Revenue Accelerator region.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • zra_segment

      object — Maps an IdP attribute onto the user's Zoom Revenue Accelerator segment.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

  • config_id

    string — The SSO configuration this document belongs to. `default` for single-configuration accounts.

  • default_license

    object — The license applied when no `advanced license assignment` rule matches. A matching rule always takes precedence over this default.

    • license_assignment

      string, possible values: "none", "unassigned_without_zoom_meetings_basic", "unassigned_with_zoom_meetings_basic", "zoom_workplace", "zoom_workplace_with_on_prem" — The default license assignment applied at SSO provisioning. `none` - Users can't sign into Zoom with SSO. `unassigned_without_zoom_meetings_basic` - Users can sign into Zoom and join meetings but can't host or schedule them, and don't have a Zoom Workplace license. `unassigned_with_zoom_meetings_basic` - Users don't have a Zoom Workplace license. `zoom_workplace` - Users hold a Zoom Workplace license. `zoom_workplace_with_on_prem` - Users hold a Zoom Workplace license and are served by an on-premise deployment.

    • license_type

      string, possible values: "none", "zoe", "zoep", "zo_ent_essentials", "zobp_usca", "zobp_ukir", "zobp_aunz", "zobp_jp", "zobp_global", "zoe_prem_usca", "zoe_prem_jp", "zoe_prem_ukir", "zoe_prem_aunz", "zopp_usca", "zo_edu_sch_cmp", "zo_edu_ent_essentials", "zo_edu_ent_plus", "zo_edu_ent_hied_stu", "zo_edu_std", "zo_edu_sch_cmp_plus_usca", "zo_edu_sch_cmp_plus_jp", "zo_edu_sch_cmp_plus_ukir", "zo_edu_sch_cmp_plus_aunz", "zo_edu_sch_cmp_plus_global", "zo_edu_ent_prem_usca", "zo_edu_ent_prem_jp", "zo_edu_ent_prem_ukir", "zo_edu_ent_prem_aunz", "zo_edu_ent_prem_global" — The Zoom Workplace bundle plan option assigned by default. Leave it out to assign a Zoom Workplace Meeting license without any bundle. Ignored unless `license_assignment` is `zoom_workplace` or `zoom_workplace_with_on_prem`. * `none` - Assign a Zoom Workplace Meeting license without any bundle. * `zoe` - Zoom Workplace Enterprise. * `zoep` - Zoom Workplace Enterprise Plus. * `zo_ent_essentials` - Zoom Workplace Enterprise Essentials. * `zobp_usca` - Zoom Workplace Business Plus with US/CA Unlimited. * `zobp_ukir` - Zoom Workplace Business Plus with UK/IR Unlimited. * `zobp_aunz` - Zoom Workplace Business Plus with AU/NZ Unlimited. * `zobp_jp` - Zoom Workplace Business Plus with Japan Unlimited. * `zobp_global` - Zoom Workplace Business Plus with Global Select. * `zoe_prem_usca` - Zoom Workplace Enterprise Premier with US/CA Unlimited. * `zoe_prem_jp` - Zoom Workplace Enterprise Premier with Japan Unlimited. * `zoe_prem_ukir` - Zoom Workplace Enterprise Premier with UK/IR Unlimited. * `zoe_prem_aunz` - Zoom Workplace Enterprise Premier with AU/NZ Unlimited. * `zopp_usca` - Zoom Workplace Pro Plus with US/CA Unlimited. * `zo_edu_sch_cmp` - Zoom Workplace for Education School and Campus. * `zo_edu_ent_essentials` - Zoom Workplace for Education Enterprise Essentials. * `zo_edu_ent_plus` - Zoom Workplace for Education Enterprise Plus. * `zo_edu_ent_hied_stu` - Zoom Workplace for Education Enterprise Student. * `zo_edu_std` - Zoom Workplace for Education Standard. * `zo_edu_sch_cmp_plus_usca` - Zoom Workplace for Education School and Campus Plus with US/CA Unlimited. * `zo_edu_sch_cmp_plus_jp` - Zoom Workplace for Education School and Campus Plus with Japan Unlimited. * `zo_edu_sch_cmp_plus_ukir` - Zoom Workplace for Education School and Campus Plus with UK/IR Unlimited. * `zo_edu_sch_cmp_plus_aunz` - Zoom Workplace for Education School and Campus Plus with AU/NZ Unlimited. * `zo_edu_sch_cmp_plus_global` - Zoom Workplace for Education School and Campus Plus with Global Select. * `zo_edu_ent_prem_usca` - Zoom Workplace for Education Enterprise Premier with US/CA Unlimited. * `zo_edu_ent_prem_jp` - Zoom Workplace for Education Enterprise Premier with Japan Unlimited. * `zo_edu_ent_prem_ukir` - Zoom Workplace for Education Enterprise Premier with UK/IR Unlimited. * `zo_edu_ent_prem_aunz` - Zoom Workplace for Education Enterprise Premier with AU/NZ Unlimited. * `zo_edu_ent_prem_global` - Zoom Workplace for Education Enterprise Premier with Global Select.

    • subscription

      string — The [subscription](https://zoom.us/billing) name for the Zoom Workplace license. Ignore this field if your account doesn't include the Multiple Subscription Quoting feature. Ignored unless `license_assignment` is `zoom_workplace` or `zoom_workplace_with_on_prem`.

Example:

{
  "config_id": "default",
  "default_license": {
    "license_assignment": "zoom_workplace",
    "license_type": "none",
    "subscription": "2025 Subscription"
  },
  "basic": {
    "email_address": {
      "enabled": true,
      "attribute_name": "NameID"
    },
    "first_name": {
      "enabled": true,
      "attribute_name": "givenName",
      "update_at_each_login": true
    },
    "last_name": {
      "enabled": true,
      "attribute_name": "sn",
      "update_at_each_login": true
    },
    "display_name": {
      "enabled": true,
      "attribute_name": "displayName",
      "update_at_each_login": true,
      "prevent_editing_for_sso_users": false
    },
    "pronouns": {
      "enabled": true,
      "attribute_name": "pronouns",
      "update_at_each_login": true,
      "prevent_editing_for_sso_users": false
    },
    "phone": {
      "enabled": true,
      "attribute_name": "telephoneNumber",
      "update_at_each_login": true
    },
    "mobile": {
      "enabled": true,
      "attribute_name": "mobile"
    },
    "office": {
      "enabled": true,
      "attribute_name": "officePhone"
    },
    "home": {
      "enabled": true,
      "attribute_name": "homePhone"
    },
    "fax": {
      "enabled": true,
      "attribute_name": "facsimileTelephoneNumber"
    },
    "company": {
      "enabled": true,
      "attribute_name": "company",
      "prevent_editing_for_sso_users": false
    },
    "manager": {
      "enabled": true,
      "attribute_name": "manager"
    },
    "job_title": {
      "enabled": true,
      "attribute_name": "title",
      "prevent_editing_for_sso_users": false
    },
    "location": {
      "enabled": true,
      "attribute_name": "streetAddress",
      "prevent_editing_for_sso_users": false
    },
    "profile_picture": {
      "enabled": true,
      "attribute_name": "photoUrl"
    },
    "personal_link_name": {
      "enabled": true,
      "attribute_name": "vanityName",
      "update_at_each_login": true
    },
    "department": {
      "enabled": true,
      "attribute_name": "department",
      "prevent_editing_for_sso_users": false
    },
    "cost_center": {
      "enabled": true,
      "attribute_name": "costCenter"
    },
    "kaltura_user_id": {
      "enabled": true,
      "attribute_name": "cmsUserId"
    },
    "zoom_phone_ext_number": {
      "enabled": true,
      "attribute_name": "extensionNumber"
    },
    "zoom_phone_number": {
      "enabled": true,
      "attribute_name": "zoomPhoneNumber"
    },
    "employee_unique_id": {
      "enabled": true,
      "attribute_name": "employeeNumber"
    },
    "zra_region": {
      "enabled": true,
      "attribute_name": "revenueAcceleratorRegion"
    },
    "zra_segment": {
      "enabled": true,
      "attribute_name": "revenueAcceleratorSegment"
    }
  }
}
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `46103` <br> Single sign-on is not available for this account.
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `46102` <br> SSO mapping configuration not found for configuration ID {0}.

Update SSO mapping

  • Method: PATCH
  • Path: /sso/configurations/{config_id}/mapping
  • Tags: Single Sign-On

Partially update the SAML or OIDC attribute mapping configuration of a single SSO configuration. Send only the properties to change; any property omitted from the body is left unchanged.

The request is validated in full before anything is written: if any part of the body is rejected, no change is persisted. On success, the complete updated document is returned, so no follow-up request is required. The response carries only the mappings that hold a non-default configuration, so a mapping just disabled and cleared is absent from it; because omitted properties are left unchanged, any subset of a previous response can be sent back safely.

Read-only properties (config_id) must not be sent.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:update:mapping:admin

Rate Limit Label: MEDIUM

Request Body

Content-Type: application/json
  • basic

    object — The basic mapping information. Each property maps one IdP attribute onto one user profile field. Each of the five phone fields (`phone`, `mobile`, `office`, `home`, `fax`) is updated independently, but only `phone` carries `update_at_each_login`, and that single switch governs all five.

    • company

      object — Maps an IdP attribute onto the user's company.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

    • cost_center

      object — Maps an IdP attribute onto the user's cost center.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • department

      object — Maps an IdP attribute onto the user's department.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

    • display_name

      object — Maps an IdP attribute onto the user's display name.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • email_address

      object — Maps an IdP attribute onto the user's email address.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • employee_unique_id

      object — Maps an IdP attribute onto the user's employee unique ID.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • fax

      object — Maps an IdP attribute onto the user's fax number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • first_name

      object — Maps an IdP attribute onto the user's first name.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • home

      object — Maps an IdP attribute onto the user's home phone number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • job_title

      object — Maps an IdP attribute onto the user's job title.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

    • kaltura_user_id

      object — Maps an IdP attribute onto the user's Kaltura user ID.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • last_name

      object — Maps an IdP attribute onto the user's last name.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • location

      object — Maps an IdP attribute onto the user's location.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

    • manager

      object — Maps an IdP attribute onto the user's manager.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • mobile

      object — Maps an IdP attribute onto the user's mobile number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • office

      object — Maps an IdP attribute onto the user's office phone number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • personal_link_name

      object — Maps an IdP attribute onto the user's personal link name.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • phone

      object — Maps an IdP attribute onto the user's phone number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning. This single switch governs all five phone fields (`phone`, `mobile`, `office`, `home`, `fax`).

    • profile_picture

      object — Maps an IdP attribute onto the user's profile picture.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • pronouns

      object — Maps an IdP attribute onto the user's pronouns.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • zoom_phone_ext_number

      object — Maps an IdP attribute onto the user's Zoom Phone extension number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • zoom_phone_number

      object — Maps an IdP attribute onto the user's Zoom Phone number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • zra_region

      object — Maps an IdP attribute onto the user's Zoom Revenue Accelerator region.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • zra_segment

      object — Maps an IdP attribute onto the user's Zoom Revenue Accelerator segment.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

  • config_id

    string — The SSO configuration this document belongs to. `default` for single-configuration accounts.

  • default_license

    object — The license applied when no `advanced license assignment` rule matches. A matching rule always takes precedence over this default.

    • license_assignment

      string, possible values: "none", "unassigned_without_zoom_meetings_basic", "unassigned_with_zoom_meetings_basic", "zoom_workplace", "zoom_workplace_with_on_prem" — The default license assignment applied at SSO provisioning. `none` - Users can't sign into Zoom with SSO. `unassigned_without_zoom_meetings_basic` - Users can sign into Zoom and join meetings but can't host or schedule them, and don't have a Zoom Workplace license. `unassigned_with_zoom_meetings_basic` - Users don't have a Zoom Workplace license. `zoom_workplace` - Users hold a Zoom Workplace license. `zoom_workplace_with_on_prem` - Users hold a Zoom Workplace license and are served by an on-premise deployment.

    • license_type

      string, possible values: "none", "zoe", "zoep", "zo_ent_essentials", "zobp_usca", "zobp_ukir", "zobp_aunz", "zobp_jp", "zobp_global", "zoe_prem_usca", "zoe_prem_jp", "zoe_prem_ukir", "zoe_prem_aunz", "zopp_usca", "zo_edu_sch_cmp", "zo_edu_ent_essentials", "zo_edu_ent_plus", "zo_edu_ent_hied_stu", "zo_edu_std", "zo_edu_sch_cmp_plus_usca", "zo_edu_sch_cmp_plus_jp", "zo_edu_sch_cmp_plus_ukir", "zo_edu_sch_cmp_plus_aunz", "zo_edu_sch_cmp_plus_global", "zo_edu_ent_prem_usca", "zo_edu_ent_prem_jp", "zo_edu_ent_prem_ukir", "zo_edu_ent_prem_aunz", "zo_edu_ent_prem_global" — The Zoom Workplace bundle plan option assigned by default. Leave it out to assign a Zoom Workplace Meeting license without any bundle. Ignored unless `license_assignment` is `zoom_workplace` or `zoom_workplace_with_on_prem`. * `none` - Assign a Zoom Workplace Meeting license without any bundle. * `zoe` - Zoom Workplace Enterprise. * `zoep` - Zoom Workplace Enterprise Plus. * `zo_ent_essentials` - Zoom Workplace Enterprise Essentials. * `zobp_usca` - Zoom Workplace Business Plus with US/CA Unlimited. * `zobp_ukir` - Zoom Workplace Business Plus with UK/IR Unlimited. * `zobp_aunz` - Zoom Workplace Business Plus with AU/NZ Unlimited. * `zobp_jp` - Zoom Workplace Business Plus with Japan Unlimited. * `zobp_global` - Zoom Workplace Business Plus with Global Select. * `zoe_prem_usca` - Zoom Workplace Enterprise Premier with US/CA Unlimited. * `zoe_prem_jp` - Zoom Workplace Enterprise Premier with Japan Unlimited. * `zoe_prem_ukir` - Zoom Workplace Enterprise Premier with UK/IR Unlimited. * `zoe_prem_aunz` - Zoom Workplace Enterprise Premier with AU/NZ Unlimited. * `zopp_usca` - Zoom Workplace Pro Plus with US/CA Unlimited. * `zo_edu_sch_cmp` - Zoom Workplace for Education School and Campus. * `zo_edu_ent_essentials` - Zoom Workplace for Education Enterprise Essentials. * `zo_edu_ent_plus` - Zoom Workplace for Education Enterprise Plus. * `zo_edu_ent_hied_stu` - Zoom Workplace for Education Enterprise Student. * `zo_edu_std` - Zoom Workplace for Education Standard. * `zo_edu_sch_cmp_plus_usca` - Zoom Workplace for Education School and Campus Plus with US/CA Unlimited. * `zo_edu_sch_cmp_plus_jp` - Zoom Workplace for Education School and Campus Plus with Japan Unlimited. * `zo_edu_sch_cmp_plus_ukir` - Zoom Workplace for Education School and Campus Plus with UK/IR Unlimited. * `zo_edu_sch_cmp_plus_aunz` - Zoom Workplace for Education School and Campus Plus with AU/NZ Unlimited. * `zo_edu_sch_cmp_plus_global` - Zoom Workplace for Education School and Campus Plus with Global Select. * `zo_edu_ent_prem_usca` - Zoom Workplace for Education Enterprise Premier with US/CA Unlimited. * `zo_edu_ent_prem_jp` - Zoom Workplace for Education Enterprise Premier with Japan Unlimited. * `zo_edu_ent_prem_ukir` - Zoom Workplace for Education Enterprise Premier with UK/IR Unlimited. * `zo_edu_ent_prem_aunz` - Zoom Workplace for Education Enterprise Premier with AU/NZ Unlimited. * `zo_edu_ent_prem_global` - Zoom Workplace for Education Enterprise Premier with Global Select.

    • subscription

      string — The [subscription](https://zoom.us/billing) name for the Zoom Workplace license. Ignore this field if your account doesn't include the Multiple Subscription Quoting feature. Ignored unless `license_assignment` is `zoom_workplace` or `zoom_workplace_with_on_prem`.

Example:

{
  "config_id": "default",
  "default_license": {
    "license_assignment": "zoom_workplace",
    "license_type": "none",
    "subscription": "2025 Subscription"
  },
  "basic": {
    "email_address": {
      "enabled": true,
      "attribute_name": "NameID"
    },
    "first_name": {
      "enabled": true,
      "attribute_name": "givenName",
      "update_at_each_login": true
    },
    "last_name": {
      "enabled": true,
      "attribute_name": "sn",
      "update_at_each_login": true
    },
    "display_name": {
      "enabled": true,
      "attribute_name": "displayName",
      "update_at_each_login": true,
      "prevent_editing_for_sso_users": false
    },
    "pronouns": {
      "enabled": true,
      "attribute_name": "pronouns",
      "update_at_each_login": true,
      "prevent_editing_for_sso_users": false
    },
    "phone": {
      "enabled": true,
      "attribute_name": "telephoneNumber",
      "update_at_each_login": true
    },
    "mobile": {
      "enabled": true,
      "attribute_name": "mobile"
    },
    "office": {
      "enabled": true,
      "attribute_name": "officePhone"
    },
    "home": {
      "enabled": true,
      "attribute_name": "homePhone"
    },
    "fax": {
      "enabled": true,
      "attribute_name": "facsimileTelephoneNumber"
    },
    "company": {
      "enabled": true,
      "attribute_name": "company",
      "prevent_editing_for_sso_users": false
    },
    "manager": {
      "enabled": true,
      "attribute_name": "manager"
    },
    "job_title": {
      "enabled": true,
      "attribute_name": "title",
      "prevent_editing_for_sso_users": false
    },
    "location": {
      "enabled": true,
      "attribute_name": "streetAddress",
      "prevent_editing_for_sso_users": false
    },
    "profile_picture": {
      "enabled": true,
      "attribute_name": "photoUrl"
    },
    "personal_link_name": {
      "enabled": true,
      "attribute_name": "vanityName",
      "update_at_each_login": true
    },
    "department": {
      "enabled": true,
      "attribute_name": "department",
      "prevent_editing_for_sso_users": false
    },
    "cost_center": {
      "enabled": true,
      "attribute_name": "costCenter"
    },
    "kaltura_user_id": {
      "enabled": true,
      "attribute_name": "cmsUserId"
    },
    "zoom_phone_ext_number": {
      "enabled": true,
      "attribute_name": "extensionNumber"
    },
    "zoom_phone_number": {
      "enabled": true,
      "attribute_name": "zoomPhoneNumber"
    },
    "employee_unique_id": {
      "enabled": true,
      "attribute_name": "employeeNumber"
    },
    "zra_region": {
      "enabled": true,
      "attribute_name": "revenueAcceleratorRegion"
    },
    "zra_segment": {
      "enabled": true,
      "attribute_name": "revenueAcceleratorSegment"
    }
  }
}

Responses

Status: 200 The updated mapping configuration.
Content-Type: application/json
  • basic

    object — The basic mapping information. Each property maps one IdP attribute onto one user profile field. Each of the five phone fields (`phone`, `mobile`, `office`, `home`, `fax`) is updated independently, but only `phone` carries `update_at_each_login`, and that single switch governs all five.

    • company

      object — Maps an IdP attribute onto the user's company.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

    • cost_center

      object — Maps an IdP attribute onto the user's cost center.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • department

      object — Maps an IdP attribute onto the user's department.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

    • display_name

      object — Maps an IdP attribute onto the user's display name.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • email_address

      object — Maps an IdP attribute onto the user's email address.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • employee_unique_id

      object — Maps an IdP attribute onto the user's employee unique ID.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • fax

      object — Maps an IdP attribute onto the user's fax number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • first_name

      object — Maps an IdP attribute onto the user's first name.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • home

      object — Maps an IdP attribute onto the user's home phone number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • job_title

      object — Maps an IdP attribute onto the user's job title.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

    • kaltura_user_id

      object — Maps an IdP attribute onto the user's Kaltura user ID.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • last_name

      object — Maps an IdP attribute onto the user's last name.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • location

      object — Maps an IdP attribute onto the user's location.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

    • manager

      object — Maps an IdP attribute onto the user's manager.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • mobile

      object — Maps an IdP attribute onto the user's mobile number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • office

      object — Maps an IdP attribute onto the user's office phone number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • personal_link_name

      object — Maps an IdP attribute onto the user's personal link name.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • phone

      object — Maps an IdP attribute onto the user's phone number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning. This single switch governs all five phone fields (`phone`, `mobile`, `office`, `home`, `fax`).

    • profile_picture

      object — Maps an IdP attribute onto the user's profile picture.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • pronouns

      object — Maps an IdP attribute onto the user's pronouns.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

      • prevent_editing_for_sso_users

        boolean — Whether SSO users are prevented from editing this field in their own profile.

      • update_at_each_login

        boolean — Whether the user profile field is refreshed from the assertion on every SSO login, rather than only at first provisioning.

    • zoom_phone_ext_number

      object — Maps an IdP attribute onto the user's Zoom Phone extension number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • zoom_phone_number

      object — Maps an IdP attribute onto the user's Zoom Phone number.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • zra_region

      object — Maps an IdP attribute onto the user's Zoom Revenue Accelerator region.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

    • zra_segment

      object — Maps an IdP attribute onto the user's Zoom Revenue Accelerator segment.

      • attribute_name

        string — The IdP attribute name to read. Required when `enabled` is `true`, and cleared when `enabled` is set to `false`.

      • enabled

        boolean — Whether this field is mapped from the IdP assertion.

  • config_id

    string — The SSO configuration this document belongs to. `default` for single-configuration accounts.

  • default_license

    object — The license applied when no `advanced license assignment` rule matches. A matching rule always takes precedence over this default.

    • license_assignment

      string, possible values: "none", "unassigned_without_zoom_meetings_basic", "unassigned_with_zoom_meetings_basic", "zoom_workplace", "zoom_workplace_with_on_prem" — The default license assignment applied at SSO provisioning. `none` - Users can't sign into Zoom with SSO. `unassigned_without_zoom_meetings_basic` - Users can sign into Zoom and join meetings but can't host or schedule them, and don't have a Zoom Workplace license. `unassigned_with_zoom_meetings_basic` - Users don't have a Zoom Workplace license. `zoom_workplace` - Users hold a Zoom Workplace license. `zoom_workplace_with_on_prem` - Users hold a Zoom Workplace license and are served by an on-premise deployment.

    • license_type

      string, possible values: "none", "zoe", "zoep", "zo_ent_essentials", "zobp_usca", "zobp_ukir", "zobp_aunz", "zobp_jp", "zobp_global", "zoe_prem_usca", "zoe_prem_jp", "zoe_prem_ukir", "zoe_prem_aunz", "zopp_usca", "zo_edu_sch_cmp", "zo_edu_ent_essentials", "zo_edu_ent_plus", "zo_edu_ent_hied_stu", "zo_edu_std", "zo_edu_sch_cmp_plus_usca", "zo_edu_sch_cmp_plus_jp", "zo_edu_sch_cmp_plus_ukir", "zo_edu_sch_cmp_plus_aunz", "zo_edu_sch_cmp_plus_global", "zo_edu_ent_prem_usca", "zo_edu_ent_prem_jp", "zo_edu_ent_prem_ukir", "zo_edu_ent_prem_aunz", "zo_edu_ent_prem_global" — The Zoom Workplace bundle plan option assigned by default. Leave it out to assign a Zoom Workplace Meeting license without any bundle. Ignored unless `license_assignment` is `zoom_workplace` or `zoom_workplace_with_on_prem`. * `none` - Assign a Zoom Workplace Meeting license without any bundle. * `zoe` - Zoom Workplace Enterprise. * `zoep` - Zoom Workplace Enterprise Plus. * `zo_ent_essentials` - Zoom Workplace Enterprise Essentials. * `zobp_usca` - Zoom Workplace Business Plus with US/CA Unlimited. * `zobp_ukir` - Zoom Workplace Business Plus with UK/IR Unlimited. * `zobp_aunz` - Zoom Workplace Business Plus with AU/NZ Unlimited. * `zobp_jp` - Zoom Workplace Business Plus with Japan Unlimited. * `zobp_global` - Zoom Workplace Business Plus with Global Select. * `zoe_prem_usca` - Zoom Workplace Enterprise Premier with US/CA Unlimited. * `zoe_prem_jp` - Zoom Workplace Enterprise Premier with Japan Unlimited. * `zoe_prem_ukir` - Zoom Workplace Enterprise Premier with UK/IR Unlimited. * `zoe_prem_aunz` - Zoom Workplace Enterprise Premier with AU/NZ Unlimited. * `zopp_usca` - Zoom Workplace Pro Plus with US/CA Unlimited. * `zo_edu_sch_cmp` - Zoom Workplace for Education School and Campus. * `zo_edu_ent_essentials` - Zoom Workplace for Education Enterprise Essentials. * `zo_edu_ent_plus` - Zoom Workplace for Education Enterprise Plus. * `zo_edu_ent_hied_stu` - Zoom Workplace for Education Enterprise Student. * `zo_edu_std` - Zoom Workplace for Education Standard. * `zo_edu_sch_cmp_plus_usca` - Zoom Workplace for Education School and Campus Plus with US/CA Unlimited. * `zo_edu_sch_cmp_plus_jp` - Zoom Workplace for Education School and Campus Plus with Japan Unlimited. * `zo_edu_sch_cmp_plus_ukir` - Zoom Workplace for Education School and Campus Plus with UK/IR Unlimited. * `zo_edu_sch_cmp_plus_aunz` - Zoom Workplace for Education School and Campus Plus with AU/NZ Unlimited. * `zo_edu_sch_cmp_plus_global` - Zoom Workplace for Education School and Campus Plus with Global Select. * `zo_edu_ent_prem_usca` - Zoom Workplace for Education Enterprise Premier with US/CA Unlimited. * `zo_edu_ent_prem_jp` - Zoom Workplace for Education Enterprise Premier with Japan Unlimited. * `zo_edu_ent_prem_ukir` - Zoom Workplace for Education Enterprise Premier with UK/IR Unlimited. * `zo_edu_ent_prem_aunz` - Zoom Workplace for Education Enterprise Premier with AU/NZ Unlimited. * `zo_edu_ent_prem_global` - Zoom Workplace for Education Enterprise Premier with Global Select.

    • subscription

      string — The [subscription](https://zoom.us/billing) name for the Zoom Workplace license. Ignore this field if your account doesn't include the Multiple Subscription Quoting feature. Ignored unless `license_assignment` is `zoom_workplace` or `zoom_workplace_with_on_prem`.

Example:

{
  "config_id": "default",
  "default_license": {
    "license_assignment": "zoom_workplace",
    "license_type": "none",
    "subscription": "2025 Subscription"
  },
  "basic": {
    "email_address": {
      "enabled": true,
      "attribute_name": "NameID"
    },
    "first_name": {
      "enabled": true,
      "attribute_name": "givenName",
      "update_at_each_login": true
    },
    "last_name": {
      "enabled": true,
      "attribute_name": "sn",
      "update_at_each_login": true
    },
    "display_name": {
      "enabled": true,
      "attribute_name": "displayName",
      "update_at_each_login": true,
      "prevent_editing_for_sso_users": false
    },
    "pronouns": {
      "enabled": true,
      "attribute_name": "pronouns",
      "update_at_each_login": true,
      "prevent_editing_for_sso_users": false
    },
    "phone": {
      "enabled": true,
      "attribute_name": "telephoneNumber",
      "update_at_each_login": true
    },
    "mobile": {
      "enabled": true,
      "attribute_name": "mobile"
    },
    "office": {
      "enabled": true,
      "attribute_name": "officePhone"
    },
    "home": {
      "enabled": true,
      "attribute_name": "homePhone"
    },
    "fax": {
      "enabled": true,
      "attribute_name": "facsimileTelephoneNumber"
    },
    "company": {
      "enabled": true,
      "attribute_name": "company",
      "prevent_editing_for_sso_users": false
    },
    "manager": {
      "enabled": true,
      "attribute_name": "manager"
    },
    "job_title": {
      "enabled": true,
      "attribute_name": "title",
      "prevent_editing_for_sso_users": false
    },
    "location": {
      "enabled": true,
      "attribute_name": "streetAddress",
      "prevent_editing_for_sso_users": false
    },
    "profile_picture": {
      "enabled": true,
      "attribute_name": "photoUrl"
    },
    "personal_link_name": {
      "enabled": true,
      "attribute_name": "vanityName",
      "update_at_each_login": true
    },
    "department": {
      "enabled": true,
      "attribute_name": "department",
      "prevent_editing_for_sso_users": false
    },
    "cost_center": {
      "enabled": true,
      "attribute_name": "costCenter"
    },
    "kaltura_user_id": {
      "enabled": true,
      "attribute_name": "cmsUserId"
    },
    "zoom_phone_ext_number": {
      "enabled": true,
      "attribute_name": "extensionNumber"
    },
    "zoom_phone_number": {
      "enabled": true,
      "attribute_name": "zoomPhoneNumber"
    },
    "employee_unique_id": {
      "enabled": true,
      "attribute_name": "employeeNumber"
    },
    "zra_region": {
      "enabled": true,
      "attribute_name": "revenueAcceleratorRegion"
    },
    "zra_segment": {
      "enabled": true,
      "attribute_name": "revenueAcceleratorSegment"
    }
  }
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `46101` <br> The request contains an invalid value. <br> **Error Code:** `46105` <br> One or more fields are not applicable to the target mapping. <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `46103` <br> Single sign-on is not available for this account. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `46102` <br> SSO mapping configuration not found for configuration ID {0}. <br>
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error **Error Code:** `46106` <br> Failed to persist the SSO mapping configuration. <br>

Update an SSO configuration status

  • Method: PATCH
  • Path: /sso/configurations/{config_id}/status
  • Tags: Single Sign-On

Enable or disable a single SSO configuration (multiple-configuration accounts only).

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:update:config_status:admin

Rate Limit Label: LIGHT

Request Body

Content-Type: application/json
  • status (required)

    string, possible values: "enabled", "disabled" — The configuration status.

Example:

{
  "status": "disabled"
}

Responses

Status: 200 **HTTP Status Code:** `200` <br> Resulting status.
Content-Type: application/json
  • config_id

    string — The configuration ID.

  • status

    string, possible values: "enabled", "disabled" — The resulting status.

Example:

{
  "config_id": "aBc123XyZ",
  "status": "disabled"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `45002` <br> The `status` of the request is invalid. <br> **Error Code:** `45801` <br> Per-configuration enable/disable and delete are only available for multiple-configuration accounts. Use PATCH /v2/sso/status to turn off SSO. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration: `SingleSignOn:Edit`.
Status: 404 **HTTP Status Code:** `404` <br> Not Found SSO configuration not found.
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `45703` <br> SSO is disabled for this account. <br> **Error Code:** `45303` <br> The current InCommon configuration is pending approval. <br> **Error Code:** `45802` <br> The default SSO configuration cannot be disabled or deleted for this account. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error **Error Code:** `45015` <br> Failed to persist the SSO configuration change. No changes were applied. Please try again. <br>

List SSO login logs

  • Method: GET
  • Path: /sso/login_logs
  • Tags: Single Sign-On

Returns SSO sign-in log summaries for the requesting account.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:list_login_logs:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 OK
Content-Type: application/json
  • logs

    array — SSO login log list.

    Items:

    • config_id

      string — The ID of the configuration used for SSO login. Omitted for single SAML/OIDC accounts.

    • config_title

      string — The title of the configuration used for SSO login. Omitted for single SAML/OIDC accounts and when the configuration referenced by `config_id` has been deleted.

    • email

      string — Email carried in the SSO response. Omitted when the sign-in failed before any identity was resolved.

    • error_code

      integer, format: int32 — Omitted when the sign-in recorded no error code.

    • login_status

      string, possible values: "success", "failure" — Whether the login was successful or failed.

    • login_time

      string, format: date-time — The login time.

    • protocol

      string, possible values: "saml", "oidc" — The SSO protocol the sign-in used.

    • tracking_id

      string — The tracking ID of the sign-in request.

  • next_page_token

    string — Present only when more records are available.

  • page_size

    integer — The number of records returned per page.

  • query_end_time

    string, format: date-time — End of the window the query actually ran against.

  • query_start_time

    string, format: date-time — Start of the window the query actually ran against.

Example:

{
  "query_start_time": "2026-08-13T00:00:00Z",
  "query_end_time": "2026-08-13T06:00:00Z",
  "page_size": 20,
  "next_page_token": "0f8fb6d8df289b64b938dd50b9d72f51c03370cd691cd81bf648115e421dc076",
  "logs": [
    {
      "tracking_id": "WEB_624c2507e67d0c7608a6d8a21ef8c7d7",
      "login_time": "2026-08-13T05:41:22Z",
      "login_status": "success",
      "protocol": "saml",
      "config_id": "EomLrMF4SkmZQGFS4QUaLA",
      "config_title": "IdP - Prod",
      "email": "test@zoom.us",
      "error_code": 1001
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `46001` <br> Invalid time range. <br> **Error Code:** `46002` <br> The "{field}" of the request parameter is invalid. <br> **Error Code:** `46003` <br> Invalid `next_page_token`. The token is invalid or has expired; restart the query from the first page. <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `46004` <br> Insufficient permission to read SSO login logs: `SingleSignOn:Read`. <br> **Error Code:** `46005` <br> Single Sign-On is not available for this account. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `46006` <br> No SSO login log found for the given tracking ID. <br>
Status: 503 **HTTP Status Code:** `503` <br> Service Unavailable **Error Code:** `46007` <br> The SSO login log query did not complete. Narrow the time range and retry. <br>

Get SSO login log detail

  • Method: GET
  • Path: /sso/login_logs/{tracking_id}
  • Tags: Single Sign-On

Returns the full detail of the SSO sign-in log recorded under a specific tracking ID, including the decoded SAML response or the OIDC login documents.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:login_log:admin

Rate Limit Label: LIGHT

Responses

Status: 200 OK
Content-Type: application/json
  • attributes

    object — The attribute set that the SSO response mapping evaluated for this sign-in. Values are strings or arrays of strings for multi-valued attributes.

  • config_id

    string — The ID of the configuration used for SSO login. Omitted for single SAML/OIDC accounts.

  • config_title

    string — The title of the configuration used for SSO login. Omitted for single SAML/OIDC accounts and when the configuration referenced by `config_id` has been deleted.

  • destination

    string — The SAML Destination or the OIDC callback endpoint.

  • email

    string — The email carried in the SSO response. Omitted when the sign-in failed before any identity was resolved.

  • error_code

    integer, format: int32 — The error code. Omitted when the sign-in recorded no error code.

  • error_message

    string — A human-readable failure reason. Omitted on success.

  • login_status

    string, possible values: "success", "failure" — Whether the login was successful or failed.

  • login_time

    string, format: date-time — The login time.

  • oidc

    object — OIDC-specific detail. Present only when the protocol is `oidc`.

    • id_token_header_json

      string — The raw JSON document of the ID token header.

    • id_token_payload_json

      string — The raw JSON document of the ID token payload.

    • scopes

      array — The scopes granted at the token exchange, split from the space-delimited OIDC scope value.

      Items:

      string

    • user_info_json

      string — The raw JSON document returned by the IdP UserInfo endpoint. Absent when the sign-in never reached that endpoint.

  • protocol

    string, possible values: "saml", "oidc" — The SSO protocol used for the sign-in.

  • saml

    object — SAML-specific detail. Present only when the protocol is `saml`.

    • http_method

      string — The HTTP method the IdP used to deliver the response, indicating which binding was used: `POST` for HTTP-POST or `GET` for HTTP-Redirect.

    • idp_status_code

      string — The StatusCode value of the SAML response.

    • issuer

      string — The SAML response issuer.

    • name_id

      string — The assertion NameID.

    • response_xml

      string — The decoded SAML response XML. Decrypted when the assertion was encrypted and the SP key is available.

    • signing_certificate

      string — The Base64-encoded X.509 certificate that signed the assertion, or the response when the assertion is unsigned.

  • tracking_id

    string — The tracking ID of the sign-in request.

  • user_agent

    string — The User-Agent string sent by the HTTP client (browser, app, or bot) in the request header to identify itself to the server.

Example:

{
  "tracking_id": "WEB_624c2507e67d0c7608a6d8a21ef8c7d7",
  "login_time": "2026-08-13T05:41:22Z",
  "login_status": "success",
  "protocol": "saml",
  "config_id": "pU3KBVgsRh28pGZESVbr9A",
  "config_title": "IdP - Prod",
  "email": "jane.doe@example.com",
  "error_code": 2104,
  "error_message": "Please check the Zoom invitation email and confirm the invitation before the SSO login.",
  "destination": "https://success.zoom.us/saml/SSO",
  "attributes": {
    "additionalProperty": ""
  },
  "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36",
  "saml": {
    "idp_status_code": "urn:oasis:names:tc:SAML:2.0:status:Success",
    "issuer": "http://www.idp.com/exk1a2b3c4",
    "name_id": "nameId",
    "signing_certificate": "MIIG0zCCBbugAwIBAgIQBYnsZRQcF8KwY44OipxXQTANBgkqhkiG9w0BAQsFADBZMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMTMwMQYDVQQDEypEaWdpQ2VydCBHbG9iYWwgRzIg VExTIFJTQSBTSEEyNTYgMjAyMCBDQTEwHhcNMjUxMDMxMDAwMDAwWhcNMjYxMjAxMjM1OTU5WjBr MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2UxIjAg BgNVBAoTGVpvb20gQ29tbXVuaWNhdGlvbnMsIEluYy4xEDAOBgNVBAMTB3pvb20udXMwggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDdEqamIL8xfFF2XeIGtyLUhHON+sryKje+yn/IAjJf aSMYLULKEpxkO7A7xWCfphy1gnH4MtkPUwmsFhnz5owq1AukxWGy5uDCk4XRZm/mkLmcFkc7d1U4 Pg0Tw5ZxliR9BavKF0JIyy5EvsofiWl6ypu+6gJ0nyhXVXTRwHENALGfFCC7s4lLPfZ8pwvuKCWv m9BB0oMPob23yrolcVowNZrH6tiqwlSKrOKo3WM+QZIhLx893m9CMaD2lAh7tGOa/5LqPVw33APS oV9vddwlbi6wwP9QWn6am/S2OdQFHtXHoQY1HhKR1AU3OQyyVyoipv2IPN9kK5Irs3mOaK+7AgMB AAGjggODMIIDfzAfBgNVHSMEGDAWgBR0hYDAZsffN97PvSk3qgMdvu3NFzAdBgNVHQ4EFgQUxKeR FGdhYW/tcSqXMNcfwL1fKJgwEgYDVR0RBAswCYIHem9vbS51czA+BgNVHSAENzA1MDMGBmeBDAEC AjApMCcGCCsGAQUFBwIBFhtodHRwOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwDgYDVR0PAQH/BAQD AgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjCBnwYDVR0fBIGXMIGUMEigRqBEhkJo dHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRHbG9iYWxHMlRMU1JTQVNIQTI1NjIwMjBD QTEtMS5jcmwwSKBGoESGQmh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbEcy VExTUlNBU0hBMjU2MjAyMENBMS0xLmNybDCBhwYIKwYBBQUHAQEEezB5MCQGCCsGAQUFBzABhhho dHRwOi8vb2NzcC5kaWdpY2VydC5jb20wUQYIKwYBBQUHMAKGRWh0dHA6Ly9jYWNlcnRzLmRpZ2lj ZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbEcyVExTUlNBU0hBMjU2MjAyMENBMS0xLmNydDAMBgNVHRMB Af8EAjAAMIIBfgYKKwYBBAHWeQIEAgSCAW4EggFqAWgAdQDXbX0Q0af1d8LH6V/XAL/5gskzWmXh 0LMBcxfAyMVpdwAAAZo7e1OEAAAEAwBGMEQCIH7aysmRxf1gfYG6PgTId6kFGryFYorBqynSOCfz A9zPAiBq0g3Y5C85N9X3izFwJcFcPqA3CQsctwZzh7+D7bvpVgB3AMIxfldFGaNF7n843rKQQevH wiFaIr9/1bWtdprZDlLNAAABmjt7UywAAAQDAEgwRgIhAOFn3neOmhGYDemVAVWOlLxVQ71flk9g mSHOdODdSy0IAiEAhwNs2k1/QjV2fi9kMosh4nKnGHHorWv7mBqVTP5SuYMAdgCUTkOH+uzB74Hz GSQmqBhlAcfTXzgCAT9yZ31VNy4Z2AAAAZo7e1NVAAAEAwBHMEUCIQDQdcSDy2Ph43DVNuODNQAF /ub0U4TIU+dcYZyGeMxeJgIgNEk8Ek8jn0Vbyl8iLcg+OqEIhpbfpzTZvC8I0mTceYIwDQYJKoZI hvcNAQELBQADggEBAIDXLj5H9xc8ohH0lq2S1A7Fpgqbkgub2ASnrJk0i+O/qPjMYaUCpk+k+Akp RfmoFFTeZrVnK8U62VcfJCqw21/Obg2CgSAZRd7QJU9bwmuQKIkMMCDqnyB9Od2aLFPWsFhlZDSU gnidfZ5V4UGV2iQ4lGkssk8k6+DpjAY68WiAn3xC1G9rqhXU+4Lm7QwoLE0pKvEfTPKIqCJHLjKh H/xkRUeciMRy+ZnRBvTWGG4uqW0btyAV05q12lT5VyBzLnAUwhkMq+GJ9qTDjdDKDeiJlDjcVTjD zY9Hs9La4VKI61O+UzHHalBXrvQmHafGW/TbadYjYBvc42Ar5/4CDQo=",
    "response_xml": "<?xmlversion=\"1.0\"encoding=\"UTF-8\"?><saml2p:ResponseDestination=\"https://[SP_ACS_URL]\"ID=\"[RESPONSE_ID]\"InResponseTo=\"[REQUEST_ID]\"IssueInstant=\"2026-08-11T10:28:15.408Z\"Version=\"2.0\"xmlns:saml2p=\"urn:oasis:names:tc:SAML:2.0:protocol\"><saml2:Issuerxmlns:saml2=\"urn:oasis:names:tc:SAML:2.0:assertion\">https://idp.zoom.us</saml2:Issuer><ds:Signaturexmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"></ds:Signature><saml2p:Status><saml2p:StatusCodeValue=\"urn:oasis:names:tc:SAML:2.0:status:Success\"/></saml2p:Status><saml2:AssertionID=\"[ASSERTION_ID]\"IssueInstant=\"2026-08-11T10:28:15.408Z\"Version=\"2.0\"xmlns:saml2=\"urn:oasis:names:tc:SAML:2.0:assertion\"><saml2:Subject><saml2:NameIDFormat=\"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress\">test@zoom.us</saml2:NameID><saml2:SubjectConfirmationMethod=\"urn:oasis:names:tc:SAML:2.0:cm:bearer\"><saml2:SubjectConfirmationDataNotOnOrAfter=\"2026-08-11T10:33:15.408Z\"Recipient=\"https://[SP_ACS_URL]\"/></saml2:SubjectConfirmation></saml2:Subject></saml2:Assertion></saml2p:Response>",
    "http_method": "POST"
  },
  "oidc": {
    "scopes": [
      "openid",
      "email",
      "profile"
    ],
    "id_token_header_json": "{\"alg\":\"RS256\",\"kid\":\"abc\"}",
    "id_token_payload_json": "{\"sub\":\"abc\",\"aud\":\"123\",\"email_verified\":true,\"iss\":\"https://idp.zoom.us/oidc/abc\",\"groups\":[\"Test Grp 1\",\"Test Grp 2\",\"Test Grp 3\"],\"exp\":1786602530,\"iat\":1786602230,\"nonce\":\"abc\",\"email\":\"test@zoom.us\"}",
    "user_info_json": "{\"sub\":\"123\",\"email\":\"test@zoom.us\",\"email_verified\":true,\"active\":\"true\"}"
  }
}
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `46006` <br> No SSO login log found for the given tracking ID. <br>

Get account SSO settings

  • Method: GET
  • Path: /sso/settings
  • Tags: Single Sign-On

Return account-level SSO settings (user_provisioning). Accessible even when SSO is disabled.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:settings:admin

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` <br> Account SSO settings.
Content-Type: application/json
  • user_provisioning

    string, possible values: "at_sign_in", "prior_to_sign_in" — Account-level SSO user provisioning.

Example:

{
  "user_provisioning": "at_sign_in"
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration: `SingleSignOn:Read`.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Update account SSO settings

  • Method: PATCH
  • Path: /sso/settings
  • Tags: Single Sign-On

Update account-level SSO settings (user_provisioning).

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:update:settings:admin

Rate Limit Label: LIGHT

Request Body

Content-Type: application/json
  • user_provisioning

    string, possible values: "at_sign_in", "prior_to_sign_in" — Account-level SSO user provisioning.

Example:

{
  "user_provisioning": "at_sign_in"
}

Responses

Status: 200 **HTTP Status Code:** `200` <br> Updated account SSO settings.
Content-Type: application/json
  • user_provisioning

    string, possible values: "at_sign_in", "prior_to_sign_in" — Account-level SSO user provisioning.

Example:

{
  "user_provisioning": "at_sign_in"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `45002` <br> The "user_provisioning" of the request is invalid. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration: `SingleSignOn:Edit`.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get account SSO status

  • Method: GET
  • Path: /sso/status
  • Tags: Single Sign-On

Return whether account SSO is enabled. Accessible even when SSO is disabled.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:read:status:admin

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` <br> Account SSO status.
Content-Type: application/json
  • sso_enabled

    boolean — Whether account SSO is enabled.

Example:

{
  "sso_enabled": true
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration: `SingleSignOn:Read`.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Enable or disable account SSO

  • Method: PATCH
  • Path: /sso/status
  • Tags: Single Sign-On

Update the account-level SSO status. Use sso_enabled=true to enable or false to disable.

[Scopes(/docs/integrations/oauth-scopes-overview/): sso:write:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): sso:update:status:admin

Rate Limit Label: LIGHT

Request Body

Content-Type: application/json
  • sso_enabled (required)

    boolean — Whether account SSO should be enabled.

Example:

{
  "sso_enabled": true
}

Responses

Status: 200 **HTTP Status Code:** `200` The account SSO status.
Content-Type: application/json
  • sso_enabled (required)

    boolean — Whether account SSO is enabled.

Example:

{
  "sso_enabled": true
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `45002` <br> The "sso_enabled" of the request is invalid. <br> **Error Code:** `45701` <br> SSO cannot be enabled: the account does not support SSO or is not license-eligible. <br> **Error Code:** `45702` <br> SSO cannot be disabled because no non-SSO sign-in method is enabled for this account. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Invalid access token.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Insufficient permission to manage SSO configuration: `SingleSignOn:Edit`.
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `45704` <br> SSO is already enabled for this account. <br> **Error Code:** `45705` <br> SSO is already disabled for this account. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Get surveys

  • Method: GET
  • Path: /surveys
  • Tags: Survey Management

Queries all surveys in the current account.

[Scopes(/docs/integrations/oauth-scopes-overview/): survey:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): survey_management:read:list_surveys:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` The surveys of current account returned.
Content-Type: application/json
  • next_page_token

    string — Use the next page token to paginates through a large set of results. A next page token returns whenever the set of available results exceeds the current page size. This token's expiration period is 15 minutes.

  • surveys

    array — The survey list of the current account.

    Items:

    • survey_id

      string — The UUID of survey.

    • survey_name

      string — The name of survey.

    • survey_type

      string, possible values: "basic_poll", "advanced_poll", "quiz", "survey", "consumer_engagement_survey" — The type of survey. - `basic_poll` -- Basic Poll (requires the `Survey:Read` permission). - `advanced_poll` -- Advanced Poll (requires the `Survey:Read` permission). - `quiz` -- Quiz (requires the `Survey:Read` permission). - `survey` -- Survey (requires the `Survey:Read` permission). - `consumer_engagement_survey` -- Consumer Engagement Survey (requires the `EngagementSurvey:Read` permission).

Example:

{
  "surveys": [
    {
      "survey_id": "4444AAAiAAAAAiAiAiiAii==",
      "survey_name": "The survey of meeting",
      "survey_type": "survey"
    }
  ],
  "next_page_token": "IAfJX3jsOLW7w3dokmFl84zOa0MAVGyMEB2"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `300` <br> The next page token is invalid or expired. <br> **Error Code:** `200` <br> No permission. <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `6720` <br> You don't have the permissions to access survey. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List channel survey instances

  • Method: GET
  • Path: /surveys/channels/{channelId}/instances
  • Tags: Survey Management

Query the channel survey instances based on channelId.

The same survey can be used multiple times, each use constituting a separate instance. This API endpoint returns the historical information of each survey instance for each channel.

[Scopes(/docs/integrations/oauth-scopes-overview/): survey:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): survey_management:read:list_survey_instances:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 HTTP Status Code: 200 Survey instances returned.
Content-Type: application/json
  • next_page_token

    string — Use the next page token to paginate through large result sets. A next page token is returned whenever the set of available results exceeds the current page size. This token's expiration period is 15 minutes.

  • survey_instances

    array — The instances used the survey.

    Items:

    • anonymous

      boolean — The survey instance is anonymous or non-anonymous.

    • has_response

      boolean — Attendee has a response or not.

    • instance_id

      string — The UUID of an instance.For meeting surveys, this field is also meeting_uuid.

    • instance_name

      string — The name of an instance.

    • survey_id

      string — The UUID of survey.

    • survey_name

      string — The name of survey.

    • survey_questions

      array — The survey's question list.

      Items:

      • options

        array — The options of a question. For example, there are four options in a **Single choice** question, and option is used to represent each of the options.

        Items:

        • option_id

          string — The UUID of option.

        • option_label

          string — Only **Rating scale** question has this field to describe the score.

        • option_order

          integer — The order of option.

        • option_value

          string — The value of option.

      • question_id

        string — The UUID of question.

      • question_name

        string — The question of survey.

      • question_order

        integer — The order of question.

      • question_type

        string, possible values: "single", "multiple", "matching", "rank_order", "short_answer", "long_answer", "fill_in_the_blank", "rating_scale" — The type of question. - `single` -- Single choice. - `multiple` -- Multiple choice. - `matching` -- Matching. - `rank_order` -- Rank order. - `short_answer` -- Short answer. - `long_answer` -- Long answer. - `fill_in_the_blank` -- Fill in the blank. - `rating_scale` -- Rating scale.

      • required

        boolean — The question is required to answer or not.

      • sub_questions

        array — Only **Matching/Rank order** question has sub questions.

        Items:

        • sub_question_id

          string — The UUID of sub question.

        • sub_question_name

          string — The sub question in a question.

        • sub_question_order

          integer — The order of sub question.

    • survey_type

      string, possible values: "basic_poll", "advanced_poll", "quiz", "survey", "consumer_engagement_survey" — The type of survey. - `basic_poll` -- Basic Poll (requires the `Survey:Read` permission). - `advanced_poll` -- Advanced Poll (requires the `Survey:Read` permission). - `quiz` -- Quiz (requires the `Survey:Read` permission). - `survey` -- Survey (requires the `Survey:Read` permission). - `consumer_engagement_survey` -- Consumer Engagement Survey (requires the `EngagementSurvey:Read` permission).

Example:

{
  "survey_instances": [
    {
      "instance_name": "It's Steve's meeting ",
      "instance_id": "iOTQZPmhTUq5a232ETb9eg==",
      "has_response": true,
      "survey_id": "WN3chY9bTjOQkbqnSIIhyg",
      "survey_name": "Survey of this meeting",
      "survey_type": "survey",
      "anonymous": true,
      "survey_questions": [
        {
          "question_name": "How are you?",
          "question_id": "798fGJEWrA",
          "question_order": 1,
          "question_type": "single",
          "required": true,
          "sub_questions": [
            {
              "sub_question_name": "Good",
              "sub_question_id": "Sx3chY9bYhsdkbqnqwesdf",
              "sub_question_order": 1
            }
          ],
          "options": [
            {
              "option_id": "HGsx45GsefchY9bYhsdkbq",
              "option_value": "Extremely Likely",
              "option_label": "5",
              "option_order": 1
            }
          ]
        }
      ]
    }
  ],
  "next_page_token": "eyJsYXN0X2Jsb2NrX2lkIjoiOGQwYWQ4ZTEzMGUxNGQ0NGFkYWU0Zjc4MzAzZmM2Y2MifQ=="
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `6701` <br> Invalid parameter survey id <br> **Error Code:** `300` <br> The next page token is invalid or expired. <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `6720` <br> You don't have the permissions to access survey. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `4130` <br> Channel does not exist: $channelId. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

Get survey info

  • Method: GET
  • Path: /surveys/{surveyId}
  • Tags: Survey Management

Queries the latest version of survey information from surveyId.

[Scopes(/docs/integrations/oauth-scopes-overview/): survey:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): survey_management:read:survey:admin

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` Survey info returned.
Content-Type: application/json
  • anonymous

    boolean — The survey is anonymous or non-anonymous.

  • published

    boolean — The survey is published or closed.

  • survey_id

    string — The UUID of survey.

  • survey_name

    string — The name of survey.

  • survey_questions

    array — The survey's question list.

    Items:

    • options

      array — The options of a question. For example, there are four options in a **Single choice** question, and option is used to represent each of the options.

      Items:

      • option_id

        string — The UUID of option.

      • option_label

        string — Only **Rating scale** question has this field to describe the score.

      • option_order

        integer — The order of option.

      • option_value

        string — The value of option.

    • question_id

      string — The UUID of question.

    • question_name

      string — The question of survey.

    • question_order

      integer — The order of question.

    • question_type

      string, possible values: "single", "multiple", "matching", "rank_order", "short_answer", "long_answer", "fill_in_the_blank", "rating_scale" — The type of question. - `single` -- Single choice. - `multiple` -- Multiple choice. - `matching` -- Matching. - `rank_order` -- Rank order. - `short_answer` -- Short answer. - `long_answer` -- Long answer. - `fill_in_the_blank` -- Fill in the blank. - `rating_scale` -- Rating scale.

    • required

      boolean — The required question to answer or not.

    • sub_questions

      array — Only **Matching/Rank order** question has sub questions.

      Items:

      • sub_question_id

        string — The UUID of sub question.

      • sub_question_name

        string — The sub question in a question.

      • sub_question_order

        integer — The order of sub question.

  • survey_type

    string, possible values: "basic_poll", "advanced_poll", "quiz", "survey", "consumer_engagement_survey" — The type of survey. - `basic_poll` -- Basic Poll (requires the `Survey:Read` permission). - `advanced_poll` -- Advanced Poll (requires the `Survey:Read` permission). - `quiz` -- Quiz (requires the `Survey:Read` permission). - `survey` -- Survey (requires the `Survey:Read` permission). - `consumer_engagement_survey` -- Consumer Engagement Survey (requires the `EngagementSurvey:Read` permission).

Example:

{
  "survey_id": "WN3chY9bTjOQkbqnSIIhyg",
  "survey_name": "Survey of this meeting",
  "survey_type": "survey",
  "published": true,
  "anonymous": false,
  "survey_questions": [
    {
      "question_name": "How are you?",
      "question_id": "798fGJEWrA",
      "question_order": 1,
      "question_type": "single",
      "required": true,
      "sub_questions": [
        {
          "sub_question_name": "Good",
          "sub_question_id": "Sx3chY9bYhsdkbqnqwesdf",
          "sub_question_order": 1
        }
      ],
      "options": [
        {
          "option_id": "HGsx45GsefchY9bYhsdkbq",
          "option_value": "Extremely Likely",
          "option_label": "5",
          "option_order": 1
        }
      ]
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `200` <br> No permission. <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `6720` <br> You don't have the permissions to access survey. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `6701` <br> Invalid parameter survey id. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get survey answers

  • Method: GET
  • Path: /surveys/{surveyId}/answers
  • Tags: Survey Management

Queries the answers of survey from surveyId.

You can use the same survey cmultiple times in different products(Meeting/Webinar/Team Chat/Contact Center).

We call it an instance each time we use it.

This API returns the historical answers of each survey instance.

[Scopes(/docs/integrations/oauth-scopes-overview/): survey:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): survey_management:read:list_survey_answers:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` Survey answers returned.
Content-Type: application/json
  • next_page_token

    string — The next page token paginates through a large set of results. It returns whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.

  • survey_answers

    array — The user's answers of the survey, include user infos and answers.

    Items:

    • anonymous

      boolean — Whether the answer is anonymous or not.

    • email

      string — Participant's email. If the survey is anonymous, the `email` field will contain an `Empty` string.

    • instance_id

      string — The UUID of an instance.For meeting surveys, this field is also meeting_uuid.

    • name

      string — Participant's display name. If the survey is anonymous, the value of the `name` field will be `Empty` string.

    • questions

      array — The user's answers of the survey.

      Items:

      • question_answers

        array — The answer of a question. It is represented by an array. For exaples: - If it is a multiple choice question, the option id is the selected option. - If there are three blanks in a fill-in-the-blank question and the user fills in the first and third blanks, then there are two values in the array, and the option_id represents which space it is, and the answer is the user's input.

        Items:

        • answer

          string — The user's submitted content.

        • option_id

          string — The UUID of option.

      • question_id

        string — The UUID of question.

      • sub_questions

        array — The answer of the sub question. Only **Matching/Rank order** question has sub questions.

        Items:

        • sub_question_answers

          array — The answer of a sub question. It is represented by an array. For exaple: - If it is a Matching question, the option id is the selected option of a sub question.

          Items:

          • answer

            string — The user's submitted content.

          • option_id

            string — The UUID of option of a sub question.

        • sub_question_id

          string — The UUID of sub question.

    • submit_time

      string — The answer submission time in UTC.

Example:

{
  "survey_answers": [
    {
      "email": "jchilll@example.com",
      "name": "Jill Chill",
      "instance_id": "iOTQZPmhTUq5a232ETb9eg==",
      "submit_time": "2024-02-01T12:34:12.66Z",
      "anonymous": false,
      "questions": [
        {
          "question_id": "798fGJEWrA",
          "question_answers": [
            {
              "option_id": "HGsx45GsefchY9bYhsdkbq",
              "answer": "abcde"
            }
          ],
          "sub_questions": [
            {
              "sub_question_id": "Sx3chY9bYhsdkbqnqwesdf",
              "sub_question_answers": [
                {
                  "option_id": "HGsx45GsefchY9bYhsdkbq",
                  "answer": "abc"
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "next_page_token": "WN3chY9bTjOQkbqnSIIhyg"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `6703` <br> Invalid parameter survey instance id. <br> **Error Code:** `300` <br> The next page token is invalid or expired. <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `6720` <br> You don't have the permissions to access survey. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `6701` <br> Invalid parameter survey id. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

Get survey instances

  • Method: GET
  • Path: /surveys/{surveyId}/instances
  • Tags: Survey Management

Query the instances which used the survey, based on surveyId. The same survey can be used multiple times in different products(meeting/webinar/team chat/contact center). Each time it is used, we call it an instance. This API is used to return the historical information of each survey instance.

[Scopes(/docs/integrations/oauth-scopes-overview/): survey:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): survey_management:read:list_survey_instances:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` Survey instances returned.
Content-Type: application/json
  • next_page_token

    string — Use the next page token to paginate through large result sets. A next page token is returned whenever the set of available results exceeds the current page size. This token's expiration period is 15 minutes.

  • survey_instances

    array — The instances used the survey.

    Items:

    • anonymous

      boolean — The survey instance is anonymous or non-anonymous.

    • has_response

      boolean — Attendee has a response or not.

    • instance_id

      string — The UUID of an instance.For meeting surveys, this field is also meeting_uuid.

    • instance_name

      string — The name of an instance.

    • meeting_id

      string — Meeting ID: Unique identifier of the meeting in "long" format(represented as string data type in JSON), also known as the meeting number.This field is only returned for meeting surveys.

    • product_type

      string, possible values: "meeting", "webinar", "contact_center", "survey_public_link", "team_chat", "vitual_agent" — The product used this survey. - `meeting` -- Meeting (requires `Survey:Read` permission). - `webinar` -- Webinar (requires `Survey:Read` permission). - `survey_public_link` -- Survey Public Link (requires `Survey:Read` permission). - `team_chat` -- Team Chat (requires `Survey:Read` permission). - `contact_center` -- Zoom Contact Center (requires `EngagementSurvey:Read` permission). - `vitual_agent` -- Zoom Vitual Agent (requires `EngagementSurvey:Read` permission).

    • survey_id

      string — The UUID of survey.

    • survey_name

      string — The name of survey.

    • survey_questions

      array — The survey's question list.

      Items:

      • options

        array — The options of a question. For example, there are four options in a **Single choice** question, and option is used to represent each of the options.

        Items:

        • option_id

          string — The UUID of option.

        • option_label

          string — Only **Rating scale** question has this field to describe the score.

        • option_order

          integer — The order of option.

        • option_value

          string — The value of option.

      • question_id

        string — The UUID of question.

      • question_name

        string — The question of survey.

      • question_order

        integer — The order of question.

      • question_type

        string, possible values: "single", "multiple", "matching", "rank_order", "short_answer", "long_answer", "fill_in_the_blank", "rating_scale" — The type of question. - `single` -- Single choice. - `multiple` -- Multiple choice. - `matching` -- Matching. - `rank_order` -- Rank order. - `short_answer` -- Short answer. - `long_answer` -- Long answer. - `fill_in_the_blank` -- Fill in the blank. - `rating_scale` -- Rating scale.

      • required

        boolean — The question is required to answer or not.

      • sub_questions

        array — Only **Matching/Rank order** question has sub questions.

        Items:

        • sub_question_id

          string — The UUID of sub question.

        • sub_question_name

          string — The sub question in a question.

        • sub_question_order

          integer — The order of sub question.

    • survey_type

      string, possible values: "basic_poll", "advanced_poll", "quiz", "survey", "consumer_engagement_survey" — The type of survey. - `basic_poll` -- Basic Poll (requires the `Survey:Read` permission). - `advanced_poll` -- Advanced Poll (requires the `Survey:Read` permission). - `quiz` -- Quiz (requires the `Survey:Read` permission). - `survey` -- Survey (requires the `Survey:Read` permission). - `consumer_engagement_survey` -- Consumer Engagement Survey (requires the `EngagementSurvey:Read` permission).

Example:

{
  "survey_instances": [
    {
      "instance_name": "It's Steve's meeting ",
      "instance_id": "iOTQZPmhTUq5a232ETb9eg==",
      "product_type": "meeting",
      "has_response": true,
      "survey_id": "WN3chY9bTjOQkbqnSIIhyg",
      "survey_name": "Survey of this meeting",
      "survey_type": "survey",
      "anonymous": true,
      "survey_questions": [
        {
          "question_name": "How are you?",
          "question_id": "798fGJEWrA",
          "question_order": 1,
          "question_type": "single",
          "required": true,
          "sub_questions": [
            {
              "sub_question_name": "Good",
              "sub_question_id": "Sx3chY9bYhsdkbqnqwesdf",
              "sub_question_order": 1
            }
          ],
          "options": [
            {
              "option_id": "HGsx45GsefchY9bYhsdkbq",
              "option_value": "Extremely Likely",
              "option_label": "5",
              "option_order": 1
            }
          ]
        }
      ],
      "meeting_id": "575734086"
    }
  ],
  "next_page_token": "IAfJX3jsOLW7w3dokmFl84zOa0MAVGyMEB2"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `6703` <br> Invalid parameter survey instance id. <br> **Error Code:** `300` <br> The next page token is invalid or expired. <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `6720` <br> You don't have the permissions to access survey. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `6701` <br> Invalid parameter survey id. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).