NAV Navbar
API Reference

Introduction

The Zoom API provides the ability for developers to easily add Video, Voice and Screen Sharing to your application. Our API is a server side implementation designed around REST, it does not support cross-origin resource sharing or access via a client side web application.

The Zoom API helps manage the pre-meeting experience such as creating, editing and deleting resources like users, meetings and webinars. It also provides access to post-meeting information for tasks such as reporting and analytics. It does not provide access to the in-meeting experience such as current attendee list, who is current speaker or ability to mute participants; if you seek these features please have a look at our SDKs.

If you are looking to test our v2 APIs using POSTMAN, please check out our recent blog post version 2 API with postman

Endpoint

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

The Zoom API endpoint is pretty straight forward. We require that you send all requests via https, requests sent to http will receive a 302 HTTP response code. The base URL is api.zoom.us followed by the version number of the API, currently at version 2.

Webhooks

Webhooks can be used as notifications to keep your systems in sync with actions inside Zoom. Find more information about webhooks on the Developer Portal

Authentication

Zoom API version 2 implements JSON Web Tokens (JWT) for authentication. It is recommended you use one of the existing JWT libraries to generate the token.

You can pass the token to the API either in the HTTP Authorization Header using ‘Bearer’ or via Query Parameter in your API call as ‘access_token’.

Header

Authorization: Bearer <token>

Query Parameter

<api_path>?access_token=<token>

Generating Token

You can find more details and specifics about JWT at jwt.io, below is and example of the minimum properties needed for the Zoom API.

{
    "alg": "HS256",
    "typ": "JWT"
}

alg refers to the algorithm being used, Zoom API uses HMAC SHA256 (HS256 for short)

typ refers to the type of token, always JWT

Payload

{
    "iss": "API_KEY",
    "exp": 1496091964000
}

iss is the issuer of the token, this is your Zoom API Key

exp is the expiration timestamp of the token. It is recommended to use one of the JWT libraries to generate your tokens and to set this timestamp for a short period (like seconds), that way if someone intercepts your token it won’t be valid for very long.

Signature

Algorithm

HMACSHA256(
    base64UrlEncode(header) + "." +
    base64UrlEncode(payload),
    api_secret)

Node.js Library example

var jwt = require('jsonwebtoken');

var payload = {
    iss: api_key,
    exp: ((new Date()).getTime() + 5000)
};

//Automatically creates header, and returns JWT
var token = jwt.sign(payload, api_secret);

To the right you’ll find an example algorithm for generating a signature, again highly recommend using a library to do this for you

Example

The example below is written in PHP and utilizes the Firebase JWT Library installed via Composer. However the concept and idea can be ported to any language and workflow and you can find libraries for your specific language on jwt.io

The key thing to understand is that the JWT token isn’t static, and that it is generated each time you make a request. This makes it unique and more secure; if somehow your token is intercepted it won’t be good for long (as in this example 60 seconds)

Errors

The Zoom API uses HTTP Status codes to reflect a successful or error requests. 2XX status codes represent a successful request, 4XX/5XX status codes represent an error took place. If you receive an error HTTP status code, check the body for an error code and message.

Error response example

{
    "code" : 300,
    "message" : "Request Body should be a valid JSON object."
}

Error response when sending invalid fields

{
    "code": 300,
    "message": "Validation Failed.",
    "errors": [
        {
            "field": "user_info.email",
            "message": "Invalid field."
        },
        {
            "field": "user_info.type",
            "message": "Invalid field."
        }
    ]
}
Status Code Description Most Likely Cause
2XX Successful Request  
400 Bad Request Invalid/missing data
401 Unauthorized Invalid/missing credentials
404 Not Found The resource dosen’t exists, ex. invalid/non-existent user id
409 Conflict Trying to overwrite a resource, ex. when creating a user with an email that already exists
429 Too Many Requests Hit an API rate limit

Rate Limits

To preserve the integrity and reliability of the platform our APIs have the following rate limits.

All API Endpoints

You can run a max of ten requests per second (10 requests/second) unless otherwise noted below.

Billing APIs

You can run a max of one request per second (1 request/second) on the following:

Report & Metric APIs

You can run a max of one request per second (1 request/second) and a max of two thousand request per day (2000 requests/day) on the following:

Furthermore, you can run a max of one request per minute (1 request/minute) on the following:

Core Resources

Accounts

The Account object

The account object represents an account on zoom. The person who created the account, or who the account was created for, is referred to as the account owner. You can read more about the Zoom account structure here.

{
    "first_name": "string",
    "last_name": "string",
    "email": "string",
    "password": "string",
    "options": {
        "share_rc": "boolean",
        "room_connectors": "string",
        "share_mc": "boolean",
        "meeting_connectors": "string",
        "pay_mode": "string"
    }
}
Property Description
first_name string User’s first name
last_name string User’s last name
email string User’s email address
password string User’s password
options.share_rc boolean Enable Share Virtual Room Connector
options.room_connectors string Virtual Room Connector, multiple value separated by comma
options.share_mc boolean Enable Share Meeting Connector
options.meeting_connectors string Meeting Connector, multiple values separated by comma
options.pay_mode string Payee
master Master account holder pays
sub Sub account holder pays

List sub accounts

List all the sub accounts under the master account

Definition

GET https://api.zoom.us/v2/accounts

Example Request

$ curl https://api.zoom.us/v2/accounts

Example Response

200 OK
{
    "page_count": "integer",
    "page_number": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "accounts": [
        {
            "id": "string [uuid]",
            "account_name": "string",
            "owner_email": "string",
            "account_type": "string",
            "seats": "integer",
            "subscription_start_time": "string [date-time]",
            "subscription_end_time": "string [date-time]",
            "created_at": "string [date-time]"
        }
    ]
}
Query Arguments  
page_size optional
30
300
The number of records returned within a single API call
page_number optional
1
Current page number of returned records

Create a sub account

Create a sub account under the master account.

.

Definition

POST https://api.zoom.us/v2/accounts

Example Request

$ curl https://api.zoom.us/v2/accounts \
   -d '{
    "first_name": "string",
    "last_name": "string",
    "email": "string",
    "password": "string",
    "options": {
        "share_rc": "boolean",
        "room_connectors": "string",
        "share_mc": "boolean",
        "meeting_connectors": "string",
        "pay_mode": "string"
    }
}'

Example Response

201 Created
{
    "id": "string",
    "owner_id": "string",
    "owner_email": "string",
    "created_at": "string"
}
Body Arguments  
first_name required User’s first name
last_name required User’s last name
email required User’s email address
password required User’s password
options.share_rc optional
false
Enable Share Virtual Room Connector
options.room_connectors optional Virtual Room Connector, multiple value separated by comma
options.share_mc optional
false
Enable Share Meeting Connector
options.meeting_connectors optional Meeting Connector, multiple values separated by comma
options.pay_mode optional
master
Payee
master Master account holder pays
sub Sub account holder pays

Retrieve a sub account

Retrieve a sub account under the master account.

.

Definition

GET https://api.zoom.us/v2/accounts/{accountId}

Example Request

$ curl https://api.zoom.us/v2/accounts/{accountId}

Example Response

200 OK
{
    "id": "string",
    "owner_id": "string",
    "owner_email": "string",
    "created_at": "string [date-time]",
    "options": {
        "share_rc": "boolean",
        "room_connectors": "string",
        "share_mc": "boolean",
        "meeting_connectors": "string",
        "pay_mode": "string"
    }
}
Path Arguments  
accountId required The account ID

Disassociate an account

Disassociate a sub account from the master account. This will leave the account intact but the sub account will not longer be associated with the master account.

Definition

DELETE https://api.zoom.us/v2/accounts/{accountId}

Example Request

$ curl https://api.zoom.us/v2/accounts/{accountId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
accountId required The account ID

Update a sub account’s options

Update a sub account’s options under the master account

Definition

PATCH https://api.zoom.us/v2/accounts/{accountId}/options

Example Request

$ curl https://api.zoom.us/v2/accounts/{accountId}/options \
   -d '{
    "share_rc": "boolean",
    "room_connectors": "string",
    "share_mc": "boolean",
    "meeting_connectors": "string",
    "pay_mode": "string"
}'

Example Response

204 No Content
Path Arguments  
accountId required The account ID
Body Arguments  
share_rc optional
false
Enable Share Virtual Room Connector
room_connectors optional Virtual Room Connector, multiple value separated by comma
share_mc optional
false
Enable Share Meeting Connector
meeting_connectors optional Meeting Connector, multiple values separated by comma
pay_mode optional
master
Payee
master Master account holder pays
sub Sub account holder pays

Retrieve a sub account’s settings

Retrieve a sub account’s settings under the master account

Definition

GET https://api.zoom.us/v2/accounts/{accountId}/settings

Example Request

$ curl https://api.zoom.us/v2/accounts/{accountId}/settings

Example Response

200 OK
{
    "schedule_meting": {
        "host_video": "boolean",
        "participant_video": "boolean",
        "audio_type": "string",
        "join_before_host": "boolean",
        "enforce_login": "boolean",
        "enforce_login_with_domains": "boolean",
        "enforce_login_domains": "string",
        "not_store_meeting_topic": "boolean",
        "force_pmi_jbh_password": "boolean"
    },
    "in_meeting": {
        "e2e_encryption": "boolean",
        "chat": "boolean",
        "private_chat": "boolean",
        "auto_saving_chat": "boolean",
        "file_transfer": "boolean",
        "feedback": "boolean",
        "post_meeting_feedback": "boolean",
        "co_host": "boolean",
        "polling": "boolean",
        "attendee_on_hold": "boolean",
        "show_meeting_control_toolbar": "boolean",
        "allow_show_zoom_windows": "boolean",
        "annotation": "boolean",
        "whiteboard": "boolean",
        "webinar_question_answer": "boolean",
        "anonymous_question_answer": "boolean",
        "breakout_room": "boolean",
        "closed_caption": "boolean",
        "far_end_camera_control": "boolean",
        "group_hd": "boolean",
        "virtual_background": "boolean",
        "watermark": "boolean",
        "alert_guest_join": "boolean",
        "auto_answer": "boolean",
        "p2p_connetion": "boolean",
        "p2p_ports": "boolean",
        "ports_range": "string",
        "sending_default_email_invites": "boolean",
        "use_html_format_email": "boolean",
        "dscp_marking": "boolean",
        "dscp_audio": "integer",
        "dscp_video": "integer",
        "stereo_audio": "boolean",
        "original_audio": "boolean",
        "screen_sharing": "boolean",
        "remote_control": "boolean",
        "attention_tracking": "boolean"
    },
    "email_notification": {
        "cloud_recording_avaliable_reminder": "boolean",
        "jbh_reminder": "boolean",
        "cancel_meeting_reminder": "boolean",
        "low_host_count_reminder": "boolean",
        "alternative_host_reminder": "boolean"
    },
    "zoom_rooms": {
        "upcoming_meeting_alert": "boolean",
        "start_airplay_manually": "boolean",
        "weekly_system_restart": "boolean",
        "list_meetings_with_calendar": "boolean",
        "zr_post_meeting_feedback": "boolean",
        "ultrasonic": "boolean",
        "force_private_meeting": "boolean",
        "hide_host_information": "boolean",
        "cmr_for_instant_meeting": "boolean",
        "auto_start_stop_scheduled_meetings": "boolean"
    },
    "security": {
        "admin_change_name_pic": "boolean",
        "import_photos_from_devices": "boolean",
        "hide_billing_info": "boolean"
    },
    "recording": {
        "local_recording": "boolean",
        "cloud_recording": "boolean",
        "record_speaker_view": "boolean",
        "record_gallery_view": "boolean",
        "record_audio_file": "boolean",
        "save_chat_text": "boolean",
        "show_timestamp": "boolean",
        "recording_audio_transcript": "boolean",
        "auto_recording": "string",
        "cloud_recording_download": "boolean",
        "cloud_recording_download_host": "boolean",
        "account_user_access_recording": "boolean",
        "auto_delete_cmr": "boolean",
        "auto_delete_cmr_days": "integer"
    },
    "telephony": {
        "third_party_audio": "boolean",
        "audio_conference_info": "string"
    },
    "integration": {
        "google_calendar": "boolean",
        "google_drive": "boolean",
        "dropbox": "boolean",
        "box": "boolean",
        "microsoft_one_drive": "boolean",
        "kubi": "boolean"
    },
    "feature": {
        "meeting_capacity": "integer"
    }
}
Path Arguments  
accountId required The account ID

Update a sub account’s settings

Update a sub account’s settings under the master account

Definition

PATCH https://api.zoom.us/v2/accounts/{accountId}/settings

Example Request

$ curl https://api.zoom.us/v2/accounts/{accountId}/settings \
   -d '{
    "schedule_meting": {
        "host_video": "boolean",
        "participant_video": "boolean",
        "audio_type": "string",
        "join_before_host": "boolean",
        "enforce_login": "boolean",
        "enforce_login_with_domains": "boolean",
        "enforce_login_domains": "string",
        "not_store_meeting_topic": "boolean",
        "force_pmi_jbh_password": "boolean"
    },
    "in_meeting": {
        "e2e_encryption": "boolean",
        "chat": "boolean",
        "private_chat": "boolean",
        "auto_saving_chat": "boolean",
        "file_transfer": "boolean",
        "feedback": "boolean",
        "post_meeting_feedback": "boolean",
        "co_host": "boolean",
        "polling": "boolean",
        "attendee_on_hold": "boolean",
        "show_meeting_control_toolbar": "boolean",
        "allow_show_zoom_windows": "boolean",
        "annotation": "boolean",
        "whiteboard": "boolean",
        "webinar_question_answer": "boolean",
        "anonymous_question_answer": "boolean",
        "breakout_room": "boolean",
        "closed_caption": "boolean",
        "far_end_camera_control": "boolean",
        "group_hd": "boolean",
        "virtual_background": "boolean",
        "watermark": "boolean",
        "alert_guest_join": "boolean",
        "auto_answer": "boolean",
        "p2p_connetion": "boolean",
        "p2p_ports": "boolean",
        "ports_range": "string",
        "sending_default_email_invites": "boolean",
        "use_html_format_email": "boolean",
        "dscp_marking": "boolean",
        "dscp_audio": "integer",
        "dscp_video": "integer",
        "stereo_audio": "boolean",
        "original_audio": "boolean",
        "screen_sharing": "boolean",
        "remote_control": "boolean",
        "attention_tracking": "boolean"
    },
    "email_notification": {
        "cloud_recording_avaliable_reminder": "boolean",
        "jbh_reminder": "boolean",
        "cancel_meeting_reminder": "boolean",
        "low_host_count_reminder": "boolean",
        "alternative_host_reminder": "boolean"
    },
    "zoom_rooms": {
        "upcoming_meeting_alert": "boolean",
        "start_airplay_manually": "boolean",
        "weekly_system_restart": "boolean",
        "list_meetings_with_calendar": "boolean",
        "zr_post_meeting_feedback": "boolean",
        "ultrasonic": "boolean",
        "force_private_meeting": "boolean",
        "hide_host_information": "boolean",
        "cmr_for_instant_meeting": "boolean",
        "auto_start_stop_scheduled_meetings": "boolean"
    },
    "security": {
        "admin_change_name_pic": "boolean",
        "import_photos_from_devices": "boolean",
        "hide_billing_info": "boolean"
    },
    "recording": {
        "local_recording": "boolean",
        "cloud_recording": "boolean",
        "record_speaker_view": "boolean",
        "record_gallery_view": "boolean",
        "record_audio_file": "boolean",
        "save_chat_text": "boolean",
        "show_timestamp": "boolean",
        "recording_audio_transcript": "boolean",
        "auto_recording": "string",
        "cloud_recording_download": "boolean",
        "cloud_recording_download_host": "boolean",
        "account_user_access_recording": "boolean",
        "auto_delete_cmr": "boolean",
        "auto_delete_cmr_days": "integer"
    },
    "telephony": {
        "third_party_audio": "boolean",
        "audio_conference_info": "string"
    },
    "integration": {
        "google_calendar": "boolean",
        "google_drive": "boolean",
        "dropbox": "boolean",
        "box": "boolean",
        "microsoft_one_drive": "boolean",
        "kubi": "boolean"
    },
    "feature": {
        "meeting_capacity": "integer"
    }
}'

Example Response

204 No Content
Path Arguments  
accountId required The account ID
Body Arguments  
schedule_meting.host_video optional Start meetings with host video on
schedule_meting.participant_video optional Start meetings with participant video on. Participants can change this during the meeting.
schedule_meting.audio_type optional
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
schedule_meting.join_before_host optional Allow participants to join the meeting before the host arrives
schedule_meting.enforce_login optional Only signed-in (Zoom users) users can join meetings
schedule_meting.enforce_login_with_domains optional Only signed-in users with a specific domain can join meetings
schedule_meting.enforce_login_domains optional Only signed-in users with a specified domains
schedule_meting.not_store_meeting_topic optional Always display “Zoom Meeting” as the meeting topic
schedule_meting.force_pmi_jbh_password optional Require a password for Personal Meetings if attendees can join before host
in_meeting.e2e_encryption optional Require that all meetings are encrypted using AES
in_meeting.chat optional Allow meeting participants to send a message visible to all participants
in_meeting.private_chat optional Allow meeting participants to send a private 1:1 message to another participants
in_meeting.auto_saving_chat optional Automatically save all in-meeting chats so that hosts do not need to manually save the text of the chat after the meeting starts
in_meeting.file_transfer optional Hosts and participants can send files through the in-meeting chat
in_meeting.feedback optional Add a Feedback tab to the Windows Settings or Mac Preferences dialog, and also enable users to provide feedback to Zoom at the end of the meeting
in_meeting.post_meeting_feedback optional Display a thumbs up/down survey at the end of each meeting
in_meeting.co_host optional Allow the host to add co-hosts
in_meeting.polling optional Add ‘Polls’ to the meeting controls.
in_meeting.attendee_on_hold optional Allow hosts to temporarily remove an attendee from the meeting
in_meeting.show_meeting_control_toolbar optional Always show meeting control toolbar
in_meeting.allow_show_zoom_windows optional Show Zoom Desktop application when sharing screen
in_meeting.annotation optional Allow participants to use annotation tools to add information to shared screens
in_meeting.whiteboard optional Allow participants to share a whiteboard that includes annotation tools
in_meeting.webinar_question_answer optional Q&A in webinar
in_meeting.anonymous_question_answer optional Allow Anonymous Q&A in Webinar
in_meeting.breakout_room optional Allow host to split meeting participants into separate, smaller rooms
in_meeting.closed_caption optional Allow host to type closed captions or assign a participant/third party device to add closed captions
in_meeting.far_end_camera_control optional Allow another user to take control of your camera during a meeting
in_meeting.group_hd optional Activate higher quality video for host and participants. (This will use more bandwidth.)
in_meeting.virtual_background optional Allow users to replace their background with any selected image. Choose or upload an image in the Zoom Desktop application settings.
in_meeting.watermark optional Add watermark when viewing shared screen
in_meeting.alert_guest_join optional Identify guest participants in the meeting/webinar
in_meeting.auto_answer optional 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.
in_meeting.p2p_connetion optional Peer to Peer connection while only 2 people are in a meeting
in_meeting.p2p_ports optional P2P listening ports range
in_meeting.ports_range optional Listening ports range, separated by comma (ex 55,56). The ports range must be between 1 to 65535.
in_meeting.sending_default_email_invites optional Only show default email when sending email invites
in_meeting.use_html_format_email optional Use HTML format email for Outlook plugin
in_meeting.dscp_marking optional DSCP marking
in_meeting.dscp_audio optional
1
63
DSCP Audio
in_meeting.dscp_video optional
1
63
DSCP Video
in_meeting.stereo_audio optional Allow users to select stereo audio in their client settings
in_meeting.original_audio optional Allow users to select original sound in their client settings
in_meeting.screen_sharing optional Allow screen sharing
in_meeting.remote_control optional Allow users to request remote control
in_meeting.attention_tracking optional Lets the host see an indicator in the participant panel if a meeting/webinar attendee does not have Zoom in focus during screen sharing
email_notification.cloud_recording_avaliable_reminder optional Notify host when cloud recording is available
email_notification.jbh_reminder optional Notify host when participants join the meeting before them
email_notification.cancel_meeting_reminder optional Notify host and participants when the meeting is cancelled
email_notification.low_host_count_reminder optional Notify when host licenses are running low
email_notification.alternative_host_reminder optional Notify when an alternative host is set or removed from a meeting
zoom_rooms.upcoming_meeting_alert optional Upcoming meeting alert
zoom_rooms.start_airplay_manually optional Start AirPlay service manually
zoom_rooms.weekly_system_restart optional Weekly system restart
zoom_rooms.list_meetings_with_calendar optional Display meeting list with calendar integration
zoom_rooms.zr_post_meeting_feedback optional Zoom Room post meeting feedback
zoom_rooms.ultrasonic optional Automatic direct sharing using ultrasonic proximity signal
zoom_rooms.force_private_meeting optional Transform all meetings to private
zoom_rooms.hide_host_information optional Hide host and meeting ID from private meetings
zoom_rooms.cmr_for_instant_meeting optional Cloud recording for instant meetings
zoom_rooms.auto_start_stop_scheduled_meetings optional Automatic start/stop for scheduled meetings
security.admin_change_name_pic optional Only account administrators can change user’s username and picture
security.import_photos_from_devices optional Allow importing of photos from photo library on the user’s device
security.hide_billing_info optional Hide billing information
recording.local_recording optional Allow hosts and participants to record the meeting to a local file
recording.cloud_recording optional Allow hosts to record and save the meeting in the cloud
recording.record_speaker_view optional Record active speaker with shared screen
recording.record_gallery_view optional Record gallery view with shared screen
recording.record_audio_file optional Record an audio only file
recording.save_chat_text optional Save chat text from the meeting
recording.show_timestamp optional Add a timestamp to the recording
recording.recording_audio_transcript optional Automatically transcribe the audio of the meeting or webinar to the cloud
recording.auto_recording optional Record meetings automatically as they start
local Record on local
cloud Record on cloud
none Disabled
recording.cloud_recording_download optional Cloud Recording Downloads
recording.cloud_recording_download_host optional Only the host can download cloud recordings
recording.account_user_access_recording optional Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
recording.auto_delete_cmr optional Allow Zoom to automatically delete recordings permanently after a specified number of days
recording.auto_delete_cmr_days optional When auto_delete_cmr is ‘true’ this value will set the number of days before auto deletion of cloud recordings
telephony.third_party_audio optional Users can join the meeting using the existing 3rd party audio configuration
telephony.audio_conference_info optional 3rd party audio conference info
integration.google_calendar optional Enables meetings to be scheduled using Google Calendars
integration.google_drive optional Enables users who join a meeting from their mobile device to share content from their Google Drive
integration.dropbox optional Enables users who join a meeting from their mobile device to share content from their Dropbox account
integration.box optional Enables users who join a meeting from their mobile device to share content from their Box account
integration.microsoft_one_drive optional Enables users who join a meeting from their mobile device to share content from their Microsoft OneDrive account
integration.kubi optional Enables users to control a connected Kubi device from within a Zoom meeting
feature.meeting_capacity optional
100
Set the maximum number of participants this user can have in a single meeting

Billing

Retrieve billing information for a sub account

Retrieve billing information for a sub account under the master account

Definition

GET https://api.zoom.us/v2/accounts/{accountId}/billing

Example Request

$ curl https://api.zoom.us/v2/accounts/{accountId}/billing

Example Response

200 OK
{
    "first_name": "string",
    "last_name": "string",
    "email": "string",
    "phone_number": "string",
    "address": "string",
    "apt": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "country": "string"
}
Path Arguments  
accountId required The account ID

Update billing information for a sub account

Update billing information for a sub account under the master account

Definition

PATCH https://api.zoom.us/v2/accounts/{accountId}/billing

Example Request

$ curl https://api.zoom.us/v2/accounts/{accountId}/billing \
   -d '{
    "first_name": "string",
    "last_name": "string",
    "email": "string",
    "phone_number": "string",
    "address": "string",
    "apt": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "country": "string"
}'

Example Response

204 No Content
Path Arguments  
accountId required The account ID
Body Arguments  
first_name optional Billing Contact’s first name
last_name optional Billing Contact’s last name
email optional Billing Contact’s email address
phone_number optional Billing Contact’s phone number
address optional Billing Contact’s address
apt optional Billing Contact’s apartment/suite
city optional Billing Contact’s city
state optional Billing Contact’s state
zip optional Billing Contact’s zip/postal code
country optional Billing Contact’s country

Retrieve plan information for a sub account

Retrieve plan information for a sub account under the master account

Definition

GET https://api.zoom.us/v2/accounts/{accountId}/plans

Example Request

$ curl https://api.zoom.us/v2/accounts/{accountId}/plans

Example Response

200 OK
{
    "plan_base": {
        "type": "string",
        "hosts": "integer"
    },
    "plan_zoom_rooms": {
        "type": "string",
        "hosts": "integer"
    },
    "plan_room_connector": {
        "type": "string",
        "hosts": "integer"
    },
    "plan_large_meeting": [
        {
            "type": "string",
            "hosts": "integer"
        }
    ],
    "plan_webinar": [
        {
            "type": "string",
            "hosts": "integer"
        }
    ],
    "plan_recording": "string",
    "plan_audio": {
        "type": "string",
        "tollfree_countries": "string",
        "premium_countries": "string",
        "callout_countries": "string",
        "ddi_numbers": "integer"
    }
}
Path Arguments  
accountId required The account ID

Subscribe plans for a sub account

Subscribe plans for a sub account of the master account

Definition

POST https://api.zoom.us/v2/accounts/{accountId}/plans

Example Request

$ curl https://api.zoom.us/v2/accounts/{accountId}/plans \
   -d '{
    "contact": {
        "first_name": "string",
        "last_name": "string",
        "email": "string",
        "phone_number": "string",
        "address": "string",
        "apt": "string",
        "city": "string",
        "state": "string",
        "zip": "string",
        "country": "string"
    },
    "plan_base": {
        "type": "string",
        "hosts": "integer"
    },
    "plan_zoom_rooms": {
        "type": "string",
        "hosts": "integer"
    },
    "plan_room_connector": {
        "type": "string",
        "hosts": "integer"
    },
    "plan_large_meeting": [
        {
            "type": "string",
            "hosts": "integer"
        }
    ],
    "plan_webinar": [
        {
            "type": "string",
            "hosts": "integer"
        }
    ],
    "plan_recording": "string",
    "plan_audio": {
        "type": "string",
        "tollfree_countries": "string",
        "premium_countries": "string",
        "callout_countries": "string",
        "ddi_numbers": "integer"
    }
}'

Example Response

201 Created
{
    "plan_base": {
        "type": "string",
        "hosts": "integer"
    },
    "plan_zoom_rooms": {
        "type": "string",
        "hosts": "integer"
    },
    "plan_room_connector": {
        "type": "string",
        "hosts": "integer"
    },
    "plan_large_meeting": [
        {
            "type": "string",
            "hosts": "integer"
        }
    ],
    "plan_webinar": [
        {
            "type": "string",
            "hosts": "integer"
        }
    ],
    "plan_recording": "string",
    "plan_audio": {
        "type": "string",
        "tollfree_countries": "string",
        "premium_countries": "string",
        "callout_countries": "string",
        "ddi_numbers": "integer"
    }
}
Path Arguments  
accountId required The account ID
Body Arguments  
contact.first_name required Billing Contact’s first name
contact.last_name required Billing Contact’s last name
contact.email required Billing Contact’s email address
contact.phone_number required Billing Contact’s phone number
contact.address required Billing Contact’s address
contact.apt optional Billing Contact’s apartment/suite
contact.city required Billing Contact’s city
contact.state required Billing Contact’s state
contact.zip required Billing Contact’s zip/postal code
contact.country required Billing Contact’s country
plan_base.type required Account base plan type
plan_base.hosts required Account base plan number of hosts. For a Pro Plan, please select a value between 1 and 9. For a Business Plan, please select a value between 10 and 49. For a Education Plan, please select a value between 20 and 149. For a Free Trial Plan, please select a value between 1 and 9999.
plan_zoom_rooms.type optional Account plan type
plan_zoom_rooms.hosts optional Account plan number of hosts
plan_room_connector.type optional Account plan type
plan_room_connector.hosts optional Account plan number of hosts
plan_large_meeting optional Additional Large Meeting Plans
plan_webinar optional Additional Webinar Plans
plan_recording optional Additional Cloud Recording Plan
plan_audio.type optional Additional Audio Conferencing plan type
plan_audio.tollfree_countries optional Toll-free countries, multiple value separated by comma
plan_audio.premium_countries optional Premium countries, multiple value separated by comma
plan_audio.callout_countries optional Call-out countries, multiple value separated by comma
plan_audio.ddi_numbers optional Dedicated Dial-In Numbers

Update a base plan for a sub account

Update a base plan for a sub account

Definition

PUT https://api.zoom.us/v2/accounts/{accountId}/plans/base

Example Request

$ curl https://api.zoom.us/v2/accounts/{accountId}/plans/base \
   -d '{
    "type": "string",
    "hosts": "integer"
}'

Example Response

204 No Content
Path Arguments  
accountId required The account ID
Body Arguments  
type required Account base plan type
hosts required Account base plan number of hosts. For a Pro Plan, please select a value between 1 and 9. For a Business Plan, please select a value between 10 and 49. For a Education Plan, please select a value between 20 and 149. For a Free Trial Plan, please select a value between 1 and 9999.

Add an additional plan for sub account

Add an additional plan for sub account

Definition

POST https://api.zoom.us/v2/accounts/{accountId}/plans/addons

Example Request

$ curl https://api.zoom.us/v2/accounts/{accountId}/plans/addons \
   -d '{
    "type": "string",
    "hosts": "integer"
}'

Example Response

201 Created
Path Arguments  
accountId required The account ID
Body Arguments  
type required Account plan type
hosts required Account plan number of hosts

Update an additional plan for sub account

Update an additional plan for sub account

Definition

PUT https://api.zoom.us/v2/accounts/{accountId}/plans/addons

Example Request

$ curl https://api.zoom.us/v2/accounts/{accountId}/plans/addons \
   -d '{
    "type": "string",
    "hosts": "integer"
}'

Example Response

204 No Content
Path Arguments  
accountId required The account ID
Body Arguments  
type required Account plan type
hosts required Account plan number of hosts

Users

The User object

The user object represents a User on Zoom

{
    "first_name": "string",
    "last_name": "string",
    "email": "string",
    "type": "integer",
    "pmi": "string",
    "timezone": "string",
    "dept": "string",
    "created_at": "string [date-time]",
    "last_login_time": "string [date-time]",
    "last_client_version": "string"
}
Property Description
first_name string User’s first name
last_name string User’s last name
email string User’s email address
type integer User’s type
1 basic
2 pro
3 corp
pmi string Personal Meeting ID
timezone string Time Zone
dept string Department
created_at string User create time
last_login_time string User last login time
last_client_version string User last login client version

List Users

List users on your account

Definition

GET https://api.zoom.us/v2/users

Example Request

$ curl https://api.zoom.us/v2/users

Example Response

200 OK
{
    "page_count": "integer",
    "page_number": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "users": [
        {
            "id": "string",
            "first_name": "string",
            "last_name": "string",
            "email": "string",
            "type": "integer",
            "pmi": "string",
            "timezone": "string",
            "dept": "string",
            "created_at": "string [date-time]",
            "last_login_time": "string [date-time]",
            "last_client_version": "string",
            "group_ids": [
                "string"
            ],
            "im_group_ids": [
                "string"
            ]
        }
    ]
}
Query Arguments  
status optional
active
User status
active users with active status
inactive users with inactive status
pending users with pending status
page_size optional
30
300
The number of records returned within a single API call
page_number optional
1
Current page number of returned records

Create a user

Create a user on your account

Definition

POST https://api.zoom.us/v2/users

Example Request

$ curl https://api.zoom.us/v2/users \
   -d '{
    "action": "string",
    "user_info": {
        "email": "string",
        "type": "integer",
        "first_name": "string",
        "last_name": "string",
        "password": "string"
    }
}'

Example Response

201 Created
{
    "id": "string",
    "first_name": "string",
    "last_name": "string",
    "email": "string",
    "type": "integer"
}
Body Arguments  
action required Specify how to create the new user
create User will get an email sent from Zoom. There is a confirmation link in this email. User will then need to click this link to activate their account to the Zoom service. The user can set or change their password in Zoom.
.
autoCreate This action is provided for enterprise customer who has a managed domain. This feature is disabled by default because of the security risk involved in creating a user who does not belong to your domain without notifying the user.

custCreate This action is provided for API partner only. User created in this way has no password and is not able to log into the Zoom web site or client.

ssoCreate This action is provided for enabled “Pre-provisioning SSO User” option. User created in this way has no password. If it is not a basic user, will generate a Personal Vanity URL using user name (no domain) of the provisioning email. If user name or pmi is invalid or occupied, will use random number/random personal vanity URL.

user_info.email required
128
User’s email address
user_info.type required User’s type
1 basic
2 pro
3 corp
user_info.first_name optional
64
User’s first name. Cannot contain more than 5 Chinese words.
user_info.last_name optional
64
User’s last name. Cannot contain more than 5 Chinese words.
user_info.password optional User’s password. Only for “autoCreate” action.

Retrieve a user

Retrieve a user on your account

Definition

GET https://api.zoom.us/v2/users/{userId}

Example Request

$ curl https://api.zoom.us/v2/users/{userId}

Example Response

200 OK
{
    "id": "string",
    "first_name": "string",
    "last_name": "string",
    "email": "string",
    "type": "integer",
    "pmi": "string",
    "timezone": "string",
    "dept": "string",
    "created_at": "string [date-time]",
    "last_login_time": "string [date-time]",
    "last_client_version": "string",
    "vanity_url": "string",
    "personal_meeting_url": "string",
    "verified": "integer",
    "pic_url": "string",
    "cms_user_id": "string",
    "account_id": "string",
    "host_key": "string",
    "group_ids": [
        "string"
    ],
    "im_group_ids": [
        "string"
    ]
}
Path Arguments  
userId required The user ID or email address
Query Arguments  
login_type optional
0 Facebook
1 Google
99 API
100 Zoom
101 SSO

Update a user

Update a user on your account

Definition

PATCH https://api.zoom.us/v2/users/{userId}

Example Request

$ curl https://api.zoom.us/v2/users/{userId} \
   -d '{
    "first_name": "string",
    "last_name": "string",
    "type": "integer",
    "pmi": "string",
    "timezone": "string [date-time]",
    "dept": "string",
    "vanity_name": "string",
    "host_key": "string",
    "cms_user_id": "string"
}'

Example Response

204 No Content
Path Arguments  
userId required The user ID or email address
Body Arguments  
first_name optional
64
User’s first name. Cannot contain more than 5 Chinese words.
last_name optional
64
User’s last name. Cannot contain more than 5 Chinese words.
type optional User’s type
1 basic
2 pro
3 corp
pmi optional
10
Personal Meeting ID,length must be 10
timezone optional The time zone id for user profile. For this parameter value please refer to the id value in timezone list.
dept optional Department for user profile, use for report
vanity_name optional Personal meeting room name
host_key optional
6
Host Key, should be 6-digit number
cms_user_id optional Kaltura User Id

Delete a user

Delete a user on your account

Definition

DELETE https://api.zoom.us/v2/users/{userId}

Example Request

$ curl https://api.zoom.us/v2/users/{userId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
userId required The user ID or email address
Query Arguments  
action optional
disassociate
Delete action type
disassociate Disassociate a user
delete Permanently delete a user
transfer_email optional Transfer email
transfer_meeting optional Transfer meeting
transfer_webinar optional Transfer webinar
transfer_recording optional Transfer recording

List a user’s assistants

List a user’s assistants

Definition

GET https://api.zoom.us/v2/users/{userId}/assistants

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/assistants

Example Response

200 OK
{
    "assistants": [
        {
            "id": "string",
            "email": "string"
        }
    ]
}
Path Arguments  
userId required The user ID or email address

Add assistants

Add assistants to a user

Definition

POST https://api.zoom.us/v2/users/{userId}/assistants

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/assistants \
   -d '{
    "assistants": [
        {
            "id": "string",
            "email": "string"
        }
    ]
}'

Example Response

201 Created
{
    "ids": "string",
    "add_at": "string [date-time]"
}
Path Arguments  
userId required The user ID or email address
Body Arguments  
assistants optional
30
List of User’s assistants

Delete a user’s assistants

Delete all of a user'sassitants

Definition

DELETE https://api.zoom.us/v2/users/{userId}/assistants

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/assistants \
    -X DELETE

Example Response

204 No Content
Path Arguments  
userId required The user ID or email address

Delete a user’s assistant

Delete one of a user’s assistants

Definition

DELETE https://api.zoom.us/v2/users/{userId}/assistants/{assistantId}

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/assistants/{assistantId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
userId required The user ID or email address
assistantId required Assistant’s ID

List a user’s schedulers

List a user’s schedulers

Definition

GET https://api.zoom.us/v2/users/{userId}/schedulers

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/schedulers

Example Response

200 OK
{
    "assistants": [
        {
            "id": "string",
            "email": "string"
        }
    ]
}
Path Arguments  
userId required The user ID or email address

Delete a user’s schedulers

Delete all of a user'schedulers

Definition

DELETE https://api.zoom.us/v2/users/{userId}/schedulers

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/schedulers \
    -X DELETE

Example Response

204 No Content
Path Arguments  
userId required The user ID or email address

Delete a user’s scheduler

Delete one of a user’s schedulers

Definition

DELETE https://api.zoom.us/v2/users/{userId}/schedulers/{schedulerId}

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/schedulers/{schedulerId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
userId required The user ID or email address
schedulerId required Scheduler’s ID

Upload a user’s picture

Upload a user’s profile picture

Definition

POST https://api.zoom.us/v2/users/{userId}/picture

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/picture

Example Response

201 Created
Path Arguments  
userId required The user ID or email address

Retrieve a user’s settings

Retrieve a user’s settings

Definition

GET https://api.zoom.us/v2/users/{userId}/settings

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/settings

Example Response

200 OK
{
    "scheduled_meeting": {
        "host_video": "boolean",
        "participants_video": "boolean",
        "audio_type": "string",
        "join_before_host": "boolean",
        "force_pmi_jbh_password": "boolean",
        "pstn_password_protected": "boolean"
    },
    "in_meeting": {
        "e2e_encryption": "boolean",
        "chat": "boolean",
        "private_chat": "boolean",
        "auto_saving_chat": "boolean",
        "entry_exit_chime": "string",
        "record_play_voice": "boolean",
        "file_transfer": "boolean",
        "feedback": "boolean",
        "co_host": "boolean",
        "polling": "boolean",
        "attendee_on_hold": "boolean",
        "annotation": "boolean",
        "remote_control": "boolean",
        "non_verbal_feedback": "boolean",
        "breakout_room": "boolean",
        "remote_support": "boolean",
        "closed_caption": "boolean",
        "group_hd": "boolean",
        "virtual_background": "boolean",
        "far_end_camera_control": "boolean",
        "share_dual_camera": "boolean",
        "attention_tracking": "boolean",
        "waiting_room": "boolean"
    },
    "email_notification": {
        "jbh_reminder": "boolean",
        "cancel_meeting_reminder": "boolean",
        "alternative_host_reminder": "boolean"
    },
    "recording": {
        "local_recording": "boolean",
        "cloud_recording": "boolean",
        "record_speaker_view": "boolean",
        "record_gallery_view": "boolean",
        "record_audio_file": "boolean",
        "save_chat_text": "boolean",
        "show_timestamp": "boolean",
        "recording_audio_transcript": "boolean",
        "auto_recording": "string",
        "auto_delete_cmr": "boolean",
        "auto_delete_cmr_days": "integer"
    },
    "telephony": {
        "third_party_audio": "boolean",
        "audio_conference_info": "string",
        "show_international_numbers_link": "boolean"
    },
    "feature": {
        "meeting_capacity": "integer",
        "large_meeting": "boolean",
        "large_meeting_capacity": "integer",
        "webinar": "boolean",
        "webinar_capacity": "integer",
        "cn_meeting": "boolean",
        "in_meeting": "boolean"
    }
}
Path Arguments  
userId required The user ID or email address
Query Arguments  
login_type optional
0 Facebook
1 Google
99 API
100 Zoom
101 SSO

Update a user’s settings

Update a user’s settings

Definition

PATCH https://api.zoom.us/v2/users/{userId}/settings

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/settings \
   -d '{
    "scheduled_meeting": {
        "host_video": "boolean",
        "participants_video": "boolean",
        "audio_type": "string",
        "join_before_host": "boolean",
        "force_pmi_jbh_password": "boolean",
        "pstn_password_protected": "boolean"
    },
    "in_meeting": {
        "e2e_encryption": "boolean",
        "chat": "boolean",
        "private_chat": "boolean",
        "auto_saving_chat": "boolean",
        "entry_exit_chime": "string",
        "record_play_voice": "boolean",
        "file_transfer": "boolean",
        "feedback": "boolean",
        "co_host": "boolean",
        "polling": "boolean",
        "attendee_on_hold": "boolean",
        "annotation": "boolean",
        "remote_control": "boolean",
        "non_verbal_feedback": "boolean",
        "breakout_room": "boolean",
        "remote_support": "boolean",
        "closed_caption": "boolean",
        "group_hd": "boolean",
        "virtual_background": "boolean",
        "far_end_camera_control": "boolean",
        "share_dual_camera": "boolean",
        "attention_tracking": "boolean",
        "waiting_room": "boolean"
    },
    "email_notification": {
        "jbh_reminder": "boolean",
        "cancel_meeting_reminder": "boolean",
        "alternative_host_reminder": "boolean"
    },
    "recording": {
        "local_recording": "boolean",
        "cloud_recording": "boolean",
        "record_speaker_view": "boolean",
        "record_gallery_view": "boolean",
        "record_audio_file": "boolean",
        "save_chat_text": "boolean",
        "show_timestamp": "boolean",
        "recording_audio_transcript": "boolean",
        "auto_recording": "string",
        "auto_delete_cmr": "boolean",
        "auto_delete_cmr_days": "integer"
    },
    "telephony": {
        "third_party_audio": "boolean",
        "audio_conference_info": "string",
        "show_international_numbers_link": "boolean"
    },
    "feature": {
        "meeting_capacity": "integer",
        "large_meeting": "boolean",
        "large_meeting_capacity": "integer",
        "webinar": "boolean",
        "webinar_capacity": "integer"
    }
}'

Example Response

204 No Content
Path Arguments  
userId required The user ID or email address
Body Arguments  
scheduled_meeting.host_video optional Host video
scheduled_meeting.participants_video optional Participants video
scheduled_meeting.audio_type optional
voip
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
scheduled_meeting.join_before_host optional Join before host
scheduled_meeting.force_pmi_jbh_password optional Require a password for Personal Meetings if attendees can join before host
scheduled_meeting.pstn_password_protected optional Generate and require password for participants joining by phone
in_meeting.e2e_encryption optional End-to-end encryption
in_meeting.chat optional
false
Chat
in_meeting.private_chat optional
false
Private chat
in_meeting.auto_saving_chat optional
false
Auto saving chats
in_meeting.entry_exit_chime optional
a’‘
Play sound on join/leave
host when host joins/leaves
all when any participant joins/leaves
none no join/leave sound
in_meeting.record_play_voice optional Record and play their own voice
in_meeting.file_transfer optional
false
File transfer
in_meeting.feedback optional
false
Feedback to Zoom
in_meeting.co_host optional
false
Co-host
in_meeting.polling optional
false
Polling
in_meeting.attendee_on_hold optional
false
Allow host to put attendee on hold
in_meeting.annotation optional
false
Annotation
in_meeting.remote_control optional
false
Remote control
in_meeting.non_verbal_feedback optional
false
Non-verbal feedback
in_meeting.breakout_room optional
false
Breakout room
in_meeting.remote_support optional
false
Remote support
in_meeting.closed_caption optional
false
Closed caption
in_meeting.group_hd optional
false
Group HD video
in_meeting.virtual_background optional
false
Virtual background
in_meeting.far_end_camera_control optional
false
Far end camera control
in_meeting.share_dual_camera optional
false
Share dual camera (Deprecated)
in_meeting.attention_tracking optional
false
Attention tracking
in_meeting.waiting_room optional
false
Waiting room
email_notification.jbh_reminder optional
false
When attendees join meeting before host
email_notification.cancel_meeting_reminder optional
false
When a meeting is cancelled
email_notification.alternative_host_reminder optional
false
When an alternative host is set or removed from a meeting
recording.local_recording optional Local recording
recording.cloud_recording optional
false
Cloud recording
recording.record_speaker_view optional
false
Record the active speaker view
recording.record_gallery_view optional
false
Record the gallery view
recording.record_audio_file optional
false
Record an audio only file
recording.save_chat_text optional
false
Save chat text from the meeting
recording.show_timestamp optional
false
Show timestamp on video
recording.recording_audio_transcript optional Audio transcript
recording.auto_recording optional
local
Automatic recording
local Record on local
cloud Record on cloud
none Disabled
recording.auto_delete_cmr optional
false
Auto delete cloud recordings
recording.auto_delete_cmr_days optional
false
1
60
A specified number of days of auto delete cloud recordings
telephony.third_party_audio optional 3rd party audio conference
telephony.audio_conference_info optional
2048
3rd party audio conference info
telephony.show_international_numbers_link optional Show international numbers link on the invitation email
feature.meeting_capacity optional User’s meeting capacity
feature.large_meeting optional Large meting feature
feature.large_meeting_capacity optional Large meeting capacity, can be 100, 200, 300 or 500, depends on if having related large meeting capacity plan subscription or not
feature.webinar optional Webinar feature
feature.webinar_capacity optional Webinar capacity, can be 100, 500, 1000, 3000, 5000 or 10000, depends on if having related webinar capacity plan subscription or not

Update a user’s status

Update a user’s status

Definition

PUT https://api.zoom.us/v2/users/{userId}/status

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/status \
   -d '{
    "action": "string"
}'

Example Response

204 No Content
Path Arguments  
userId required The user ID or email address
Body Arguments  
action required The action type
activate set users status to active
deactivate set users status to inactive

Update a user’s password

Update a user’s password

Definition

PUT https://api.zoom.us/v2/users/{userId}/password

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/password \
   -d '{
    "password": "string"
}'

Example Response

204 No Content
Path Arguments  
userId required The user ID or email address
Body Arguments  
password required User’s password. Character length is less than 32,

Retrieve a user’s permissions

Retrieve a user’s permissions

Definition

GET https://api.zoom.us/v2/users/{userId}/permissions

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/permissions

Example Response

200 OK
{
    "permissions": [
        "string"
    ]
}
Path Arguments  
userId required The user ID or email address

Retrieve a user’s token

Retrieve a user’s token

Definition

GET https://api.zoom.us/v2/users/{userId}/token

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/token

Example Response

200 OK
{
    "token": "string"
}
Path Arguments  
userId required The user ID or email address
Query Arguments  
type optional User token type
token Used for starting meeting with client SDK.
zpk Used for generating the start meeting url. (Deprecated)
zak Used for generating the start meeting url. The expiration time is two hours. For API users, the expiration time is 90 days.

Revoke a user’s SSO token

Revoke a user’s SSO token

Definition

DELETE https://api.zoom.us/v2/users/{userId}/token

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/token \
    -X DELETE

Example Response

204 No Content
Path Arguments  
userId required The user ID or email address

Verify a user’s zpk (Deprecated

Check if the zpk is expired. The zpk is used to authenticate a user.

Definition

GET https://api.zoom.us/v2/users/zpk

Example Request

$ curl https://api.zoom.us/v2/users/zpk?zpk=string

Example Response

200 OK
{
    "expire_in": "integer"
}
Query Arguments  
zpk required User zpk

Check a user’s email

Check if the user email exists

Definition

GET https://api.zoom.us/v2/users/email

Example Request

$ curl https://api.zoom.us/v2/users/email?email=string

Example Response

200 OK
{
    "existed_email": "boolean"
}
Query Arguments  
email required Zoom work email

Check a user’s personal meeting room name

Check if the user’s personal meeting room name exists

Definition

GET https://api.zoom.us/v2/users/vanity_name

Example Request

$ curl https://api.zoom.us/v2/users/vanity_name?vanity_name=string

Example Response

200 OK
{
    "existed": "boolean"
}
Query Arguments  
vanity_name required Personal meeting room name

Meetings

The Meeting object

Meeting object

{
    "topic": "string",
    "type": "integer",
    "start_time": "string [date-time]",
    "duration": "integer",
    "timezone": "string",
    "password": "string",
    "agenda": "string",
    "recurrence": {
        "type": "integer",
        "repeat_interval": "integer",
        "weekly_days": "integer",
        "monthly_day": "integer",
        "monthly_week": "integer",
        "monthly_week_day": "integer",
        "end_times": "integer",
        "end_date_time": "string [date-time]"
    },
    "settings": {
        "host_video": "boolean",
        "participant_video": "boolean",
        "cn_meeting": "boolean",
        "in_meeting": "boolean",
        "join_before_host": "boolean",
        "mute_upon_entry": "boolean",
        "watermark": "boolean",
        "use_pmi": "boolean",
        "approval_type": "integer",
        "registration_type": "integer",
        "audio": "string",
        "auto_recording": "string",
        "enforce_login": "boolean",
        "enforce_login_domains": "string",
        "alternative_hosts": "string"
    }
}
Property Description
topic string Meeting topic
type integer Meeting Type
1 Instant Meeting
2 Scheduled Meeting
3 Recurring Meeting with no fixed time
8 Recurring Meeting with fixed time
start_time string Meeting start time. When using a format like “yyyy-MM-dd’T'HH:mm:ss'Z’”, always use GMT time. When using a format like “yyyy-MM-dd’T'HH:mm:ss”, you should use local time and you will need to specify the time zone. Only used for scheduled meetings and recurring meetings with fixed time.
duration integer Meeting duration (minutes). Used for scheduled meetings only
timezone string Timezone to format start_time. For example, “America/Los_Angeles”. For scheduled meetings only. Please reference our timezone list for supported timezones and their formats.
password string Password to join the meeting. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters.
agenda string Meeting description
recurrence.type integer Recurrence meeting type
1 Daily
2 Weekly
3 Monthly
recurrence.repeat_interval integer At which interval should the meeting repeat? For a daily meeting, max of 90 days. For a weekly meeting, max of 12 weeks. For a monthly meeting, max of 3 months.
recurrence.weekly_days integer Days of the week the meeting should repeat, multiple values separated by comma
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.monthly_day integer Day of the month for the meeting to be scheduled. The value range is from 1 to 31.
recurrence.monthly_week integer Week for which the meeting should recur each month,
-1 Last week
1 First week
2 Second week
3 Third week
4 Fourth week
recurrence.monthly_week_day integer Day for which the meeting should recur each month
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.end_times integer Select how many times the meeting will occur before it is canceled. (Cannot be used with “end_date_time”.)
recurrence.end_date_time string Select a date the meeting will occur before it is canceled.. Should be UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with “end_times”.)
settings.host_video boolean Start video when host joins meeting
settings.participant_video boolean Start video when participants join meeting
settings.cn_meeting boolean Host meeting in China
settings.in_meeting boolean Host meeting in India
settings.join_before_host boolean Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
settings.mute_upon_entry boolean Mute participants upon entry
settings.watermark boolean Add watermark when viewing shared screen
settings.use_pmi boolean Use Personal Meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
settings.approval_type integer
0 Automatically Approve
1 Manually Approve
2 No Registration Required
settings.registration_type integer Registration type. Used for recurring meeting with fixed time only.
1 Attendees register once and can attend any of the occurrences
2 Attendees need to register for each occurrence to attend
3 Attendees register once and can choose one or more occurrences to attend
settings.audio string Determine how participants can join the audio portion of the meeting
both Both Telephony and VoIP
telephony Telephony only
voip VoIP only
settings.auto_recording string
local Record to local device
cloud Record to cloud
none No Recording
settings.enforce_login boolean Only signed-in users can join this meeting
settings.enforce_login_domains string Only signed-in users with specified domains can join meetings
settings.alternative_hosts string Alternative hosts emails or IDs. Multiple value separated by comma.

List meetings

List meetings for a user

Definition

GET https://api.zoom.us/v2/users/{userId}/meetings

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/meetings

Example Response

200 OK
{
    "page_count": "integer",
    "page_number": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "meetings": [
        {
            "uuid": "string",
            "id": "string",
            "host_id": "string",
            "topic": "string",
            "type": "integer",
            "start_time": "string [date-time]",
            "duration": "integer",
            "timezone": "string",
            "created_at": "string [date-time]",
            "join_url": "string"
        }
    ]
}
Path Arguments  
userId required The user ID or email address
Query Arguments  
type optional
live
The meeting type
scheduled all the scheduled meetings
live all the live meetings
upcoming all the upcoming meetings
page_size optional
30
300
The number of records returned within a single API call
page_number optional
1
Current page number of returned records

Create a meeting

Create a meeting for a user

Definition

POST https://api.zoom.us/v2/users/{userId}/meetings

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/meetings \
   -d '{
    "topic": "string",
    "type": "integer",
    "start_time": "string [date-time]",
    "duration": "integer",
    "timezone": "string",
    "password": "string",
    "agenda": "string",
    "recurrence": {
        "type": "integer",
        "repeat_interval": "integer",
        "weekly_days": "integer",
        "monthly_day": "integer",
        "monthly_week": "integer",
        "monthly_week_day": "integer",
        "end_times": "integer",
        "end_date_time": "string [date-time]"
    },
    "settings": {
        "host_video": "boolean",
        "participant_video": "boolean",
        "cn_meeting": "boolean",
        "in_meeting": "boolean",
        "join_before_host": "boolean",
        "mute_upon_entry": "boolean",
        "watermark": "boolean",
        "use_pmi": "boolean",
        "approval_type": "integer",
        "registration_type": "integer",
        "audio": "string",
        "auto_recording": "string",
        "enforce_login": "boolean",
        "enforce_login_domains": "string",
        "alternative_hosts": "string"
    }
}'

Example Response

201 Created
{
    "uuid": "string",
    "id": "string",
    "host_id": "string",
    "topic": "string",
    "type": "integer",
    "start_time": "string [date-time]",
    "duration": "integer",
    "timezone": "string",
    "created_at": "string [date-time]",
    "agenda": "string",
    "start_url": "string",
    "join_url": "string",
    "password": "string",
    "h323_password": "string",
    "occurrences": [
        {
            "occurrence_id": "integer",
            "start_time": "string [date-time]",
            "duration": "integer",
            "status": "string"
        }
    ],
    "settings": {
        "host_video": "boolean",
        "participant_video": "boolean",
        "cn_meeting": "boolean",
        "in_meeting": "boolean",
        "join_before_host": "boolean",
        "mute_upon_entry": "boolean",
        "watermark": "boolean",
        "use_pmi": "boolean",
        "approval_type": "integer",
        "registration_type": "integer",
        "audio": "string",
        "auto_recording": "string",
        "enforce_login": "boolean",
        "enforce_login_domains": "string",
        "alternative_hosts": "string"
    }
}
Path Arguments  
userId required The user ID or email address
Body Arguments  
topic optional Meeting topic
type optional
2
Meeting Type
1 Instant Meeting
2 Scheduled Meeting
3 Recurring Meeting with no fixed time
8 Recurring Meeting with fixed time
start_time optional Meeting start time. When using a format like “yyyy-MM-dd’T'HH:mm:ss'Z’”, always use GMT time. When using a format like “yyyy-MM-dd’T'HH:mm:ss”, you should use local time and you will need to specify the time zone. Only used for scheduled meetings and recurring meetings with fixed time.
duration optional Meeting duration (minutes). Used for scheduled meetings only
timezone optional Timezone to format start_time. For example, “America/Los_Angeles”. For scheduled meetings only. Please reference our timezone list for supported timezones and their formats.
password optional Password to join the meeting. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters.
agenda optional Meeting description
recurrence.type optional Recurrence meeting type
1 Daily
2 Weekly
3 Monthly
recurrence.repeat_interval optional At which interval should the meeting repeat? For a daily meeting, max of 90 days. For a weekly meeting, max of 12 weeks. For a monthly meeting, max of 3 months.
recurrence.weekly_days optional Days of the week the meeting should repeat, multiple values separated by comma
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.monthly_day optional Day of the month for the meeting to be scheduled. The value range is from 1 to 31.
recurrence.monthly_week optional Week for which the meeting should recur each month,
-1 Last week
1 First week
2 Second week
3 Third week
4 Fourth week
recurrence.monthly_week_day optional Day for which the meeting should recur each month
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.end_times optional
1
50
Select how many times the meeting will occur before it is canceled. (Cannot be used with “end_date_time”.)
recurrence.end_date_time optional Select a date the meeting will occur before it is canceled.. Should be UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with “end_times”.)
settings.host_video optional Start video when host joins meeting
settings.participant_video optional Start video when participants join meeting
settings.cn_meeting optional
false
Host meeting in China
settings.in_meeting optional
false
Host meeting in India
settings.join_before_host optional
false
Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
settings.mute_upon_entry optional
false
Mute participants upon entry
settings.watermark optional
false
Add watermark when viewing shared screen
settings.use_pmi optional
false
Use Personal Meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
settings.approval_type optional
2
0 Automatically Approve
1 Manually Approve
2 No Registration Required
settings.registration_type optional
1
Registration type. Used for recurring meeting with fixed time only.
1 Attendees register once and can attend any of the occurrences
2 Attendees need to register for each occurrence to attend
3 Attendees register once and can choose one or more occurrences to attend
settings.audio optional
both
Determine how participants can join the audio portion of the meeting
both Both Telephony and VoIP
telephony Telephony only
voip VoIP only
settings.auto_recording optional
none
local Record to local device
cloud Record to cloud
none No Recording
settings.enforce_login optional Only signed-in users can join this meeting
settings.enforce_login_domains optional Only signed-in users with specified domains can join meetings
settings.alternative_hosts optional Alternative hosts emails or IDs. Multiple value separated by comma.

Retrieve a meeting

Retrieve a meeting’s details

Definition

GET https://api.zoom.us/v2/meetings/{meetingId}

Example Request

$ curl https://api.zoom.us/v2/meetings/{meetingId}

Example Response

200 OK
{
    "uuid": "string",
    "id": "string",
    "host_id": "string",
    "topic": "string",
    "type": "integer",
    "start_time": "string [date-time]",
    "duration": "integer",
    "timezone": "string",
    "created_at": "string [date-time]",
    "agenda": "string",
    "start_url": "string",
    "join_url": "string",
    "password": "string",
    "h323_password": "string",
    "occurrences": [
        {
            "occurrence_id": "integer",
            "start_time": "string [date-time]",
            "duration": "integer",
            "status": "string"
        }
    ],
    "settings": {
        "host_video": "boolean",
        "participant_video": "boolean",
        "cn_meeting": "boolean",
        "in_meeting": "boolean",
        "join_before_host": "boolean",
        "mute_upon_entry": "boolean",
        "watermark": "boolean",
        "use_pmi": "boolean",
        "approval_type": "integer",
        "registration_type": "integer",
        "audio": "string",
        "auto_recording": "string",
        "enforce_login": "boolean",
        "enforce_login_domains": "string",
        "alternative_hosts": "string"
    }
}
Path Arguments  
meetingId required The meeting ID

Update a meeting

Update a meeting’s details

Definition

PATCH https://api.zoom.us/v2/meetings/{meetingId}

Example Request

$ curl https://api.zoom.us/v2/meetings/{meetingId} \
   -d '{
    "topic": "string",
    "type": "integer",
    "start_time": "string [date-time]",
    "duration": "integer",
    "timezone": "string",
    "password": "string",
    "agenda": "string",
    "recurrence": {
        "type": "integer",
        "repeat_interval": "integer",
        "weekly_days": "integer",
        "monthly_day": "integer",
        "monthly_week": "integer",
        "monthly_week_day": "integer",
        "end_times": "integer",
        "end_date_time": "string [date-time]"
    },
    "settings": {
        "host_video": "boolean",
        "participant_video": "boolean",
        "cn_meeting": "boolean",
        "in_meeting": "boolean",
        "join_before_host": "boolean",
        "mute_upon_entry": "boolean",
        "watermark": "boolean",
        "use_pmi": "boolean",
        "approval_type": "integer",
        "registration_type": "integer",
        "audio": "string",
        "auto_recording": "string",
        "enforce_login": "boolean",
        "enforce_login_domains": "string",
        "alternative_hosts": "string",
        "registrants_confirmation_email": "boolean"
    }
}'

Example Response

204 No Content
Path Arguments  
meetingId required The meeting ID
Body Arguments  
topic optional Meeting topic
type optional
2
Meeting Type
1 Instant Meeting
2 Scheduled Meeting
3 Recurring Meeting with no fixed time
8 Recurring Meeting with fixed time
start_time optional Meeting start time. When using a format like “yyyy-MM-dd’T'HH:mm:ss'Z’”, always use GMT time. When using a format like “yyyy-MM-dd’T'HH:mm:ss”, you should use local time and you will need to specify the time zone. Only used for scheduled meetings and recurring meetings with fixed time.
duration optional Meeting duration (minutes). Used for scheduled meetings only
timezone optional Timezone to format start_time. For example, “America/Los_Angeles”. For scheduled meetings only. Please reference our timezone list for supported timezones and their formats.
password optional Password to join the meeting. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters.
agenda optional Meeting description
recurrence.type optional Recurrence meeting type
1 Daily
2 Weekly
3 Monthly
recurrence.repeat_interval optional At which interval should the meeting repeat? For a daily meeting, max of 90 days. For a weekly meeting, max of 12 weeks. For a monthly meeting, max of 3 months.
recurrence.weekly_days optional Days of the week the meeting should repeat, multiple values separated by comma
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.monthly_day optional Day of the month for the meeting to be scheduled. The value range is from 1 to 31.
recurrence.monthly_week optional Week for which the meeting should recur each month,
-1 Last week
1 First week
2 Second week
3 Third week
4 Fourth week
recurrence.monthly_week_day optional Day for which the meeting should recur each month
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.end_times optional
1
50
Select how many times the meeting will occur before it is canceled. (Cannot be used with “end_date_time”.)
recurrence.end_date_time optional Select a date the meeting will occur before it is canceled.. Should be UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with “end_times”.)
settings.host_video optional Start video when host joins meeting
settings.participant_video optional Start video when participants join meeting
settings.cn_meeting optional
false
Host meeting in China
settings.in_meeting optional
false
Host meeting in India
settings.join_before_host optional
false
Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
settings.mute_upon_entry optional
false
Mute participants upon entry
settings.watermark optional
false
Add watermark when viewing shared screen
settings.use_pmi optional
false
Use Personal Meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
settings.approval_type optional
2
0 Automatically Approve
1 Manually Approve
2 No Registration Required
settings.registration_type optional
1
Registration type. Used for recurring meeting with fixed time only.
1 Attendees register once and can attend any of the occurrences
2 Attendees need to register for each occurrence to attend
3 Attendees register once and can choose one or more occurrences to attend
settings.audio optional
both
Determine how participants can join the audio portion of the meeting
both Both Telephony and VoIP
telephony Telephony only
voip VoIP only
settings.auto_recording optional
none
local Record to local device
cloud Record to cloud
none No Recording
settings.enforce_login optional Only signed-in users can join this meeting
settings.enforce_login_domains optional Only signed-in users with specified domains can join meetings
settings.alternative_hosts optional Alternative hosts emails or IDs. Multiple value separated by comma.
settings.registrants_confirmation_email optional Send confirmation Email to Registrants

Delete a meeting

Delete a meeting

Definition

DELETE https://api.zoom.us/v2/meetings/{meetingId}

Example Request

$ curl https://api.zoom.us/v2/meetings/{meetingId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
meetingId required The meeting ID
Query Arguments  
occurrence_id optional The meeting occurrence ID

Update a meeting’s status

Update a meeting’s status

Definition

PUT https://api.zoom.us/v2/meetings/{meetingId}/status

Example Request

$ curl https://api.zoom.us/v2/meetings/{meetingId}/status \
   -d '{
    "action": "string"
}'

Example Response

204 No Content
Path Arguments  
meetingId required The meeting ID
Body Arguments  
action optional
end end a meeting

List a meeting’s registrants

List registrants of a meeting

Definition

GET https://api.zoom.us/v2/meetings/{meetingId}/registrants

Example Request

$ curl https://api.zoom.us/v2/meetings/{meetingId}/registrants

Example Response

200 OK
{
    "page_count": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "next_page_token": "string",
    "registrants": [
        {
            "id": "string",
            "email": "string",
            "first_name": "string",
            "last_name": "string",
            "address": "string",
            "city": "string",
            "country": "string",
            "zip": "string",
            "state": "string",
            "phone": "string",
            "industry": "string",
            "org": "string",
            "job_title": "string",
            "purchasing_time_frame": "string",
            "role_in_purchase_process": "string",
            "no_of_employees": "string",
            "comments": "string",
            "custom_questions": [
                {
                    "title": "string",
                    "value": "string"
                }
            ],
            "status": "string",
            "create_time": "string [date-time]",
            "join_url": "string [string]"
        }
    ]
}
Path Arguments  
meetingId required The meeting ID
Query Arguments  
occurrence_id optional The meeting occurrence ID
status optional
approved
The registrant status
pending registrants status is pending
approved registrants status is approved
denied registrants status is denied
page_size optional
30
300
The number of records returned within a single API call
page_number optional
1
Current page number of returned records

Add a meeting registrant

Register a participant for a meeting

Definition

POST https://api.zoom.us/v2/meetings/{meetingId}/registrants

Example Request

$ curl https://api.zoom.us/v2/meetings/{meetingId}/registrants \
   -d '{
    "email": "string",
    "first_name": "string",
    "last_name": "string",
    "address": "string",
    "city": "string",
    "country": "string",
    "zip": "string",
    "state": "string",
    "phone": "string",
    "industry": "string",
    "org": "string",
    "job_title": "string",
    "purchasing_time_frame": "string",
    "role_in_purchase_process": "string",
    "no_of_employees": "string",
    "comments": "string",
    "custom_questions": [
        {
            "title": "string",
            "value": "string"
        }
    ]
}'

Example Response

201 Created
{
    "registrant_id": "string",
    "id": "string",
    "topic": "string",
    "start_time": "string [date-time]",
    "join_url": "string"
}
Path Arguments  
meetingId required The meeting ID
Query Arguments  
occurrence_ids optional Occurrence IDs. You can find these with the meeting get API. Multiple values separated by comma.
Body Arguments  
email required A valid email address
first_name required User’s first name
last_name required User’s last name
address optional Address
city optional City
country optional Country
zip optional Zip/Postal Code
state optional State/Province
phone optional Phone
industry optional Industry
org optional Organization
job_title optional Job Title
purchasing_time_frame optional Purchasing Time Frame
Within a month
1-3 months
4-6 months
More than 6 months
No timeframe
role_in_purchase_process optional Role in Purchase Process
Decision Maker
Evaluator/Recommender
Influencer
Not involved
no_of_employees optional Number of Employees
1-20
21-50
51-100
101-500
500-1,000
1,001-5,000
5,001-10,000
More than 10,000
comments optional Questions & Comments
custom_questions optional Custom Questions

Update a meeting registrant’s status

Update a meeting registrant’s status

Definition

PUT https://api.zoom.us/v2/meetings/{meetingId}/registrants/status

Example Request

$ curl https://api.zoom.us/v2/meetings/{meetingId}/registrants/status \
   -d '{
    "action": "string",
    "registrants": [
        {
            "id": "string",
            "email": "string"
        }
    ]
}'

Example Response

204 No Content
Path Arguments  
meetingId required The meeting ID
Query Arguments  
occurrence_id optional The meeting occurrence ID
Body Arguments  
action required
approve Approve registrant
cancel Cancel registrant
deny Deny registrant
registrants optional
30
List of registrants

Retrieve past meeting details

Retrieve ended meeting details

Definition

GET https://api.zoom.us/v2/past_meetings/{meetingUUID}

Example Request

$ curl https://api.zoom.us/v2/past_meetings/{meetingUUID}

Example Response

200 OK
{
    "uuid": "string [uuid]",
    "id": "integer",
    "host_id": "integer",
    "type": "integer",
    "topic": "string",
    "user_name": "string",
    "user_email": "string",
    "start_time": "string [date-time]",
    "end_time": "string [date-time]",
    "duration": "integer",
    "total_minutes": "integer",
    "participants_count": "integer"
}
Path Arguments  
meetingUUID required The meeting UUID.

Retrieve past meeting participants

Retrieve ended meeting participants

Definition

GET https://api.zoom.us/v2/past_meetings/{meetingUUID}/participants

Example Request

$ curl https://api.zoom.us/v2/past_meetings/{meetingUUID}/participants

Example Response

200 OK
{
    "page_count": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "next_page_token": "string",
    "participants": [
        {
            "id": "string [uuid]",
            "name": "string"
        }
    ]
}
Path Arguments  
meetingUUID required The meeting UUID.
Query Arguments  
page_size optional
30
300
The number of records returned within a single API call
next_page_token optional 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.

Webinars

The Webinar object

Webinar object

{
    "topic": "string",
    "type": "integer",
    "start_time": "string [date-time]",
    "duration": "integer",
    "timezone": "string",
    "password": "string",
    "agenda": "string",
    "recurrence": {
        "type": "integer",
        "repeat_interval": "integer",
        "weekly_days": "integer",
        "monthly_day": "integer",
        "monthly_week": "integer",
        "monthly_week_day": "integer",
        "end_times": "integer",
        "end_date_time": "string [date-time]"
    },
    "settings": {
        "host_video": "boolean",
        "panelists_video": "boolean",
        "practice_session": "boolean",
        "hd_video": "boolean",
        "approval_type": "integer",
        "registration_type": "integer",
        "audio": "string",
        "auto_recording": "string",
        "enforce_login": "boolean",
        "enforce_login_domains": "string",
        "alternative_hosts": "string",
        "close_registration": "boolean",
        "show_share_button": "boolean",
        "allow_multiple_devices": "boolean"
    }
}
Property Description
topic string Webinar topic
type integer Webinar Type
5 Webinar
6 Recurring Webinar with no fixed time
9 Recurring Webinar with fixed time
start_time string Webinar start time, in the format “yyyy-MM-dd’T'HH:mm:ss'Z’”, should be GMT time. In the format “yyyy-MM-dd’T'HH:mm:ss”, should be local time, need to specify the time zone. Only used for scheduled webinar and recurring webinar with fixed time.
duration integer Webinar duration (minutes). Used for scheduled webinar only
timezone string Timezone to format start_time. For example, “America/Los_Angeles”. For scheduled meetings only. Please reference our timezone list for supported timezones and their formats.
password string Webinar password. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters.
agenda string Webinar description
recurrence.type integer Recurrence meeting type
1 Daily
2 Weekly
3 Monthly
recurrence.repeat_interval integer At which interval should the meeting repeat? For a daily meeting, max of 90 days. For a weekly meeting, max of 12 weeks. For a monthly meeting, max of 3 months.
recurrence.weekly_days integer Days of the week the meeting should repeat, multiple values separated by comma
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.monthly_day integer Day of the month for the meeting to be scheduled. The value range is from 1 to 31.
recurrence.monthly_week integer Week for which the meeting should recur each month,
-1 Last week
1 First week
2 Second week
3 Third week
4 Fourth week
recurrence.monthly_week_day integer Day for which the meeting should recur each month
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.end_times integer Select how many times the meeting will occur before it is canceled. (Cannot be used with “end_date_time”.)
recurrence.end_date_time string Select a date the meeting will occur before it is canceled.. Should be UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with “end_times”.)
settings.host_video boolean Start video when host joins webinar
settings.panelists_video boolean Start video when panelists join webinar
settings.practice_session boolean Enable Practice Session
settings.hd_video boolean Default to HD Video
settings.approval_type integer
0 Automatically Approve
1 Manually Approve
2 No Registration Required
settings.registration_type integer Registration type. Used for recurring webinar with fixed time only.
1 Attendees register once and can attend any of the occurrences
2 Attendees need to register for each occurrence to attend
3 Attendees register once and can choose one or more occurrences to attend
settings.audio string Determine how participants can join the audio portion of the meeting
both Both Telephony and VoIP
telephony Telephony only
voip VoIP only
settings.auto_recording string
local Record to local device
cloud Record to cloud
none No Recording
settings.enforce_login boolean Only signed-in users can join this meeting
settings.enforce_login_domains string Only signed-in users with specified domains can join meetings
settings.alternative_hosts string Alternative hosts emails or IDs. Multiple values separated by comma.
settings.close_registration boolean Close registration after event date
settings.show_share_button boolean Show social share buttons on registration page
settings.allow_multiple_devices boolean Allow attendees to join from multiple devices

List webinars

List webinars for a user

Definition

GET https://api.zoom.us/v2/users/{userId}/webinars

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/webinars

Example Response

200 OK
{
    "page_count": "integer",
    "page_number": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "webinars": [
        {
            "uuid": "string",
            "id": "string",
            "host_id": "string",
            "topic": "string",
            "type": "integer",
            "duration": "integer",
            "timezone": "string",
            "created_at": "string [date-time]",
            "join_url": "string"
        }
    ]
}
Path Arguments  
userId required The user ID or email address
Query Arguments  
page_size optional
30
300
The number of records returned within a single API call
page_number optional
1
Current page number of returned records

Create a webinar

Create a webinar for a user

Definition

POST https://api.zoom.us/v2/users/{userId}/webinars

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/webinars \
   -d '{
    "topic": "string",
    "type": "integer",
    "start_time": "string [date-time]",
    "duration": "integer",
    "timezone": "string",
    "password": "string",
    "agenda": "string",
    "recurrence": {
        "type": "integer",
        "repeat_interval": "integer",
        "weekly_days": "integer",
        "monthly_day": "integer",
        "monthly_week": "integer",
        "monthly_week_day": "integer",
        "end_times": "integer",
        "end_date_time": "string [date-time]"
    },
    "settings": {
        "host_video": "boolean",
        "panelists_video": "boolean",
        "practice_session": "boolean",
        "hd_video": "boolean",
        "approval_type": "integer",
        "registration_type": "integer",
        "audio": "string",
        "auto_recording": "string",
        "enforce_login": "boolean",
        "enforce_login_domains": "string",
        "alternative_hosts": "string",
        "close_registration": "boolean",
        "show_share_button": "boolean",
        "allow_multiple_devices": "boolean"
    }
}'

Example Response

201 Created
{
    "uuid": "string",
    "id": "string",
    "host_id": "string",
    "topic": "string",
    "type": "integer",
    "start_time": "string [date-time]",
    "duration": "integer",
    "timezone": "string",
    "agenda": "string",
    "created_at": "string [date-time]",
    "start_url": "string",
    "join_url": "string",
    "occurrences": [
        {
            "occurrence_id": "integer",
            "start_time": "string [date-time]",
            "duration": "integer",
            "status": "string"
        }
    ],
    "settings": {
        "host_video": "boolean",
        "panelists_video": "boolean",
        "practice_session": "boolean",
        "hd_video": "boolean",
        "approval_type": "integer",
        "registration_type": "integer",
        "audio": "string",
        "auto_recording": "string",
        "enforce_login": "boolean",
        "enforce_login_domains": "string",
        "alternative_hosts": "string",
        "close_registration": "boolean",
        "show_share_button": "boolean",
        "allow_multiple_devices": "boolean"
    }
}
Path Arguments  
userId required The user ID or email address
Body Arguments  
topic optional Webinar topic
type optional
5
Webinar Type
5 Webinar
6 Recurring Webinar with no fixed time
9 Recurring Webinar with fixed time
start_time optional Webinar start time, in the format “yyyy-MM-dd’T'HH:mm:ss'Z’”, should be GMT time. In the format “yyyy-MM-dd’T'HH:mm:ss”, should be local time, need to specify the time zone. Only used for scheduled webinar and recurring webinar with fixed time.
duration optional Webinar duration (minutes). Used for scheduled webinar only
timezone optional Timezone to format start_time. For example, “America/Los_Angeles”. For scheduled meetings only. Please reference our timezone list for supported timezones and their formats.
password optional Webinar password. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters.
agenda optional Webinar description
recurrence.type optional Recurrence meeting type
1 Daily
2 Weekly
3 Monthly
recurrence.repeat_interval optional At which interval should the meeting repeat? For a daily meeting, max of 90 days. For a weekly meeting, max of 12 weeks. For a monthly meeting, max of 3 months.
recurrence.weekly_days optional Days of the week the meeting should repeat, multiple values separated by comma
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.monthly_day optional Day of the month for the meeting to be scheduled. The value range is from 1 to 31.
recurrence.monthly_week optional Week for which the meeting should recur each month,
-1 Last week
1 First week
2 Second week
3 Third week
4 Fourth week
recurrence.monthly_week_day optional Day for which the meeting should recur each month
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.end_times optional
1
50
Select how many times the meeting will occur before it is canceled. (Cannot be used with “end_date_time”.)
recurrence.end_date_time optional Select a date the meeting will occur before it is canceled.. Should be UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with “end_times”.)
settings.host_video optional Start video when host joins webinar
settings.panelists_video optional Start video when panelists join webinar
settings.practice_session optional
false
Enable Practice Session
settings.hd_video optional
false
Default to HD Video
settings.approval_type optional
2
0 Automatically Approve
1 Manually Approve
2 No Registration Required
settings.registration_type optional
1
Registration type. Used for recurring webinar with fixed time only.
1 Attendees register once and can attend any of the occurrences
2 Attendees need to register for each occurrence to attend
3 Attendees register once and can choose one or more occurrences to attend
settings.audio optional
both
Determine how participants can join the audio portion of the meeting
both Both Telephony and VoIP
telephony Telephony only
voip VoIP only
settings.auto_recording optional
none
local Record to local device
cloud Record to cloud
none No Recording
settings.enforce_login optional Only signed-in users can join this meeting
settings.enforce_login_domains optional Only signed-in users with specified domains can join meetings
settings.alternative_hosts optional Alternative hosts emails or IDs. Multiple values separated by comma.
settings.close_registration optional Close registration after event date
settings.show_share_button optional Show social share buttons on registration page
settings.allow_multiple_devices optional Allow attendees to join from multiple devices

Retrieve a webinar

Retrieve a webinar

Definition

GET https://api.zoom.us/v2/webinars/{webinarId}

Example Request

$ curl https://api.zoom.us/v2/webinars/{webinarId}

Example Response

200 OK
{
    "uuid": "string",
    "id": "string",
    "host_id": "string",
    "topic": "string",
    "type": "integer",
    "start_time": "string [date-time]",
    "duration": "integer",
    "timezone": "string",
    "agenda": "string",
    "created_at": "string [date-time]",
    "start_url": "string",
    "join_url": "string",
    "occurrences": [
        {
            "occurrence_id": "integer",
            "start_time": "string [date-time]",
            "duration": "integer",
            "status": "string"
        }
    ],
    "settings": {
        "host_video": "boolean",
        "panelists_video": "boolean",
        "practice_session": "boolean",
        "hd_video": "boolean",
        "approval_type": "integer",
        "registration_type": "integer",
        "audio": "string",
        "auto_recording": "string",
        "enforce_login": "boolean",
        "enforce_login_domains": "string",
        "alternative_hosts": "string",
        "close_registration": "boolean",
        "show_share_button": "boolean",
        "allow_multiple_devices": "boolean"
    }
}
Path Arguments  
webinarId required The webinar ID

Update a webinar

Update a webinar

Definition

PATCH https://api.zoom.us/v2/webinars/{webinarId}

Example Request

$ curl https://api.zoom.us/v2/webinars/{webinarId} \
   -d '{
    "topic": "string",
    "type": "integer",
    "start_time": "string [date-time]",
    "duration": "integer",
    "timezone": "string",
    "password": "string",
    "agenda": "string",
    "recurrence": {
        "type": "integer",
        "repeat_interval": "integer",
        "weekly_days": "integer",
        "monthly_day": "integer",
        "monthly_week": "integer",
        "monthly_week_day": "integer",
        "end_times": "integer",
        "end_date_time": "string [date-time]"
    },
    "settings": {
        "host_video": "boolean",
        "panelists_video": "boolean",
        "practice_session": "boolean",
        "hd_video": "boolean",
        "approval_type": "integer",
        "registration_type": "integer",
        "audio": "string",
        "auto_recording": "string",
        "enforce_login": "boolean",
        "enforce_login_domains": "string",
        "alternative_hosts": "string",
        "close_registration": "boolean",
        "show_share_button": "boolean",
        "allow_multiple_devices": "boolean",
        "registrants_confirmation_email": "boolean"
    }
}'

Example Response

204 No Content
Path Arguments  
webinarId required The webinar ID
Body Arguments  
topic optional Webinar topic
type optional
5
Webinar Type
5 Webinar
6 Recurring Webinar with no fixed time
9 Recurring Webinar with fixed time
start_time optional Webinar start time, in the format “yyyy-MM-dd’T'HH:mm:ss'Z’”, should be GMT time. In the format “yyyy-MM-dd’T'HH:mm:ss”, should be local time, need to specify the time zone. Only used for scheduled webinar and recurring webinar with fixed time.
duration optional Webinar duration (minutes). Used for scheduled webinar only
timezone optional Timezone to format start_time. For example, “America/Los_Angeles”. For scheduled meetings only. Please reference our timezone list for supported timezones and their formats.
password optional Webinar password. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters.
agenda optional Webinar description
recurrence.type optional Recurrence meeting type
1 Daily
2 Weekly
3 Monthly
recurrence.repeat_interval optional At which interval should the meeting repeat? For a daily meeting, max of 90 days. For a weekly meeting, max of 12 weeks. For a monthly meeting, max of 3 months.
recurrence.weekly_days optional Days of the week the meeting should repeat, multiple values separated by comma
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.monthly_day optional Day of the month for the meeting to be scheduled. The value range is from 1 to 31.
recurrence.monthly_week optional Week for which the meeting should recur each month,
-1 Last week
1 First week
2 Second week
3 Third week
4 Fourth week
recurrence.monthly_week_day optional Day for which the meeting should recur each month
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.end_times optional
1
50
Select how many times the meeting will occur before it is canceled. (Cannot be used with “end_date_time”.)
recurrence.end_date_time optional Select a date the meeting will occur before it is canceled.. Should be UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with “end_times”.)
settings.host_video optional Start video when host joins webinar
settings.panelists_video optional Start video when panelists join webinar
settings.practice_session optional
false
Enable Practice Session
settings.hd_video optional
false
Default to HD Video
settings.approval_type optional
2
0 Automatically Approve
1 Manually Approve
2 No Registration Required
settings.registration_type optional
1
Registration type. Used for recurring webinar with fixed time only.
1 Attendees register once and can attend any of the occurrences
2 Attendees need to register for each occurrence to attend
3 Attendees register once and can choose one or more occurrences to attend
settings.audio optional
both
Determine how participants can join the audio portion of the meeting
both Both Telephony and VoIP
telephony Telephony only
voip VoIP only
settings.auto_recording optional
none
local Record to local device
cloud Record to cloud
none No Recording
settings.enforce_login optional Only signed-in users can join this meeting
settings.enforce_login_domains optional Only signed-in users with specified domains can join meetings
settings.alternative_hosts optional Alternative hosts emails or IDs. Multiple values separated by comma.
settings.close_registration optional Close registration after event date
settings.show_share_button optional Show social share buttons on registration page
settings.allow_multiple_devices optional Allow attendees to join from multiple devices
settings.registrants_confirmation_email optional Send confirmation Email to Registrants

Delete a webinar

Delete a webinar

Definition

DELETE https://api.zoom.us/v2/webinars/{webinarId}

Example Request

$ curl https://api.zoom.us/v2/webinars/{webinarId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
webinarId required The webinar ID
Query Arguments  
occurrence_id optional The meeting occurrence ID

Update a webinar’s status

Update a webinar’s status

Definition

PUT https://api.zoom.us/v2/webinars/{webinarId}/status

Example Request

$ curl https://api.zoom.us/v2/webinars/{webinarId}/status \
   -d '{
    "status": "string"
}'

Example Response

204 No Content
Path Arguments  
webinarId required The webinar ID
Body Arguments  
status optional
end end a webinar

List a webinar’s panelists

List panelists for a webinar

Definition

GET https://api.zoom.us/v2/webinars/{webinarId}/panelists

Example Request

$ curl https://api.zoom.us/v2/webinars/{webinarId}/panelists

Example Response

200 OK
{
    "total_records": "integer",
    "panelists": [
        {
            "id": "string",
            "name": "string",
            "email": "string",
            "join_url": "string"
        }
    ]
}
Path Arguments  
webinarId required The webinar ID

Add a webinar panelist

Add panelist to webinar

Definition

POST https://api.zoom.us/v2/webinars/{webinarId}/panelists

Example Request

$ curl https://api.zoom.us/v2/webinars/{webinarId}/panelists \
   -d '{
    "panelists": [
        {
            "name": "string",
            "email": "string"
        }
    ]
}'

Example Response

201 Created
{
    "id": "string",
    "join_url": "string"
}
Path Arguments  
webinarId required The webinar ID
Body Arguments  
panelists optional List of Panelist objects

Remove a webinar’s panelists

Remove all panelists from a webinar

Definition

DELETE https://api.zoom.us/v2/webinars/{webinarId}/panelists

Example Request

$ curl https://api.zoom.us/v2/webinars/{webinarId}/panelists \
    -X DELETE

Example Response

204 No Content
Path Arguments  
webinarId required The webinar ID

Remove a webinar panelist

Remove a panelist from a webinar

Definition

DELETE https://api.zoom.us/v2/webinars/{webinarId}/panelists/{panelistId}

Example Request

$ curl https://api.zoom.us/v2/webinars/{webinarId}/panelists/{panelistId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
webinarId required The webinar ID
panelistId required The panelist ID

List a webinar’s registrants

List registrants for a webinar

Definition

GET https://api.zoom.us/v2/webinars/{webinarId}/registrants

Example Request

$ curl https://api.zoom.us/v2/webinars/{webinarId}/registrants

Example Response

200 OK
{
    "page_count": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "next_page_token": "string",
    "registrants": [
        {
            "id": "string",
            "email": "string",
            "first_name": "string",
            "last_name": "string",
            "address": "string",
            "city": "string",
            "country": "string",
            "zip": "string",
            "state": "string",
            "phone": "string",
            "industry": "string",
            "org": "string",
            "job_title": "string",
            "purchasing_time_frame": "string",
            "role_in_purchase_process": "string",
            "no_of_employees": "string",
            "comments": "string",
            "custom_questions": [
                {
                    "title": "string",
                    "value": "string"
                }
            ],
            "status": "string",
            "create_time": "string [date-time]",
            "join_url": "string [string]"
        }
    ]
}
Path Arguments  
webinarId required The webinar ID
Query Arguments  
occurrence_id optional The meeting occurrence ID
status optional
approved
The registrant status
pending registrants status is pending
approved registrants status is approved
denied registrants status is denied
page_size optional
30
300
The number of records returned within a single API call
page_number optional
1
Current page number of returned records

Add a webinar registrant

Add a registrant for a webinar

Definition

POST https://api.zoom.us/v2/webinars/{webinarId}/registrants

Example Request

$ curl https://api.zoom.us/v2/webinars/{webinarId}/registrants \
   -d '{
    "email": "string",
    "first_name": "string",
    "last_name": "string",
    "address": "string",
    "city": "string",
    "country": "string",
    "zip": "string",
    "state": "string",
    "phone": "string",
    "industry": "string",
    "org": "string",
    "job_title": "string",
    "purchasing_time_frame": "string",
    "role_in_purchase_process": "string",
    "no_of_employees": "string",
    "comments": "string",
    "custom_questions": [
        {
            "title": "string",
            "value": "string"
        }
    ]
}'

Example Response

201 Created
{
    "registrant_id": "string",
    "id": "string",
    "topic": "string",
    "start_time": "string [date-time]",
    "join_url": "string"
}
Path Arguments  
webinarId required The webinar ID
Query Arguments  
occurrence_ids optional Occurrence IDs, could get this value from Webinar Get API. Multiple value separated by comma.
Body Arguments  
email required A valid email address
first_name required User’s first name
last_name required User’s last name
address optional Address
city optional City
country optional Country
zip optional Zip/Postal Code
state optional State/Province
phone optional Phone
industry optional Industry
org optional Organization
job_title optional Job Title
purchasing_time_frame optional Purchasing Time Frame
Within a month
1-3 months
4-6 months
More than 6 months
No timeframe
role_in_purchase_process optional Role in Purchase Process
Decision Maker
Evaluator/Recommender
Influencer
Not involved
no_of_employees optional Number of Employees
1-20
21-50
51-100
101-500
500-1,000
1,001-5,000
5,001-10,000
More than 10,000
comments optional Questions & Comments
custom_questions optional Custom Questions

Update a webinar registrant’s status

Update a webinar registrant’s status

Definition

PUT https://api.zoom.us/v2/webinars/{webinarId}/registrants/status

Example Request

$ curl https://api.zoom.us/v2/webinars/{webinarId}/registrants/status \
   -d '{
    "action": "string",
    "registrants": [
        {
            "id": "string",
            "email": "string"
        }
    ]
}'

Example Response

204 No Content
Path Arguments  
webinarId required The webinar ID
Query Arguments  
occurrence_id optional The meeting occurrence ID
Body Arguments  
action required
approve Approve registrant
cancel Cancel registrant
deny Deny registrant
registrants optional
30
List of registrants

List of ended webinar instances

List of ended webinar instances

Definition

GET https://api.zoom.us/v2/past_webinars/{webinarId}/instances

Example Request

$ curl https://api.zoom.us/v2/past_webinars/{webinarId}/instances

Example Response

200 OK
{
    "webinars": [
        {
            "uuid": "string",
            "start_time": "string [date-time]"
        }
    ]
}
Path Arguments  
webinarId required The webinar ID

Groups

The Group object

Group object

{
    "name": "string",
    "total_members": "integer"
}
Property Description
name string Group name
total_members integer Total number of members in this group

List groups

List groups under your account

Definition

GET https://api.zoom.us/v2/groups

Example Request

$ curl https://api.zoom.us/v2/groups

Example Response

200 OK
{
    "total_records": "integer",
    "groups": [
        {
            "id": "string",
            "name": "string",
            "total_members": "integer"
        }
    ]
}

Create a group

Create a group under your account

Definition

POST https://api.zoom.us/v2/groups

Example Request

$ curl https://api.zoom.us/v2/groups \
   -d '{
    "name": "string"
}'

Example Response

201 Created
{
    "id": "string",
    "name": "string",
    "total_members": "integer"
}
Body Arguments  
name optional Group name

Retrieve a group

Retrieve a group under your account

Definition

GET https://api.zoom.us/v2/groups/{groupId}

Example Request

$ curl https://api.zoom.us/v2/groups/{groupId}

Example Response

200 OK
{
    "id": "string",
    "name": "string",
    "total_members": "integer"
}
Path Arguments  
groupId required The group ID

Update a group

Update a group under your account

Definition

PATCH https://api.zoom.us/v2/groups/{groupId}

Example Request

$ curl https://api.zoom.us/v2/groups/{groupId} \
   -d '{
    "name": "string"
}'

Example Response

204 No Content
Path Arguments  
groupId required The group ID
Body Arguments  
name optional Group name. Must be unique in one account. Character length is less than 128.

Delete a group

Delete a group under your account

Definition

DELETE https://api.zoom.us/v2/groups/{groupId}

Example Request

$ curl https://api.zoom.us/v2/groups/{groupId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
groupId required The group ID

List a group’s members

List a group’s members under your account

Definition

GET https://api.zoom.us/v2/groups/{groupId}/members

Example Request

$ curl https://api.zoom.us/v2/groups/{groupId}/members

Example Response

200 OK
{
    "page_count": "integer",
    "page_number": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "members": [
        {
            "id": "string",
            "email": "string",
            "first_name": "string",
            "last_name": "string",
            "type": "integer"
        }
    ]
}
Path Arguments  
groupId required The group ID
Query Arguments  
page_size optional
30
300
The number of records returned within a single API call
page_number optional
1
Current page number of returned records

Add group members

Add members to a group under your account

Definition

POST https://api.zoom.us/v2/groups/{groupId}/members

Example Request

$ curl https://api.zoom.us/v2/groups/{groupId}/members \
   -d '{
    "members": [
        {
            "id": "string",
            "email": "string"
        }
    ]
}'

Example Response

201 Created
{
    "ids": "string",
    "added_at": "string [date-time]"
}
Path Arguments  
groupId required The group ID
Body Arguments  
members optional
30
List of Group members

Delete a group member

Delete a member from a group under your account

Definition

DELETE https://api.zoom.us/v2/groups/{groupId}/members/{memberId}

Example Request

$ curl https://api.zoom.us/v2/groups/{groupId}/members/{memberId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
groupId required The group ID
memberId required The member ID

IM Groups

The IM Group object

IM Group object

{
    "name": "string",
    "total_members": "integer",
    "type": "string",
    "search_by_domain": "boolean",
    "search_by_account": "boolean",
    "search_by_ma_account": "boolean"
}
Property Description
name string Group name
total_members integer Total number of members in this group
type string IM Group type
normal Only members can see the group automatically. Other people can search members in the group.
shared All people in the account can see the group and members automatically
restricted Nobody can see the group or search members except the members in the group
search_by_domain boolean Members can search others in the same email domain
search_by_account boolean Members can search others under same account
search_by_ma_account boolean Members can search others under same master account, including all sub accounts

List IM Groups

List IM groups under your account

Definition

GET https://api.zoom.us/v2/im/groups

Example Request

$ curl https://api.zoom.us/v2/im/groups

Example Response

200 OK
{
    "page_count": "integer",
    "page_number": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "groups": [
        {
            "id": "string",
            "name": "string",
            "total_members": "integer",
            "type": "string",
            "search_by_domain": "boolean",
            "search_by_account": "boolean",
            "search_by_ma_account": "boolean"
        }
    ]
}

Create an IM Group

Create a IM Group under your account

Definition

POST https://api.zoom.us/v2/im/groups

Example Request

$ curl https://api.zoom.us/v2/im/groups \
   -d '{
    "name": "string",
    "type": "string",
    "search_by_domain": "boolean",
    "search_by_account": "boolean",
    "search_by_ma_account": "boolean"
}'

Example Response

201 Created
{
    "id": "string",
    "name": "string",
    "total_members": "integer",
    "search_by_domain": "boolean",
    "search_by_account": "boolean",
    "search_by_ma_account": "boolean"
}
Body Arguments  
name optional
128
Group name, must be unique in one account
type optional
normal
IM Group type
normal Only members can see the group automatically. Other people can search members in the group.
shared All people in the account can see the group and members automatically
restricted Nobody can see the group or search members except the members in the group
search_by_domain optional Members can search others in the same email domain
search_by_account optional Members can search others under same account
search_by_ma_account optional Members can search others under same master account, including all sub accounts

Retrieve an IM Group

Retrieve an IM Group under your account

Definition

GET https://api.zoom.us/v2/im/groups/{groupId}

Example Request

$ curl https://api.zoom.us/v2/im/groups/{groupId}

Example Response

200 OK
{
    "id": "string",
    "name": "string",
    "total_members": "integer",
    "type": "string",
    "search_by_domain": "boolean",
    "search_by_account": "boolean",
    "search_by_ma_account": "boolean"
}
Path Arguments  
groupId required The group ID

Update an IM Group

Update an IM Group under your account

Definition

PATCH https://api.zoom.us/v2/im/groups/{groupId}

Example Request

$ curl https://api.zoom.us/v2/im/groups/{groupId} \
   -d '{
    "name": "string",
    "type": "string",
    "search_by_domain": "boolean",
    "search_by_account": "boolean",
    "search_by_ma_account": "boolean"
}'

Example Response

204 No Content
Path Arguments  
groupId required The group ID
Body Arguments  
name optional
128
Group name, must be unique in one account
type optional IM Group type
normal Only members can see the group automatically. Other people can search members in the group.
shared All people in the account can see the group and members automatically
restricted Nobody can see the group or search members except the members in the group
search_by_domain optional Members can search others in the same email domain
search_by_account optional Members can search others under same account
search_by_ma_account optional Members can search others under same master account, including all sub accounts

Delete an IM Group

Delete an IM Group under your account

Definition

DELETE https://api.zoom.us/v2/im/groups/{groupId}

Example Request

$ curl https://api.zoom.us/v2/im/groups/{groupId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
groupId required The group ID

List an IM Group’s members

List an IM Group’s members under your account

Definition

GET https://api.zoom.us/v2/im/groups/{groupId}/members

Example Request

$ curl https://api.zoom.us/v2/im/groups/{groupId}/members

Example Response

200 OK
{
    "page_count": "integer",
    "page_number": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "members": [
        {
            "id": "string",
            "email": "string",
            "first_name": "string",
            "last_name": "string",
            "type": "integer"
        }
    ]
}
Path Arguments  
groupId required The group ID
Query Arguments  
page_size optional
30
300
The number of records returned within a single API call
page_number optional
1
Current page number of returned records

Add IM Group members

Add members to an IM Group under your account

Definition

POST https://api.zoom.us/v2/im/groups/{groupId}/members

Example Request

$ curl https://api.zoom.us/v2/im/groups/{groupId}/members \
   -d '{
    "members": [
        {
            "id": "string",
            "email": "string"
        }
    ]
}'

Example Response

201 Created
{
    "ids": "string",
    "added_at": "string [date-time]"
}
Path Arguments  
groupId required The group ID
Body Arguments  
members optional
10
List of IM Group members

Delete an IM Group member

Delete a member from an IM Group under your account

Definition

DELETE https://api.zoom.us/v2/im/groups/{groupId}/members/{memberId}

Example Request

$ curl https://api.zoom.us/v2/im/groups/{groupId}/members/{memberId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
groupId required The group ID
memberId required The member ID

IM Chat

Retrieve IM Chat sessions

Retrieve IM Chat sessions for a specified period

Definition

GET https://api.zoom.us/v2/im/chat/sessions

Example Request

$ curl https://api.zoom.us/v2/im/chat/sessions?from=string&to=string

Example Response

200 OK
{
    "from": "string [date]",
    "to": "string [date]",
    "page_size": "integer",
    "next_page_token": "string",
    "sessions": [
        {
            "session_id": "string",
            "type": "string",
            "name": "string",
            "last_message_sent_time": "string [date-time]"
        }
    ]
}
Query Arguments  
from required Start Date
to required End Date
page_size optional
30
300
The number of records returned within a single API call
next_page_token optional 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.

Retrieve IM Chat messages

Retrieve IM Chat messages for a specified period

Definition

GET https://api.zoom.us/v2/im/chat/sessions/{sessionId}

Example Request

$ curl https://api.zoom.us/v2/im/chat/sessions/{sessionId}?from=string&to=string

Example Response

200 OK
{
    "session_id": "string",
    "from": "string [date]",
    "to": "string [date]",
    "page_size": "integer",
    "next_page_token": "string",
    "messages": [
        {
            "message": "string",
            "sender": "string",
            "date_time": "string [date-time]",
            "action": "string",
            "action_time": "string [date-time]"
        }
    ]
}
Path Arguments  
sessionId required IM Chat Session ID
Query Arguments  
from required Start Date
to required End Date
page_size optional
30
300
The number of records returned within a single API call
next_page_token optional 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.

Cloud Recording

The Cloud Recording object

Recording file Object

{
    "id": "string",
    "meeting_id": "string",
    "recording_start": "string",
    "recording_end": "string",
    "file_type": "string",
    "file_size": "number",
    "play_url": "string",
    "download_url": "string",
    "status": "string",
    "deleted_time": "string",
    "recording_type": "string"
}
Property Description
id string The recording file ID.Response in general query.
meeting_id string The meeting ID.
recording_start string The recording start time
recording_end string The recording end time. Response in general query.
file_type string The recording file type
file_size number The recording file size
play_url string The recording file play url. Response in general query.
download_url string The recording download url. Response in general query.
status string The recording status. Response in general query.
deleted_time string The recording delete time. Response in trash query.
recording_type string The recording file type, active_speaker or gallery_view

List all the recordings

List all the recordings

Definition

GET https://api.zoom.us/v2/users/{userId}/recordings

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/recordings?from=string&to=string

Example Response

200 OK
{
    "from": "string [date]",
    "to": "string [date]",
    "page_count": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "next_page_token": "string",
    "meetings": [
        {
            "uuid": "string",
            "id": "string",
            "account_id": "string",
            "host_id": "string",
            "topic": "string",
            "start_time": "string [date-time]",
            "duration": "integer",
            "total_size": "string",
            "recording_count": "string",
            "recording_files": [
                {
                    "id": "string",
                    "meeting_id": "string",
                    "recording_start": "string",
                    "recording_end": "string",
                    "file_type": "string",
                    "file_size": "number",
                    "play_url": "string",
                    "download_url": "string",
                    "status": "string",
                    "deleted_time": "string",
                    "recording_type": "string"
                }
            ]
        }
    ]
}
Path Arguments  
userId required The user ID or email address
Query Arguments  
from required Start Date
to required End Date
page_size optional
30
300
The number of records returned within a single API call
next_page_token optional 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.
mc optional
false
Query mc
trash optional
false
Query trash

Retrieve a meeting’s all recordings

Retrieve a meeting’s all recordings

Definition

GET https://api.zoom.us/v2/meetings/{meetingId}/recordings

Example Request

$ curl https://api.zoom.us/v2/meetings/{meetingId}/recordings

Example Response

200 OK
{
    "uuid": "string",
    "id": "string",
    "account_id": "string",
    "host_id": "string",
    "topic": "string",
    "start_time": "string [date-time]",
    "duration": "integer",
    "total_size": "string",
    "recording_count": "string",
    "recording_files": [
        {
            "id": "string",
            "meeting_id": "string",
            "recording_start": "string",
            "recording_end": "string",
            "file_type": "string",
            "file_size": "number",
            "play_url": "string",
            "download_url": "string",
            "status": "string",
            "deleted_time": "string",
            "recording_type": "string"
        }
    ]
}
Path Arguments  
meetingId required The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance.

Delete a meeting’s recordings

Delete a meeting’s recordings

Definition

DELETE https://api.zoom.us/v2/meetings/{meetingId}/recordings

Example Request

$ curl https://api.zoom.us/v2/meetings/{meetingId}/recordings \
    -X DELETE

Example Response

204 No Content
Path Arguments  
meetingId required The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance.
Query Arguments  
action optional
trash
The recording delete action
trash move recording to trash
delete delete recording permanently

Delete one meeting recording file

Delete one meeting recording file

Definition

DELETE https://api.zoom.us/v2/meetings/{meetingId}/recordings/{recordingId}

Example Request

$ curl https://api.zoom.us/v2/meetings/{meetingId}/recordings/{recordingId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
meetingId required The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance.
recordingId required The recording ID
Query Arguments  
action optional
trash
The recording delete action
trash move recording to trash
delete delete recording permanently

Recover a meeting’s recordings

Recover a meeting’s recordings

Definition

PUT https://api.zoom.us/v2/meetings/{meetingId}/recordings/status

Example Request

$ curl https://api.zoom.us/v2/meetings/{meetingId}/recordings/status \
   -d '{
    "action": "string"
}'

Example Response

204 No Content
Path Arguments  
meetingId required The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance.
Body Arguments  
action optional
recover recover meeting recording

Recover a single recording

Recover a single recording

Definition

PUT https://api.zoom.us/v2/meetings/{meetingId}/recordings/{recordingId}/status

Example Request

$ curl https://api.zoom.us/v2/meetings/{meetingId}/recordings/{recordingId}/status \
   -d '{
    "action": "string"
}'

Example Response

204 No Content
Path Arguments  
meetingId required The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance.
recordingId required The recording ID
Body Arguments  
action optional
recover recover meeting recording

Reports

Retrieve daily report

Retrieve daily report for one month, can only get daily report for recent 6 months

Definition

GET https://api.zoom.us/v2/report/daily

Example Request

$ curl https://api.zoom.us/v2/report/daily

Example Response

200 OK
{
    "year": "integer",
    "month": "integer",
    "dates": [
        {
            "date": "string [date]",
            "new_users": "integer",
            "meetings": "integer",
            "participants": "integer",
            "meeting_minutes": "integer"
        }
    ]
}
Query Arguments  
year optional Year for this report
month optional Month for this report

Retrieve hosts report

Retrieve active or inactive hosts report for a specified period

Definition

GET https://api.zoom.us/v2/report/users

Example Request

$ curl https://api.zoom.us/v2/report/users?from=string&to=string

Example Response

200 OK
{
    "from": "string [date]",
    "to": "string [date]",
    "page_count": "integer",
    "page_number": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "total_meetings": "integer",
    "total_participants": "integer",
    "total_meeting_minutes": "integer",
    "users": [
        {
            "id": "string [uuid]",
            "email": "string",
            "user_name": "string",
            "type": "integer",
            "dept": "string",
            "meetings": "integer",
            "participants": "integer",
            "meeting_minutes": "integer"
        }
    ]
}
Query Arguments  
type optional Active hosts or inactive hosts
active Active hosts
inactive Inactive hosts
from required Start Date
to required End Date
page_size optional
30
300
The number of records returned within a single API call
page_number optional
1
Current page number of returned records

Retrieve meetings report

Retrieve ended meetings report for a specified period

Definition

GET https://api.zoom.us/v2/report/users/{userId}/meetings

Example Request

$ curl https://api.zoom.us/v2/report/users/{userId}/meetings?from=string&to=string

Example Response

200 OK
{
    "from": "string [date]",
    "to": "string [date]",
    "page_count": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "next_page_token": "string",
    "meetings": [
        {
            "uuid": "string [uuid]",
            "id": "integer",
            "type": "integer",
            "topic": "string",
            "user_name": "string",
            "user_email": "string",
            "start_time": "string [date-time]",
            "end_time": "string [date-time]",
            "duration": "integer",
            "total_minutes": "integer",
            "participants_count": "integer"
        }
    ]
}
Path Arguments  
userId required The user ID or email address
Query Arguments  
from required Start Date
to required End Date
page_size optional
30
300
The number of records returned within a single API call
next_page_token optional 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.

Retrieve meeting details report

Retrieve ended meeting details report

Definition

GET https://api.zoom.us/v2/report/meetings/{meetingId}

Example Request

$ curl https://api.zoom.us/v2/report/meetings/{meetingId}

Example Response

200 OK
{
    "uuid": "string [uuid]",
    "id": "integer",
    "type": "integer",
    "topic": "string",
    "user_name": "string",
    "user_email": "string",
    "start_time": "string [date-time]",
    "end_time": "string [date-time]",
    "duration": "integer",
    "total_minutes": "integer",
    "participants_count": "integer"
}
Path Arguments  
meetingId required The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance.

Retrieve meeting participants report

Retrieve ended meeting participants report

Definition

GET https://api.zoom.us/v2/report/meetings/{meetingId}/participants

Example Request

$ curl https://api.zoom.us/v2/report/meetings/{meetingId}/participants

Example Response

200 OK
{
    "page_count": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "next_page_token": "string",
    "participants": [
        {
            "id": "string [uuid]",
            "user_id": "string",
            "name": "string",
            "user_email": "string",
            "join_time": "string [date-time]",
            "leave_time": "string [date-time]",
            "duration": "integer",
            "attentiveness_score": "integer"
        }
    ]
}
Path Arguments  
meetingId required The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance.
Query Arguments  
page_size optional
30
300
The number of records returned within a single API call
next_page_token optional 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.

Retrieve meeting polls report

Retrieve ended meeting polls report

Definition

GET https://api.zoom.us/v2/report/meetings/{meetingId}/polls

Example Request

$ curl https://api.zoom.us/v2/report/meetings/{meetingId}/polls

Example Response

200 OK
{
    "id": "integer",
    "uuid": "string [uuid]",
    "start_time": "string [date-time]",
    "questions": [
        {
            "name": "string",
            "email": "string",
            "question_details": [
                {
                    "question": "string",
                    "answer": "string"
                }
            ]
        }
    ]
}
Path Arguments  
meetingId required The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance.

Retrieve webinar details report

Retrieve ended webinar details report

Definition

GET https://api.zoom.us/v2/report/webinars/{webinarId}

Example Request

$ curl https://api.zoom.us/v2/report/webinars/{webinarId}

Example Response

200 OK
{
    "uuid": "string [uuid]",
    "id": "integer",
    "type": "integer",
    "topic": "string",
    "user_name": "string",
    "user_email": "string",
    "start_time": "string [date-time]",
    "end_time": "string [date-time]",
    "duration": "integer",
    "total_minutes": "integer",
    "participants_count": "integer"
}
Path Arguments  
webinarId required The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance.

Retrieve webinar participants report

Retrieve ended webinar participants report

Definition

GET https://api.zoom.us/v2/report/webinars/{webinarId}/participants

Example Request

$ curl https://api.zoom.us/v2/report/webinars/{webinarId}/participants

Example Response

200 OK
{
    "page_count": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "next_page_token": "string",
    "participants": [
        {
            "id": "string [uuid]",
            "user_id": "string",
            "name": "string",
            "user_email": "string",
            "join_time": "string [date-time]",
            "leave_time": "string [date-time]",
            "duration": "integer",
            "attentiveness_score": "string"
        }
    ]
}
Path Arguments  
webinarId required The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance.
Query Arguments  
page_size optional
30
300
The number of records returned within a single API call
next_page_token optional 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.

Retrieve webinar polls report

Retrieve ended webinar polls report

Definition

GET https://api.zoom.us/v2/report/webinars/{webinarId}/polls

Example Request

$ curl https://api.zoom.us/v2/report/webinars/{webinarId}/polls

Example Response

200 OK
{
    "id": "integer",
    "uuid": "string [uuid]",
    "start_time": "string [date-time]",
    "questions": [
        {
            "name": "string",
            "email": "string",
            "question_details": [
                {
                    "question": "string",
                    "answer": "string"
                }
            ]
        }
    ]
}
Path Arguments  
webinarId required The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance.

Retrieve webinar Q&A report

Retrieve ended webinar Q&A report

Definition

GET https://api.zoom.us/v2/report/webinars/{webinarId}/qa

Example Request

$ curl https://api.zoom.us/v2/report/webinars/{webinarId}/qa

Example Response

200 OK
{
    "id": "integer",
    "uuid": "string [uuid]",
    "start_time": "string [date-time]",
    "questions": [
        {
            "name": "string",
            "email": "string",
            "question_details": [
                {
                    "question": "string",
                    "answer": "string"
                }
            ]
        }
    ]
}
Path Arguments  
webinarId required The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance.

Retrieve telephone report

Retrieve telephone report for a specified period

.

Definition

GET https://api.zoom.us/v2/report/telephone

Example Request

$ curl https://api.zoom.us/v2/report/telephone?from=string&to=string

Example Response

200 OK
{
    "from": "string [date]",
    "to": "string [date]",
    "page_count": "integer",
    "page_number": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "telephony_usage": [
        {
            "meeting_id": "integer",
            "phone_number": "string",
            "host_name": "string",
            "host_email": "string",
            "dept": "string",
            "start_time": "string [date-time]",
            "end_time": "string [date-time]",
            "duration": "integer",
            "total": "number"
        }
    ]
}
Query Arguments  
type optional
1
Audio type
1 Toll-free Call-in & Call-out
from required Start Date
to required End Date
page_size optional
30
300
The number of records returned within a single API call
page_number optional
1
Current page number of returned records

Dashboards

List meetings

List live meetings or past meetings for a specified period

Definition

GET https://api.zoom.us/v2/metrics/meetings

Example Request

$ curl https://api.zoom.us/v2/metrics/meetings?from=string&to=string

Example Response

200 OK
{
    "from": "string [date]",
    "to": "string [date]",
    "page_count": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "next_page_token": "string",
    "meetings": [
        {
            "uuid": "string [uuid]",
            "id": "integer",
            "topic": "string",
            "host": "string",
            "email": "string",
            "user_type": "string",
            "start_time": "string [date-time]",
            "end_time": "string [date-time]",
            "duration": "string",
            "participants": "integer",
            "has_pstn": "boolean",
            "has_voip": "boolean",
            "has_3rd_party_audio": "boolean",
            "has_video": "boolean",
            "has_screen_share": "boolean",
            "has_recording": "boolean",
            "has_sip": "boolean"
        }
    ]
}
Query Arguments  
type optional
live
The meeting type
past past meetings
pastOne past one user meetings
live live meetings
from required Start Date
to required End Date
page_size optional
30
300
The number of records returned within a single API call
next_page_token optional 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.

Retrieve meeting detail

Retrieve live or past meetings detail

Definition

GET https://api.zoom.us/v2/metrics/meetings/{meetingId}

Example Request

$ curl https://api.zoom.us/v2/metrics/meetings/{meetingId}

Example Response

200 OK
{
    "uuid": "string [uuid]",
    "id": "integer",
    "topic": "string",
    "host": "string",
    "email": "string",
    "user_type": "string",
    "start_time": "string [date-time]",
    "end_time": "string [date-time]",
    "duration": "string",
    "participants": "integer",
    "has_pstn": "boolean",
    "has_voip": "boolean",
    "has_3rd_party_audio": "boolean",
    "has_video": "boolean",
    "has_screen_share": "boolean",
    "has_recording": "boolean",
    "has_sip": "boolean"
}
Path Arguments  
meetingId required The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance.
Query Arguments  
type optional
live
The meeting type
past past meeting
pastOne past one user meeting
live live meeting

Retrieve meeting participants

Retrieve live or past meetings participants

Definition

GET https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants

Example Request

$ curl https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants

Example Response

200 OK
{
    "page_count": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "next_page_token": "string",
    "participants": [
        {
            "id": "string [uuid]",
            "user_id": "string",
            "user_name": "string",
            "device": "string",
            "ip_address": "string",
            "location": "string",
            "network_type": "string",
            "microphone": "string",
            "speaker": "string",
            "data_center": "string",
            "connection_type": "string",
            "join_time": "string [date-time]",
            "leave_time": "string [date-time]",
            "share_application": "boolean",
            "share_desktop": "boolean",
            "share_whiteboard": "boolean",
            "recording": "boolean",
            "pc_name": "string",
            "domain": "string",
            "mac_addr": "string",
            "harddisk_id": "string",
            "version": "string"
        }
    ]
}
Path Arguments  
meetingId required The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance.
Query Arguments  
type optional
live
The meeting type
past past meeting
pastOne past one user meeting
live live meeting
page_size optional
30
300
The number of records returned within a single API call
next_page_token optional 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.

Retrieve meeting participant QOS

Retrieve live or past meetings participant quality of service

Definition

GET https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants/{participantId}/qos

Example Request

$ curl https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants/{participantId}/qos

Example Response

200 OK
{
    "user_id": "string [uuid]",
    "user_name": "string",
    "device": "string",
    "ip_address": "string",
    "location": "string",
    "join_time": "string [date-time]",
    "leave_time": "string [date-time]",
    "pc_name": "string",
    "domain": "string",
    "mac_addr": "string",
    "harddisk_id": "string",
    "version": "string",
    "user_qos": {
        "date_time": "string [date-time]",
        "audio_input": {
            "bitrate": "string",
            "latency": "string",
            "jitter": "string",
            "avg_loss": "string",
            "max_loss": "string"
        },
        "audio_output": {
            "bitrate": "string",
            "latency": "string",
            "jitter": "string",
            "avg_loss": "string",
            "max_loss": "string"
        },
        "video_input": {
            "bitrate": "string",
            "latency": "string",
            "jitter": "string",
            "avg_loss": "string",
            "max_loss": "string",
            "resolution": "string",
            "frame_rate": "string"
        },
        "video_output": {
            "bitrate": "string",
            "latency": "string",
            "jitter": "string",
            "avg_loss": "string",
            "max_loss": "string",
            "resolution": "string",
            "frame_rate": "string"
        },
        "as_input": {
            "bitrate": "string",
            "latency": "string",
            "jitter": "string",
            "avg_loss": "string",
            "max_loss": "string",
            "resolution": "string",
            "frame_rate": "string"
        },
        "as_output": {
            "bitrate": "string",
            "latency": "string",
            "jitter": "string",
            "avg_loss": "string",
            "max_loss": "string",
            "resolution": "string",
            "frame_rate": "string"
        },
        "cpu_usage": {
            "zoom_min_cpu_usage": "string",
            "zoom_avg_cpu_usage": "string",
            "zoom_max_cpu_usage": "string",
            "system_max_cpu_usage": "string"
        }
    }
}
Path Arguments  
meetingId required The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance.
participantId required Participant ID
Query Arguments  
type optional
live
The meeting type
past past meeting
live live meeting

List meeting participants QOS

Retrieve list of live or past meetings participants quality of service

Definition

GET https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants/qos

Example Request

$ curl https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants/qos

Example Response

200 OK
{
    "page_count": "integer [int64]",
    "page_size": "integer",
    "total_records": "integer [int64]",
    "next_page_token": "string",
    "participants": [
        {
            "user_id": "string [uuid]",
            "user_name": "string",
            "device": "string",
            "ip_address": "string",
            "location": "string",
            "join_time": "string [date-time]",
            "leave_time": "string [date-time]",
            "pc_name": "string",
            "domain": "string",
            "mac_addr": "string",
            "harddisk_id": "string",
            "version": "string",
            "user_qos": {
                "date_time": "string [date-time]",
                "audio_input": {
                    "bitrate": "string",
                    "latency": "string",
                    "jitter": "string",
                    "avg_loss": "string",
                    "max_loss": "string"
                },
                "audio_output": {
                    "bitrate": "string",
                    "latency": "string",
                    "jitter": "string",
                    "avg_loss": "string",
                    "max_loss": "string"
                },
                "video_input": {
                    "bitrate": "string",
                    "latency": "string",
                    "jitter": "string",
                    "avg_loss": "string",
                    "max_loss": "string",
                    "resolution": "string",
                    "frame_rate": "string"
                },
                "video_output": {
                    "bitrate": "string",
                    "latency": "string",
                    "jitter": "string",
                    "avg_loss": "string",
                    "max_loss": "string",
                    "resolution": "string",
                    "frame_rate": "string"
                },
                "as_input": {
                    "bitrate": "string",
                    "latency": "string",
                    "jitter": "string",
                    "avg_loss": "string",
                    "max_loss": "string",
                    "resolution": "string",
                    "frame_rate": "string"
                },
                "as_output": {
                    "bitrate": "string",
                    "latency": "string",
                    "jitter": "string",
                    "avg_loss": "string",
                    "max_loss": "string",
                    "resolution": "string",
                    "frame_rate": "string"
                },
                "cpu_usage": {
                    "zoom_min_cpu_usage": "string",
                    "zoom_avg_cpu_usage": "string",
                    "zoom_max_cpu_usage": "string",
                    "system_max_cpu_usage": "string"
                }
            }
        }
    ]
}
Path Arguments  
meetingId required The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance.
Query Arguments  
type optional
live
The meeting type
past past meeting
live live meeting
page_size optional
1
10
Number of items returned per page
next_page_token optional 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.

Retrieve sharing/recording details of meeting participant

Retrieve sharing/recording details of live or past meetings participant

Definition

GET https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants/sharing

Example Request

$ curl https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants/sharing

Example Response

200 OK
{
    "page_count": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "next_page_token": "string",
    "participants": [
        {
            "id": "string",
            "user_id": "string",
            "user_name": "string",
            "details": [
                {
                    "content": "string",
                    "start_time": "string",
                    "end_time": "string"
                }
            ]
        }
    ]
}
Path Arguments  
meetingId required The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance.
Query Arguments  
type optional
live
The meeting type
past past meeting
live live meeting
page_size optional
30
300
The number of records returned within a single API call
next_page_token optional 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.

List webinars

List live webinars or past webinars for a specified period

Definition

GET https://api.zoom.us/v2/metrics/webinars

Example Request

$ curl https://api.zoom.us/v2/metrics/webinars?from=string&to=string

Example Response

200 OK
{
    "from": "string [date]",
    "to": "string [date]",
    "page_count": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "next_page_token": "string",
    "webinars": [
        {
            "uuid": "string [uuid]",
            "id": "integer",
            "topic": "string",
            "host": "string",
            "email": "string",
            "user_type": "string",
            "start_time": "string [date-time]",
            "end_time": "string [date-time]",
            "duration": "string",
            "participants": "integer",
            "has_pstn": "boolean",
            "has_voip": "boolean",
            "has_3rd_party_audio": "boolean",
            "has_video": "boolean",
            "has_screen_share": "boolean",
            "has_recording": "boolean",
            "has_sip": "boolean"
        }
    ]
}
Query Arguments  
type optional
live
The webinar type
past past webinars
live live webinars
from required Start Date
to required End Date
page_size optional
30
300
The number of records returned within a single API call
next_page_token optional 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.

Retrieve webinar detail

Retrieve live or past webinars detail

Definition

GET https://api.zoom.us/v2/metrics/webinars/{webinarId}

Example Request

$ curl https://api.zoom.us/v2/metrics/webinars/{webinarId}

Example Response

200 OK
{
    "uuid": "string [uuid]",
    "id": "integer",
    "topic": "string",
    "host": "string",
    "email": "string",
    "user_type": "string",
    "start_time": "string [date-time]",
    "end_time": "string [date-time]",
    "duration": "string",
    "participants": "integer",
    "has_pstn": "boolean",
    "has_voip": "boolean",
    "has_3rd_party_audio": "boolean",
    "has_video": "boolean",
    "has_screen_share": "boolean",
    "has_recording": "boolean",
    "has_sip": "boolean"
}
Path Arguments  
webinarId required The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance.
Query Arguments  
type optional
live
The webinar type
past past webinar
live live webinar

Retrieve webinar participants

Retrieve live or past webinar participants

Definition

GET https://api.zoom.us/v2/metrics/webinars/{webinarId}/participants

Example Request

$ curl https://api.zoom.us/v2/metrics/webinars/{webinarId}/participants

Example Response

200 OK
{
    "page_count": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "next_page_token": "string",
    "participants": [
        {
            "id": "string [uuid]",
            "user_id": "string",
            "user_name": "string",
            "device": "string",
            "ip_address": "string",
            "location": "string",
            "network_type": "string",
            "microphone": "string",
            "speaker": "string",
            "data_center": "string",
            "connection_type": "string",
            "join_time": "string [date-time]",
            "leave_time": "string [date-time]",
            "share_application": "boolean",
            "share_desktop": "boolean",
            "share_whiteboard": "boolean",
            "recording": "boolean",
            "pc_name": "string",
            "domain": "string",
            "mac_addr": "string",
            "harddisk_id": "string",
            "version": "string"
        }
    ]
}
Path Arguments  
webinarId required The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance.
Query Arguments  
type optional
live
The webinar type
past past webinar
live live webinar
page_size optional
30
300
The number of records returned within a single API call
next_page_token optional 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.

Retrieve webinar participant QOS

Retrieve live or past webinar participant quality of service

Definition

GET https://api.zoom.us/v2/metrics/webinars/{webinarId}/participants/{participantId}/qos

Example Request

$ curl https://api.zoom.us/v2/metrics/webinars/{webinarId}/participants/{participantId}/qos

Example Response

200 OK
{
    "user_id": "string [uuid]",
    "user_name": "string",
    "device": "string",
    "ip_address": "string",
    "location": "string",
    "join_time": "string [date-time]",
    "leave_time": "string [date-time]",
    "pc_name": "string",
    "domain": "string",
    "mac_addr": "string",
    "harddisk_id": "string",
    "version": "string",
    "user_qos": {
        "date_time": "string [date-time]",
        "audio_input": {
            "bitrate": "string",
            "latency": "string",
            "jitter": "string",
            "avg_loss": "string",
            "max_loss": "string"
        },
        "audio_output": {
            "bitrate": "string",
            "latency": "string",
            "jitter": "string",
            "avg_loss": "string",
            "max_loss": "string"
        },
        "video_input": {
            "bitrate": "string",
            "latency": "string",
            "jitter": "string",
            "avg_loss": "string",
            "max_loss": "string",
            "resolution": "string",
            "frame_rate": "string"
        },
        "video_output": {
            "bitrate": "string",
            "latency": "string",
            "jitter": "string",
            "avg_loss": "string",
            "max_loss": "string",
            "resolution": "string",
            "frame_rate": "string"
        },
        "as_input": {
            "bitrate": "string",
            "latency": "string",
            "jitter": "string",
            "avg_loss": "string",
            "max_loss": "string",
            "resolution": "string",
            "frame_rate": "string"
        },
        "as_output": {
            "bitrate": "string",
            "latency": "string",
            "jitter": "string",
            "avg_loss": "string",
            "max_loss": "string",
            "resolution": "string",
            "frame_rate": "string"
        },
        "cpu_usage": {
            "zoom_min_cpu_usage": "string",
            "zoom_avg_cpu_usage": "string",
            "zoom_max_cpu_usage": "string",
            "system_max_cpu_usage": "string"
        }
    }
}
Path Arguments  
webinarId required The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance.
participantId required Participant ID
Query Arguments  
type optional
live
The webinar type
past past webinar
live live webinar

List webinar participant QOS

Retrieve list of live or past webinar participants quality of service

Definition

GET https://api.zoom.us/v2/metrics/webinars/{webinarId}/participants/qos

Example Request

$ curl https://api.zoom.us/v2/metrics/webinars/{webinarId}/participants/qos

Example Response

200 OK
{
    "page_count": "integer [int64]",
    "page_size": "integer",
    "total_records": "integer [int64]",
    "next_page_token": "string",
    "participants": [
        {
            "user_id": "string [uuid]",
            "user_name": "string",
            "device": "string",
            "ip_address": "string",
            "location": "string",
            "join_time": "string [date-time]",
            "leave_time": "string [date-time]",
            "pc_name": "string",
            "domain": "string",
            "mac_addr": "string",
            "harddisk_id": "string",
            "version": "string",
            "user_qos": {
                "date_time": "string [date-time]",
                "audio_input": {
                    "bitrate": "string",
                    "latency": "string",
                    "jitter": "string",
                    "avg_loss": "string",
                    "max_loss": "string"
                },
                "audio_output": {
                    "bitrate": "string",
                    "latency": "string",
                    "jitter": "string",
                    "avg_loss": "string",
                    "max_loss": "string"
                },
                "video_input": {
                    "bitrate": "string",
                    "latency": "string",
                    "jitter": "string",
                    "avg_loss": "string",
                    "max_loss": "string",
                    "resolution": "string",
                    "frame_rate": "string"
                },
                "video_output": {
                    "bitrate": "string",
                    "latency": "string",
                    "jitter": "string",
                    "avg_loss": "string",
                    "max_loss": "string",
                    "resolution": "string",
                    "frame_rate": "string"
                },
                "as_input": {
                    "bitrate": "string",
                    "latency": "string",
                    "jitter": "string",
                    "avg_loss": "string",
                    "max_loss": "string",
                    "resolution": "string",
                    "frame_rate": "string"
                },
                "as_output": {
                    "bitrate": "string",
                    "latency": "string",
                    "jitter": "string",
                    "avg_loss": "string",
                    "max_loss": "string",
                    "resolution": "string",
                    "frame_rate": "string"
                },
                "cpu_usage": {
                    "zoom_min_cpu_usage": "string",
                    "zoom_avg_cpu_usage": "string",
                    "zoom_max_cpu_usage": "string",
                    "system_max_cpu_usage": "string"
                }
            }
        }
    ]
}
Path Arguments  
webinarId required The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance.
Query Arguments  
type optional
live
The webinar type
past past webinar
live live webinar
page_size optional
1
10
Number of items returned per page
next_page_token optional 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.

Retrieve sharing/recording details of webinar participant

Retrieve sharing/recording details of live or past webinar participant

Definition

GET https://api.zoom.us/v2/metrics/webinars/{webinarId}/participants/sharing

Example Request

$ curl https://api.zoom.us/v2/metrics/webinars/{webinarId}/participants/sharing

Example Response

200 OK
{
    "page_count": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "next_page_token": "string",
    "participants": [
        {
            "id": "string",
            "user_id": "string",
            "user_name": "string",
            "details": [
                {
                    "content": "string",
                    "start_time": "string",
                    "end_time": "string"
                }
            ]
        }
    ]
}
Path Arguments  
webinarId required The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance.
Query Arguments  
type optional
live
The webinar type
past past webinar
live live webinar
page_size optional
30
300
The number of records returned within a single API call
next_page_token optional 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.

List Zoom Rooms

List all zoom rooms on account

Definition

GET https://api.zoom.us/v2/metrics/zoomrooms

Example Request

$ curl https://api.zoom.us/v2/metrics/zoomrooms

Example Response

200 OK
{
    "page_count": "integer",
    "page_number": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "zoom_rooms": [
        {
            "id": "string",
            "room_name": "string",
            "calender_name": "string",
            "email": "string",
            "account_type": "string",
            "status": "string",
            "device_ip": "string",
            "camera": "string",
            "microphone": "string",
            "speaker": "string",
            "last_start_time": "string"
        }
    ]
}
Query Arguments  
page_size optional
30
300
The number of records returned within a single API call
page_number optional
1
Current page number of returned records

Retrieve Zoom Room

Retrieve zoom room on account

Definition

GET https://api.zoom.us/v2/metrics/zoomrooms/{zoomroomId}

Example Request

$ curl https://api.zoom.us/v2/metrics/zoomrooms/{zoomroomId}?from=string&to=string

Example Response

200 OK
{
    "id": "string",
    "room_name": "string",
    "calender_name": "string",
    "email": "string",
    "account_type": "string",
    "status": "string",
    "device_ip": "string",
    "camera": "string",
    "microphone": "string",
    "speaker": "string",
    "last_start_time": "string",
    "live_meeting": {
        "uuid": "string [uuid]",
        "id": "integer",
        "topic": "string",
        "host": "string",
        "email": "string",
        "user_type": "string",
        "start_time": "string [date-time]",
        "end_time": "string [date-time]",
        "duration": "string",
        "participants": "integer",
        "has_pstn": "boolean",
        "has_voip": "boolean",
        "has_3rd_party_audio": "boolean",
        "has_video": "boolean",
        "has_screen_share": "boolean",
        "has_recording": "boolean",
        "has_sip": "boolean"
    },
    "past_meetings": {
        "from": "string [date]",
        "to": "string [date]",
        "page_count": "integer",
        "page_size": "integer",
        "total_records": "integer",
        "next_page_token": "string",
        "meetings": [
            {
                "uuid": "string [uuid]",
                "id": "integer",
                "topic": "string",
                "host": "string",
                "email": "string",
                "user_type": "string",
                "start_time": "string [date-time]",
                "end_time": "string [date-time]",
                "duration": "string",
                "participants": "integer",
                "has_pstn": "boolean",
                "has_voip": "boolean",
                "has_3rd_party_audio": "boolean",
                "has_video": "boolean",
                "has_screen_share": "boolean",
                "has_recording": "boolean",
                "has_sip": "boolean"
            }
        ]
    }
}
Path Arguments  
zoomroomId required The Zoom Room ID
Query Arguments  
from required Start Date
to required End Date
page_size optional
30
300
The number of records returned within a single API call
page_number optional
1
Current page number of returned records

Retrieve CRC Port Usage

Get CRC Port usage hour by hour for a specified time period

.

Definition

GET https://api.zoom.us/v2/metrics/crc

Example Request

$ curl https://api.zoom.us/v2/metrics/crc?from=string&to=string

Example Response

200 OK
{
    "from": "string [date]",
    "to": "string [date]",
    "crc_ports_usage": [
        {
            "date_time": "string",
            "crc_ports_hour_usage": [
                {
                    "hour": "string",
                    "max_usage": "integer",
                    "total_usage": "integer"
                }
            ]
        }
    ]
}
Query Arguments  
from required Start Date
to required End Date

Retrieve IM

Retrieve metrics of Zoom IM

Definition

GET https://api.zoom.us/v2/metrics/im

Example Request

$ curl https://api.zoom.us/v2/metrics/im?from=string&to=string

Example Response

200 OK
{
    "from": "string [date]",
    "to": "string [date]",
    "page_count": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "next_page_token": "string",
    "users": [
        {
            "user_id": "string",
            "user_name": "string",
            "email": "string",
            "total_send": "integer",
            "total_receive": "integer",
            "group_send": "integer",
            "group_receive": "integer",
            "calls_send": "integer",
            "calls_receive": "integer",
            "files_send": "integer",
            "files_receive": "integer",
            "images_send": "integer",
            "images_receive": "integer",
            "voice_send": "integer",
            "voice_receive": "integer",
            "videos_send": "integer",
            "videos_receive": "integer",
            "emoji_send": "integer",
            "emoji_receive": "integer"
        }
    ]
}
Query Arguments  
from required Start Date
to required End Date
page_size optional
30
300
The number of records returned within a single API call
next_page_token optional 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.

Webhooks

The Webhook object

Webhook base object, only available for version 2 webhook

{
    "url": "string",
    "auth_user": "string",
    "auth_password": "string",
    "events": [
        "string"
    ]
}
Property Description
url string Webhook endpoint
auth_user string Webhook auth user name
auth_password string Webhook auth password
events array List of events objects.
meeting_started The meeting has started.
meeting_ended The meeting has ended.
meeting_jbh Attendee has joined a meeting before the host.
meeting_join Host hasn’t launched the meeting, attendee is waiting.
recording_completed All the Cloud Recordings have completed processing and is available.
participant_joined Participant has joined the meeting.
participant_left Participant has leaved the meeting.
meeting_registered Attendee registered for a meeting or webinar.
recording_transcript_completed Recording audio transcript files have processed and are available.

Switch webhook version

Switch webhook version

Definition

PATCH https://api.zoom.us/v2/webhooks/options

Example Request

$ curl https://api.zoom.us/v2/webhooks/options \
   -d '{
    "version": "string"
}'

Example Response

204 No Content
Body Arguments  
version required
v1 Version 1
v2 Version 2

List webhooks

List webhooks for a account

Definition

GET https://api.zoom.us/v2/webhooks

Example Request

$ curl https://api.zoom.us/v2/webhooks

Example Response

200 OK
{
    "total_records": "integer",
    "webhooks": [
        {
            "webhook_id": "string",
            "url": "string",
            "auth_user": "string",
            "auth_password": "string",
            "events": [
                "string"
            ],
            "created_at": "string [date-time]"
        }
    ]
}

Create a webhook

Create a webhook for a account

Definition

POST https://api.zoom.us/v2/webhooks

Example Request

$ curl https://api.zoom.us/v2/webhooks \
   -d '{
    "url": "string",
    "auth_user": "string",
    "auth_password": "string",
    "events": [
        "string"
    ]
}'

Example Response

201 Created
{
    "webhook_id": "string",
    "url": "string",
    "auth_user": "string",
    "auth_password": "string",
    "events": [
        "string"
    ],
    "created_at": "string [date-time]"
}
Body Arguments  
url required
256
Webhook endpoint
auth_user required
128
Webhook auth user name
auth_password required
64
Webhook auth password
events required List of events objects.
meeting_started The meeting has started.
meeting_ended The meeting has ended.
meeting_jbh Attendee has joined a meeting before the host.
meeting_join Host hasn’t launched the meeting, attendee is waiting.
recording_completed All the Cloud Recordings have completed processing and is available.
participant_joined Participant has joined the meeting.
participant_left Participant has leaved the meeting.
meeting_registered Attendee registered for a meeting or webinar.
recording_transcript_completed Recording audio transcript files have processed and are available.

Retrieve a webhook

Retrieve a webhook

Definition

GET https://api.zoom.us/v2/webhooks/{webhookId}

Example Request

$ curl https://api.zoom.us/v2/webhooks/{webhookId}

Example Response

200 OK
{
    "webhook_id": "string",
    "url": "string",
    "auth_user": "string",
    "auth_password": "string",
    "events": [
        "string"
    ],
    "created_at": "string [date-time]"
}
Path Arguments  
webhookId required The webhook ID

Update a webhook

Update a webhook

Definition

PATCH https://api.zoom.us/v2/webhooks/{webhookId}

Example Request

$ curl https://api.zoom.us/v2/webhooks/{webhookId} \
   -d '{
    "url": "string",
    "auth_user": "string",
    "auth_password": "string",
    "events": [
        "string"
    ]
}'

Example Response

204 No Content
Path Arguments  
webhookId required The webhook ID
Body Arguments  
url optional
256
Webhook endpoint
auth_user optional
128
Webhook auth user name
auth_password optional
64
Webhook auth password
events optional List of events objects
meeting_started The meeting has started.
meeting_ended The meeting has ended.
meeting_jbh Attendee has joined a meeting before the host.
meeting_join Host hasn’t launched the meeting, attendee is waiting.
recording_completed All the Cloud Recordings has completed processing and is available.
participant_joined Participant has joined the meeting.
participant_left Participant has leaved the meeting.
meeting_registered Attendee registered for a meeting or webinar.
recording_transcript_completed Recording audio transcript files have processed and are available.

Delete a webhook

Delete a webhook

Definition

DELETE https://api.zoom.us/v2/webhooks/{webhookId}

Example Request

$ curl https://api.zoom.us/v2/webhooks/{webhookId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
webhookId required The webhook ID

TSP

The TSP object

List of TSP Accounts

{
    "conference_code": "string",
    "leader_pin": "string",
    "dial_in_numbers": [
        {
            "code": "string",
            "number": "string",
            "type": "string"
        }
    ]
}
Property Description
conference_code string Conference code, numeric value, length is less than 16.
leader_pin string Leader PIN, numeric value, length is less than 16.
dial_in_numbers array List of Dial In Numbers
dial_in_numbers[0].code required
6
Country Code
dial_in_numbers[0].number required
16
Dial-in number, length is less than 16.
dial_in_numbers[0].type optional Number type
toll Toll number
tollfree Toll free number

List TSP dial-in numbers

List TSP dial-in numbers under account

Definition

GET https://api.zoom.us/v2/tsp

Example Request

$ curl https://api.zoom.us/v2/tsp

Example Response

200 OK
{
    "tsp_provider": "string",
    "dial_in_numbers": [
        {
            "code": "string",
            "number": "string",
            "type": "string"
        }
    ]
}

List user’s TSP accounts

List user’s TSP accounts

Definition

GET https://api.zoom.us/v2/users/{userId}/tsp

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/tsp

Example Response

200 OK
{
    "tsp_accounts": [
        {
            "conference_code": "string",
            "leader_pin": "string",
            "dial_in_numbers": [
                {
                    "code": "string",
                    "number": "string",
                    "type": "string"
                }
            ]
        }
    ]
}
Path Arguments  
userId required The user ID or email address

Add a user’s TSP account

Add a user’s TSP account

Definition

POST https://api.zoom.us/v2/users/{userId}/tsp

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/tsp \
   -d '{
    "conference_code": "string",
    "leader_pin": "string",
    "dial_in_numbers": [
        {
            "code": "string",
            "number": "string",
            "type": "string"
        }
    ]
}'

Example Response

201 Created
{
    "conference_code": "string",
    "leader_pin": "string",
    "dial_in_numbers": [
        {
            "code": "string",
            "number": "string",
            "type": "string"
        }
    ]
}
Path Arguments  
userId required The user ID or email address
Body Arguments  
conference_code required
16
Conference code, numeric value, length is less than 16.
leader_pin required
16
Leader PIN, numeric value, length is less than 16.
dial_in_numbers required List of Dial In Numbers
dial_in_numbers[0].code required
6
Country Code
dial_in_numbers[0].number required
16
Dial-in number, length is less than 16.
dial_in_numbers[0].type optional Number type
toll Toll number
tollfree Toll free number

Retrieve a user’s TSP account

Retrieve a user’s TSP account

Definition

GET https://api.zoom.us/v2/users/{userId}/tsp/{tspId}

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/tsp/{tspId}

Example Response

200 OK
{
    "conference_code": "string",
    "leader_pin": "string",
    "dial_in_numbers": [
        {
            "code": "string",
            "number": "string",
            "type": "string"
        }
    ]
}
Path Arguments  
userId required The user ID or email address
tspId required TSP account index

Update a TSP account

Update a user’s TSP account

Definition

PATCH https://api.zoom.us/v2/users/{userId}/tsp/{tspId}

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/tsp/{tspId} \
   -d '{
    "conference_code": "string",
    "leader_pin": "string",
    "dial_in_numbers": [
        {
            "code": "string",
            "number": "string",
            "type": "string"
        }
    ]
}'

Example Response

204 No Content
Path Arguments  
userId required The user ID or email address
tspId required TSP account index
Body Arguments  
conference_code required
16
Conference code, numeric value, length is less than 16.
leader_pin required
16
Leader PIN, numeric value, length is less than 16.
dial_in_numbers required List of Dial In Numbers
dial_in_numbers[0].code required
6
Country Code
dial_in_numbers[0].number required
16
Dial-in number, length is less than 16.
dial_in_numbers[0].type optional Number type
toll Toll number
tollfree Toll free number

Delete a user’s TSP account

Delete a user’s TSP account

Definition

DELETE https://api.zoom.us/v2/users/{userId}/tsp/{tspId}

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/tsp/{tspId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
userId required The user ID or email address
tspId required TSP account index

PAC

The PAC object

List of PAC Accounts

{
    "dedicated_dial_in_number": [
        {
            "number": "string",
            "country": "string"
        }
    ],
    "global_dial_in_numbers": [
        {
            "number": "string",
            "country": "string"
        }
    ],
    "conference_id": "integer",
    "participant_password": "string",
    "listen_only_password": "string"
}
Property Description
dedicated_dial_in_number array List of Dedicated Dial In Numbers
global_dial_in_numbers array List of Global Dial In Numbers
conference_id integer Conference ID
participant_password string Participant Password, numeric value, length is less than 6
listen_only_password string Listen-Only Password, numeric value, length is less than 6

List user’s PAC accounts

List user’s PAC accounts

Definition

GET https://api.zoom.us/v2/users/{userId}/pac

Example Request

$ curl https://api.zoom.us/v2/users/{userId}/pac

Example Response

200 OK
{
    "tsp_accounts": [
        {
            "dedicated_dial_in_number": [
                {
                    "number": "string",
                    "country": "string"
                }
            ],
            "global_dial_in_numbers": [
                {
                    "number": "string",
                    "country": "string"
                }
            ],
            "conference_id": "integer",
            "participant_password": "string",
            "listen_only_password": "string"
        }
    ]
}
Path Arguments  
userId required The user ID or email address

Devices

The Device object

The H.323/SIP device object.

{
    "name": "string",
    "protocol": "string",
    "ip": "string",
    "encryption": "string"
}
Property Description
name string Device name
protocol string Device protocol
H.323 H.323
SIP SIP
ip string Device Ip
encryption string Device encryption
auto auto
yes yes
no no

List H.323/SIP Devices.

List H.323/SIP Devices on your Zoom account.

Definition

GET https://api.zoom.us/v2/h323/devices

Example Request

$ curl https://api.zoom.us/v2/h323/devices

Example Response

200 OK
{
    "page_count": "integer",
    "page_number": "integer",
    "page_size": "integer",
    "total_records": "integer",
    "devices": [
        {
            "id": "string",
            "name": "string",
            "protocol": "string",
            "ip": "string",
            "encryption": "string"
        }
    ]
}

Create a H.323/SIP Device

Create a H.323/SIP Device on your Zoom account

Definition

POST https://api.zoom.us/v2/h323/devices

Example Request

$ curl https://api.zoom.us/v2/h323/devices \
   -d '{
    "name": "string",
    "protocol": "string",
    "ip": "string",
    "encryption": "string"
}'

Example Response

201 Created
{
    "id": "string",
    "name": "string",
    "protocol": "string",
    "ip": "string",
    "encryption": "string"
}
Body Arguments  
name required
64
Device name
protocol required Device protocol
H.323 H.323
SIP SIP
ip required Device Ip
encryption required Device encryption
auto auto
yes yes
no no

Update a H.323/SIP Device

Update a H.323/SIP Device on your Zoom account

Definition

PATCH https://api.zoom.us/v2/h323/devices/{deviceId}

Example Request

$ curl https://api.zoom.us/v2/h323/devices/{deviceId} \
   -d '{
    "name": "string",
    "protocol": "string",
    "ip": "string",
    "encryption": "string"
}'

Example Response

204 No Content
Path Arguments  
deviceId required The device ID
Body Arguments  
name required
64
Device name
protocol required Device protocol
H.323 H.323
SIP SIP
ip required Device Ip
encryption required Device encryption
auto auto
yes yes
no no

Delete a H.323/SIP Device

Delete a H.323/SIP Device on your Zoom account

Definition

DELETE https://api.zoom.us/v2/h323/devices/{deviceId}

Example Request

$ curl https://api.zoom.us/v2/h323/devices/{deviceId} \
    -X DELETE

Example Response

204 No Content
Path Arguments  
deviceId required The device ID
Appendix

Master Account APIs

Zoom API Version 2 provides a set of Master Account APIs. These APIs allow a Master Account to manage Sub Accounts utilizing the Master Account’s API Key/Secret. Previously you would have to know the Sub Account’s API Key/Secret to mange it’s users and meetings. The endpoints mirror the standard Zoom API, pre-pended with /accounts/{accountID}

User APIs

Manage users under a sub account.

Method Endpoint
GET /v2/accounts/{accountId}/users
List all the users on Zoom.
POST /v2/accounts/{accountId}/users
Create a user on Zoom.
GET /v2/accounts/{accountId}/users/{userId}
Get a user on Zoom via user ID or user email.
PATCH /v2/accounts/{accountId}/users/{userId}
Update user’s info on Zoom via user ID.
DELETE /v2/accounts/{accountId}/users/{userId}
Delete a user on Zoom.
GET /v2/accounts/{accountId}/users/{userId}/settings
Get a user on Zoom via user ID or user email, return the user settings.
PATCH /v2/accounts/{accountId}/users/{userId}/settings
Update user’s settings on Zoom via user ID.
PUT /v2/accounts/{accountId}/users/{userId}/status
Update user’s status on Zoom via user ID.
PUT /v2/accounts/{accountId}/users/{userId}/password
Update user’s password on Zoom via user ID.
GET /v2/accounts/{accountId}/users/{userId}/assistants
List user’s assistants on Zoom via user ID.
POST /v2/accounts/{accountId}/users/{userId}/assistants
Add user’s assistants on Zoom via user ID.
DELETE /v2/accounts/{accountId}/users/{userId}/assistants
Delete all the user’s assistants on Zoom via user ID.
DELETE /v2/accounts/{accountId}/users/{userId}/assistants/{assistantId}
Delete a user’s assistant on Zoom via user ID.
POST /v2/accounts/{accountId}/users/{userId}/picture
Upload a user’s profile picture on Zoom via user ID.
GET /v2/accounts/{accountId}/users/{userId}/token
Get a user’s token on Zoom via user ID.
DELETE /v2/accounts/{accountId}/users/{userId}/token
Revoke a user’s SSO token.

Group APIs

Manage groups under a sub account.

Method Endpoint
GET /v2/accounts/{accountId}/groups
List all groups
POST /v2/accounts/{accountId}/groups
Create a group on Zoom
GET /v2/accounts/{accountId}/groups/{groupId}
Get a group on Zoom via ID
PATCH /v2/accounts/{accountId}/groups/{groupId}
Update a group on Zoom
DELETE /v2/accounts/{accountId}/groups/{groupId}
Delete a group on Zoom
GET /v2/accounts/{accountId}/groups/{groupId}/members
Lists the members of a group on Zoom.
POST /v2/accounts/{accountId}/groups/{groupId}/members
Adds members to a group on Zoom.
DELETE /v2/accounts/{accountId}/groups/{groupId}/members/{memberId}
Delete a member of a group on Zoom.

IM APIs

Manage IM under a sub account.

Method Endpoint
GET /v2/accounts/{accountId}/im/groups
List all im groups
POST /v2/accounts/{accountId}/im/groups
Create a im group on Zoom
GET /v2/accounts/{accountId}/im/groups/{groupId}
Get a im group on Zoom via ID
PATCH /v2/accounts/{accountId}/im/groups/{groupId}
Update a im group on Zoom
DELETE /v2/accounts/{accountId}/im/groups/{groupId}
Delete a im group on Zoom
GET /v2/accounts/{accountId}/im/groups/{groupId}/members
Lists the members of a im group on Zoom.
POST /v2/accounts/{accountId}/im/groups/{groupId}/members
Adds members to a im group on Zoom.
DELETE /v2/accounts/{accountId}/im/groups/{groupId}/members/{memberId}
Delete a member of a im group on Zoom.

Meeting APIs

Manage meetings under a sub account.

Method Endpoint
GET /v2/accounts/{accountId}/users/{userId}/meetings
List all the scheduled/live meetings on Zoom.
POST /v2/accounts/{accountId}/users/{userId}/meetings
Create a meeting on Zoom.
GET /v2/accounts/{accountId}/meetings/{meetingId}
Get a meeting on Zoom via meeting ID
PATCH /v2/accounts/{accountId}/meetings/{meetingId}
Update meeting info on Zoom via meeting ID.
DELETE /v2/accounts/{accountId}/meetings/{meetingId}
Delete a meeting on Zoom
PUT /v2/accounts/{accountId}/meetings/{meetingId}/status
Update meeting status on Zoom.
GET /v2/accounts/{accountId}/meetings/{meetingId}/registrants
Gather Meeting registrants info.
POST /v2/accounts/{accountId}/meetings/{meetingId}/registrants
Register for a meeting.
PUT /v2/accounts/{accountId}/meetings/{meetingId}/registrants/status
Approve/Cancel/Deny meeting registration.

Webinars APIs

Manage webinars under a sub account.

Method Endpoint
GET /v2/accounts/{accountId}/users/{userId}/webinars
List webinars on Zoom.
POST /v2/accounts/{accountId}/users/{userId}/webinars
Create a webinar on Zoom.
GET /v2/accounts/{accountId}/webinars/{webinarId}
Get a webinar on Zoom via webinar ID
PATCH /v2/accounts/{accountId}/webinars/{webinarId}
Update webinar info on Zoom via webinar ID.
DELETE /v2/accounts/{accountId}/webinars/{webinarId}
Delete a webinar on Zoom
PUT /v2/accounts/{accountId}/webinars/{webinarId}/status
Update webinar status on Zoom.
GET /v2/accounts/{accountId}/webinars/{webinarId}/registrants
Gather Webinar registrants info.
POST /v2/accounts/{accountId}/webinars/{webinarId}/registrants
Register for a webinar.
PUT /v2/accounts/{accountId}/webinars/{webinarId}/registrants/status
Approve/Cancel/Deny webinar registration.
GET /v2/accounts/{accountId}/webinars/{webinarId}/panelists
List all the Webinar Panelists on Zoom.
PUT /v2/accounts/{accountId}/webinars/{webinarId}/panelists
Add the Webinar Panelists on Zoom.
DELETE /v2/accounts/{accountId}/webinars/{webinarId}/panelists
Delete all the Webinar Panelists on Zoom.
DELETE /v2/accounts/{accountId}/webinars/{webinarId}/panelists/{panelistId}
Delete a Webinar Panelist on Zoom.

Report APIs

Manage reports under a sub account.

Method Endpoint
GET /v2/accounts/{accountId}/report/daily
Get Daily Report
GET /v2/accounts/{accountId}/report/active/users
Get Active Hosts Report.
GET /v2/accounts/{accountId}/report/inactive/users
Get Inactive Hosts Report
GET /v2/accounts/{accountId}/report/active/users/{userId}/meetings
Get active host’s meetings Report
GET /v2/accounts/{accountId}/report/meetings/{meetingID}/participants
Get active host’s meeting participants Report
GET /v2/accounts/{accountId}/report/webinars/{webinarId}/polls
Get Ended Webinar Polls Report.
GET /v2/accounts/{accountId}/report/webinars/{webinarId}/questions
Get Ended Webinar Q&A Report.
GET /v2/accounts/{accountId}/report/telephone
Get Telephone Report.

Dashboard APIs

Manage Dashboard under a sub account.

Method Endpoint
GET /v2/accounts/{accountId}/metrics/meetings
List Meetings
GET /v2/accounts/{accountId}/metrics/meetings/{meetingID}
Get Meeting Detail.
GET /v2/accounts/{accountId}/metrics/meetings/{meetingID}/participants
List Meeting Participants
GET /v2/accounts/{accountId}/metrics/meetings/{meetingID}/participants/{participantId}/qos
Get one Meeting Participant QoS
GET /v2/accounts/{accountId}/metrics/meetings/{meetingID}/participants/qos
List more Meeting Participants QoS
GET /v2/accounts/{accountId}/metrics/meetings/{meetingID}/participants/sharing
List Meeting Participants sharing and recording details
GET /v2/accounts/{accountId}/metrics/webinars
List Webinars.
GET /v2/accounts/{accountId}/metrics/webinars/{webinarID}
Get Webinar Detail.
GET /v2/accounts/{accountId}/metrics/webinars/{webinarID}/participants
List Webinar Participants.
GET /v2/accounts/{accountId}/metrics/webinars/{webinarID}/participants/{participantId}/qos
Get one Webinar Participant QoS.
GET /v2/accounts/{accountId}/metrics/webinars/{webinarID}/participants/qos
List more Webinar Participants QoS.
GET /v2/accounts/{accountId}/metrics/webinars/{webinarID}/participants/sharing
List Webinar Participants sharing and recording details.
GET /v2/accounts/{accountId}/metrics/zoomrooms
List Zoom Rooms.
GET /v2/accounts/{accountId}/metrics/zoomrooms/{zoomroomId}
Get Zoom Room Detail.
GET /v2/accounts/{accountId}/metrics/crc
Get CRC Port Usage.
GET /v2/accounts/{accountId}/metrics/im
Get IM.

TSP APIs

Manage tsp under a sub account.

Method Endpoint
GET /v2/accounts/{accountId}/users/{userId}/tsp
List tsp configs on Zoom.
POST /v2/accounts/{accountId}/users/{userId}/tsp
Add tsp config on Zoom
GET /v2/accounts/{accountId}/users/{userId}/tsp/{tspId}
Get tsp config on Zoom.
PATCH /v2/accounts/{accountId}/users/{userId}/tsp/{tspId}
Update tsp config on Zoom
DELETE /v2/accounts/{accountId}/users/{userId}/tsp/{tspId}
Delete tsp config on Zoom.

Recurrence Object

Daily Recurrence Example

{ 
  "type" : 1,
  "repeat_interval" : 2,
  "end_date_time" : "2017-1-9T3:00:00Z" 
}

Weekly Recurrence Example

{ 
  "type" : 2,
  "repeat_interval" : 2,
  "weekly_days" : "1,2,3,4",
  "end_times" : 2
}

Monthly Recurrence Examples

{ 
  "type" : 3, 
  "repeat_interval" : 2, 
  "monthly_week" : 2, 
  "monthly_week_day" : 2, 
  "end_date_time" : "2017-1-9T3:00:00Z" 
}
{ 
  "type" : 3, 
  "repeat_interval" : 2, 
  "monthly_day" : 2, 
  "end_times" : 2 
}
Key Value
type Recurrence Meeting Type. 1 means Daily, 2 means Weekly, 3 means Monthly
repeat_interval Recurrence Meeting Repeat Interval. Defaults to 1. For a Daily Meeting, max of 90. For a Weekly Meeting, max of 12. For a Monthly Meeting, max of 3.
weekly_days Recurrence Meeting Occurs on week days, multiple value separated by comma. 1 means Sunday, 2 means Monday, 3 means Tuesday, 4 means Wednesday, 5 means Thursday, 6 means Friday, 7 means Saturday.
monthly_day Recurrence Meeting Occurs on a month day. The value range is from 1 to 31.
monthly_week Recurrence Meeting Occurs on the week of a month. -1 means Last week, 1 means First week, 2 means Second week, 3 means Third week, 4 means Fourth week.
monthly_week_day Recurrence Meeting Occurs on the week day of a month. A single value: 1 means Sunday, 2 means Monday, 3 means Tuesday, 4 means Wednesday, 5 means Thursday, 6 means Friday, 7 means Saturday.
end_times Recurrence Meeting End occurrences times. Defaults to 1. Max of 50.
end_date_time Recurrence Meeting End Date. Should be UTC time, such as 2012-11-25T12:00:00Z.

Plans

Additional Plan. Should be JSON format as below

{
  "type": "large200_monthly",
  "hosts": 20
}

Base Plans

Plan Description
trial Free Trial
monthly Pro Monthly Plan
yearly Pro Yearly Plan
business_monthly Business Monthly Plan
business_yearly Business Yearly Plan
edu20 Education
zroom_monthly Zoom Rooms Monthly Plan
zroom_yearly Zoom Rooms Yearly Plan

Additional Plans

Zoom Room Plans

Plan Description
zroom_monthly Additional Zoom Rooms Monthly Plan
zroom_yearly Additional Zoom Rooms Yearly Plan

H.323/SIP Device Room Connector Plans

Plan Description
roomconnector_monthly Additional H.323/SIP Room Connector Monthly Plan
roomconnector_yearly Additional H.323/SIP Room Connector Yearly Plan

Large Meeting Plans

Plan Description
large100_monthly Additional Large Meeting(100-Participants) Monthly Plan
large100_yearly Additional Large Meeting(100-Participants) Yearly Plan
large200_monthly Additional Large Meeting(200-Participants) Monthly Plan
large200_yearly Additional Large Meeting(200-Participants) Yearly Plan
large300_monthly Additional Large Meeting(300-Participants) Monthly Plan
large300_yearly Additional Large Meeting(300-Participants) Yearly Plan
large500_monthly Additional Large Meeting(500-Participants) Monthly Plan
large500_yearly Additional Large Meeting(500-Participants) Yearly Plan

Webinar Plans

Plan Description
webinar100_monthly Additional Webinar(100-Participants) Monthly Plan
webinar100_yearly Additional Webinar(100-Participants) Yearly Plan
webinar500_monthly Additional Webinar(500-Participants) Monthly Plan
webinar500_yearly Additional Webinar(500-Participants) Yearly Plan
webinar1000_monthly Additional Webinar(1000-Participants) Monthly Plan
webinar1000_yearly Additional Webinar(1000-Participants) Yearly Plan
webinar3000_monthly Additional Webinar(3000-Participants) Monthly Plan
webinar3000_yearly Additional Webinar(3000-Participants) Yearly Plan
webinar5000_monthly Additional Webinar(5000-Participants) Monthly Plan
webinar5000_yearly Additional Webinar(5000-Participants) Yearly Plan
webinar10000_monthly Additional Webinar(10000-Participants) Monthly Plan
webinar10000_yearly Additional Webinar(10000-Participants) Yearly Plan

Cloud Recording Plans

Plan Description
cmr_monthly_commitment_40 Additional Cloud Recording Monthly $40 Plan
cmr_monthly_commitment_100 Additional Cloud Recording Monthly $100 Plan
cmr_monthly_commitment_500 Additional Cloud Recording Monthly $500 Plan

For Additional Audio Conferencing Plan, should be JSON format as below

{
  "type": "tollfree_monthly_commitment_100",
  "tollfree_country": "AU,AT",
  "premium_country": "TW,TH",
  "callout": 1,
  "ddi_numbers":10
}

Audio Conferencing Plans

Plan Description
tollfree_payongo Additional Audio Conferencing Pay As You Go Plan
tollfree_monthly_commitment_100 Additional Audio Conferencing Monthly $100 Plan
tollfree_monthly_commitment_500 Additional Audio Conferencing Monthly $500 Plan

Lists

States

ID Name
AK Alaska
AL Alabama
AP Armed Forces Pacific
AR Arkansas
AS American Samoa
AZ Arizona
CA California
CO Colorado
CT Connecticut
DC District of Columbia
DE Delaware
FL Florida
FM Federated States of Micronesia
GA Georgia
GU Guam
HI Hawaii
IA Iowa
ID Idaho
IL Illinois
IN Indiana
KS Kansas
KY Kentucky
LA Louisiana
MA Massachusetts
MD Maryland
ME Maine
MH Marshall Islands
MI Michigan
MN Minnesota
MO Missouri
MP Northern Mariana Islands
MS Mississippi
MT Montana
NC North Carolina
ND North Dakota
NE Nebraska
NH New Hampshire
NJ New Jersey
NM New Mexico
NV Nevada
NY New York
OH Ohio
OK Oklahoma
OR Oregon
PA Pennsylvania
PR Puerto Rico
PW Palau
RI Rhode Island
SC South Carolina
SD South Dakota
TN Tennessee
TX Texas
UT Utah
VA Virginia
VI Virgin Islands
VT Vermont
WA Washington
WV West Virginia
WI Wisconsin
WY Wyoming
AB Alberta
BC British Columbia
MB Manitoba
NB New Brunswick
NL Newfoundland
NS Nova Scotia
NU Nunavut
ON Ontario
PE Prince Edward Island
QC Quebec
SK Saskatchewan
NT Northwest Territories
YT Yukon Territory
AA Armed Forces Americas
AE Armed Forces Europe, Middle East, & Canada

Countries

ID Name
PR Puerto Rico
PS Palestinian Territories
PT Portugal
PU U.S. Miscellaneous Pacific Islands
PW Palau
PY Paraguay
PZ Panama Canal Zone
QA Qatar
QO Outlying Oceania
AC Ascension Island
AD Andorra
AE United Arab Emirates
AF Afghanistan
AG Antigua and Barbuda
AI Anguilla
AL Albania
AM Armenia
AN Netherlands Antilles
AO Angola
AQ Antarctica
AR Argentina
AS American Samoa
AT Austria
RE Reunion
AU Australia
AW Aruba
AZ Azerbaijan
RO Romania
BA Bosnia and Herzegovina
BB Barbados
RS Serbia
BD Bangladesh
BE Belgium
RU Russia
BF Burkina Faso
BG Bulgaria
RW Rwanda
BH Bahrain
BI Burundi
BJ Benin
BL Saint Barthélemy
BM Bermuda
BN Brunei
BO Bolivia
SA Saudi Arabia
BQ Bonaire, Saint Eustatius and Saba
SB Solomon Islands
BR Brazil
SC Seychelles
BS Bahamas
SD Sudan
BT Bhutan
SE Sweden
BV Bouvet Island
SG Singapore
BW Botswana
SH Saint Helena
SI Slovenia
BY Belarus
SJ Svalbard and Jan Mayen
BZ Belize
SK Slovakia
SL Sierra Leone
SM San Marino
SN Senegal
SO Somalia
CA Canada
SR Suriname
CC Cocos [Keeling] Islands
SS South Sudan
CD Congo [DRC]
ST Sao Tome and Principe
CF Central African Republic
SV El Salvador
CH Switzerland
SZ Swaziland
CK Cook Islands
CL Chile
CM Cameroon
CN China
CO Colombia
CP Clipperton Island
TA Tristan da Cunha
CR Costa Rica
TC Turks and Caicos Islands
TD Chad
CS Serbia and Montenegro
CT Canton and Enderbury Islands
CU Cuba
TF French Southern Territories
CV Cape Verde
TG Togo
TH Thailand
CX Christmas Island
CY Cyprus
TJ Tajikistan
CZ Czech Republic
TK Tokelau
TL Timor-Leste
TM Turkmenistan
TN Tunisia
TO Tonga
TR Turkey
TT Trinidad and Tobago
DE Germany
TV Tuvalu
DG Diego Garcia
TW Taiwan
DJ Djibouti
TZ Tanzania
DK Denmark
DM Dominica
DO Dominican Republic
UA Ukraine
UG Uganda
DZ Algeria
UM U.S. Minor Outlying Islands
EA Ceuta and Melilla
EC Ecuador
US United States
EE Estonia
EG Egypt
EH Western Sahara
UY Uruguay
UZ Uzbekistan
VA Vatican City
VC Saint Vincent and the Grenadines
VD North Vietnam
ES Spain
ET Ethiopia
VE Venezuela
EU European Union
VG British Virgin Islands
VI U.S. Virgin Islands
VN Vietnam
VU Vanuatu
FI Finland
FJ Fiji
FK Falkland Islands [Islas Malvinas]
FM Micronesia
FO Faroe Islands
FQ French Southern and Antarctic Territories
FR France
WF Wallis and Futuna
FX Metropolitan France
WK Wake Island
GA Gabon
GB United Kingdom
WS Samoa
GD Grenada
GE Georgia
GF French Guiana
GH Ghana
GI Gibraltar
GL Greenland
GM Gambia
GP Guadeloupe
GR Greece
GS South Georgia and the South Sandwich Islands
GT Guatemala
GU Guam
GW Guinea-Bissau
GY Guyana
HK Hong Kong
HM Heard Island and McDonald Islands
HN Honduras
HR Croatia
YD People’s Democratic Republic of Yemen
HT Haiti
YE Yemen
HU Hungary
IC Canary Islands
ID Indonesia
YT Mayotte
IE Ireland
IL Israel
IM Isle of Man
IN India
IO British Indian Ocean Territory
ZA South Africa
IQ Iraq
IS Iceland
IT Italy
ZM Zambia
JM Jamaica
JO Jordan
JP Japan
JT Johnston Island
KE Kenya
KG Kyrgyzstan
KH Cambodia
KI Kiribati
KM Comoros
KN Saint Kitts and Nevis
KR South Korea
KW Kuwait
KY Cayman Islands
KZ Kazakhstan
LA Laos
LC Saint Lucia
LI Liechtenstein
LK Sri Lanka
LS Lesotho
LT Lithuania
LU Luxembourg
LV Latvia
LY Libya
MA Morocco
MC Monaco
MD Moldova
ME Montenegro
MF Saint Martin
MG Madagascar
MH Marshall Islands
MI Midway Islands
MK Macedonia [FYROM]
ML Mali
MM Myanmar
MN Mongolia
MO Macau
MP Northern Mariana Islands
MQ Martinique
MR Mauritania
MS Montserrat
MT Malta
MU Mauritius
MV Maldives
MW Malawi
MX Mexico
MY Malaysia
MZ Mozambique
NA Namibia
NC New Caledonia
NE Niger
NF Norfolk Island
NG Nigeria
NI Nicaragua
NL Netherlands
NO Norway
NP Nepal
NQ Dronning Maud Land
NR Nauru
NT Neutral Zone
NU Niue
NZ New Zealand
OM Oman
PA Panama
PC Pacific Islands Trust Territory
PE Peru
PF French Polynesia
PH Philippines
PK Pakistan
PL Poland
PM Saint Pierre and Miquelon
PN Pitcairn Islands

Timezones

ID Name
Pacific/Midway Midway Island, Samoa
Pacific/Pago_Pago Pago Pago
Pacific/Honolulu Hawaii
America/Anchorage Alaska
America/Vancouver Vancouver
America/Los_Angeles Pacific Time (US and Canada)
America/Tijuana Tijuana
America/Edmonton Edmonton
America/Denver Mountain Time (US and Canada)
America/Phoenix Arizona
America/Mazatlan Mazatlan
America/Winnipeg Winnipeg
America/Regina Saskatchewan
America/Chicago Central Time (US and Canada)
America/Mexico_City Mexico City
America/Guatemala Guatemala
America/El_Salvador El Salvador
America/Managua Managua
America/Costa_Rica Costa Rica
America/Montreal Montreal
America/New_York Eastern Time (US and Canada)
America/Indianapolis Indiana (East)
America/Panama Panama
America/Bogota Bogota
America/Lima Lima
America/Halifax Halifax
America/Puerto_Rico Puerto Rico
America/Caracas Caracas
America/Santiago Santiago
America/St_Johns Newfoundland and Labrador
America/Montevideo Montevideo
America/Araguaina Brasilia
America/Argentina/Buenos_Aires Buenos Aires, Georgetown
America/Godthab Greenland
America/Sao_Paulo Sao Paulo
Atlantic/Azores Azores
Canada/Atlantic Atlantic Time (Canada)
Atlantic/Cape_Verde Cape Verde Islands
UTC Universal Time UTC
Etc/Greenwich Greenwich Mean Time
Europe/Belgrade Belgrade, Bratislava, Ljubljana
CET Sarajevo, Skopje, Zagreb
Atlantic/Reykjavik Reykjavik
Europe/Dublin Dublin
Europe/London London
Europe/Lisbon Lisbon
Africa/Casablanca Casablanca
Africa/Nouakchott Nouakchott
Europe/Oslo Oslo
Europe/Copenhagen Copenhagen
Europe/Brussels Brussels
Europe/Berlin Amsterdam, Berlin, Rome, Stockholm, Vienna
Europe/Helsinki Helsinki
Europe/Amsterdam Amsterdam
Europe/Rome Rome
Europe/Stockholm Stockholm
Europe/Vienna Vienna
Europe/Luxembourg Luxembourg
Europe/Paris Paris
Europe/Zurich Zurich
Europe/Madrid Madrid
Africa/Bangui West Central Africa
Africa/Algiers Algiers
Africa/Tunis Tunis
Africa/Harare Harare, Pretoria
Africa/Nairobi Nairobi
Europe/Warsaw Warsaw
Europe/Prague Prague Bratislava
Europe/Budapest Budapest
Europe/Sofia Sofia
Europe/Istanbul Istanbul
Europe/Athens Athens
Europe/Bucharest Bucharest
Asia/Nicosia Nicosia
Asia/Beirut Beirut
Asia/Damascus Damascus
Asia/Jerusalem Jerusalem
Asia/Amman Amman
Africa/Tripoli Tripoli
Africa/Cairo Cairo
Africa/Johannesburg Johannesburg
Europe/Moscow Moscow
Asia/Baghdad Baghdad
Asia/Kuwait Kuwait
Asia/Riyadh Riyadh
Asia/Bahrain Bahrain
Asia/Qatar Qatar
Asia/Aden Aden
Asia/Tehran Tehran
Africa/Khartoum Khartoum
Africa/Djibouti Djibouti
Africa/Mogadishu Mogadishu
Asia/Dubai Dubai
Asia/Muscat Muscat
Asia/Baku Baku, Tbilisi, Yerevan
Asia/Kabul Kabul
Asia/Yekaterinburg Yekaterinburg
Asia/Tashkent Islamabad, Karachi, Tashkent
Asia/Calcutta India
Asia/Kathmandu Kathmandu
Asia/Novosibirsk Novosibirsk
Asia/Almaty Almaty
Asia/Dacca Dacca
Asia/Krasnoyarsk Krasnoyarsk
Asia/Dhaka Astana, Dhaka
Asia/Bangkok Bangkok
Asia/Saigon Vietnam
Asia/Jakarta Jakarta
Asia/Irkutsk Irkutsk, Ulaanbaatar
Asia/Shanghai Beijing, Shanghai
Asia/Hong_Kong Hong Kong
Asia/Taipei Taipei
Asia/Kuala_Lumpur Kuala Lumpur
Asia/Singapore Singapore
Australia/Perth Perth
Asia/Yakutsk Yakutsk
Asia/Seoul Seoul
Asia/Tokyo Osaka, Sapporo, Tokyo
Australia/Darwin Darwin
Australia/Adelaide Adelaide
Asia/Vladivostok Vladivostok
Pacific/Port_Moresby Guam, Port Moresby
Australia/Brisbane Brisbane
Australia/Sydney Canberra, Melbourne, Sydney
Australia/Hobart Hobart
Asia/Magadan Magadan
SST Solomon Islands
Pacific/Noumea New Caledonia
Asia/Kamchatka Kamchatka
Pacific/Fiji Fiji Islands, Marshall Islands
Pacific/Auckland Auckland, Wellington
Asia/Kolkata Mumbai, Kolkata, New Delhi
Europe/Kiev Kiev
America/Tegucigalpa Tegucigalpa
Pacific/Apia Independent State of Samoa

Callout Countries

ID Name
DE Germany
HK Hong Kong
TW Taiwan
PT Portugal
DK Denmark
LT Lithuania
LU Luxembourg
PY Paraguay
HR Croatia
LV Latvia
UA Ukraine
HU Hungary
QA Qatar
UG Uganda
ID Indonesia
IE Ireland
EC Ecuador
US US
EE Estonia
EG Egypt
MO Macau
IL Israel
AE United Arab Emirates
IN India
MT Malta
ZA South Africa
IT Italy
MX Mexico
MY Malaysia
ES Spain
VE Venezuela
OM_mobile Oman Mobile
AR Argentina
AT Austria
AU Australia
VN Vietnam
NG Nigeria
RO Romania
NL Netherlands
NO Norway
BE Belgium
FI Finland
RU Russia
BG Bulgaria
BH Bahrain
JP Japan
FR France
NZ New Zealand
BO Bolivia
SA Saudi Arabia
BR Brazil
SE Sweden
SG Singapore
SI Slovenia
SK Slovakia
KE Kenya
GB United Kingdom
CA Canada
GE Georgia
OM Oman
CH Switzerland
KR South Korea
CL Chile
CN China
GR Greece
TW_mobile Taiwan Mobile
CO Colombia
CR Costa Rica
PA Panama
TH Thailand
PE Peru
CY Cyprus
CZ Czech Republic
PH Philippines
PL Poland
TR Turkey

Toll Free Countries

ID Name
AR Argentina
AU Australia
AT Austria
BS Bahamas
BH Bahrain
BE Belgium
BO Bolivia
BA Bosnia and Herzegovina
BR Brazil
BG Bulgaria
CA Canada
CL Chile
CN China
CO Colombia
HR Croatia
CY Cyprus
CZ Czech Republic
DK Denmark
DO Dominican Republic
EC Ecuador
FJ Fiji
FI Finland
FR France
DE Germany
GH Ghana
GR Greece
HN Honduras
HK Hong Kong
HU Hungary
IN India
IE Ireland
IL Israel
IT Italy
JP Japan
KE Kenya
LV Latvia
LT Lithuania
LU Luxembourg
MO Macau
MK Macedonia [FYROM]
MY Malaysia
MT Malta
MX Mexico
NL Netherlands
NZ New Zealand
NO Norway
OM Oman
PA Panama
PY Paraguay
PE Peru
PH Philippines
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
RO Romania
RU Russia
SA Saudi Arabia
SG Singapore
SK Slovakia
SI Slovenia
ZA South Africa
KR South Korea
ES Spain
SE Sweden
CH Switzerland
TW Taiwan
TR Turkey
UA Ukraine
AE United Arab Emirates
GB United Kingdom
US United States
VE Venezuela
GT Guatemala
IS Iceland
UY Uruguay

Premium Countries

ID Name
CN China
CR Costa Rica
IN India
ID Indonesia
JM Jamaica
KW Kuwait
MO Macau
NG Nigeria
PK Pakistan
PH Philippines
LK Sri Lanka
TW Taiwan
TZ Tanzania
TH Thailand
UG Uganda
VN Vietnam
ZW Zimbabwe