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.

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

Our APIs have the following rate limits.

All API Endpoints

You can run a max of ten requests per second (10 requests/second)

Report/Billing APIs

You can run a max of one request per second (1 request/second)

Includes:

Report APIs

You can run a max of two thousand request per day (2000 requests/day)

Includes:

Metrics APIs

You can run a max of one request per minute (1 request/minute)

Includes:

Core Resources

Accounts

The account APIs are available to those accounts that are classified as Master Accounts. They are used to create Sub Accounts under your Master Account. From the Master Account you are able to manage a Sub Account using the Master Account APIs

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 value separated by comma.
options.pay_mode string Payee
master Master Account holder pays
sub Sub Account holders 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 amount of records returns 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 value separated by comma.
options.pay_mode optional
master
Payee
master Master Account holder pays
sub Sub Account holders 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

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 value separated by comma.
pay_mode optional
master
Payee
master Master Account holder pays
sub Sub Account holders 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 Host Video
schedule_meting.participant_video optional Participants Video
schedule_meting.audio_type optional
both
Audio Type
both Telephony and VoIP
telephony Audio PSTN telephony only
voip VoIP only
thirdParty 3rd party audio conference
schedule_meting.join_before_host optional Join Before Host
schedule_meting.enforce_login optional Only signed-in users can join meetings
schedule_meting.enforce_login_with_domains optional Only signed-in users with a specified domains 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 End-to-End Encryption
in_meeting.chat optional Chat
in_meeting.private_chat optional Private Chat
in_meeting.auto_saving_chat optional Auto Saving Chats
in_meeting.file_transfer optional File transfer
in_meeting.feedback optional Feedback to Zoom
in_meeting.post_meeting_feedback optional Display end-of-meeting experience feedback survey
in_meeting.co_host optional Co-Host
in_meeting.polling optional Polling
in_meeting.attendee_on_hold optional Allow host to put attendee on hold
in_meeting.show_meeting_control_toolbar optional Always show meeting control toolbar
in_meeting.allow_show_zoom_windows optional Allow to share Zoom windows in desktop sharing
in_meeting.annotation optional Annotation
in_meeting.whiteboard optional Whiteboard
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 Breakout room
in_meeting.closed_caption optional Closed caption
in_meeting.far_end_camera_control optional Far end camera control
in_meeting.group_hd optional Group HD video
in_meeting.virtual_background optional Virtual background
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 Auto Answer Group
in_meeting.p2p_connetion optional Peer to Peer connection while only 2 people in a meeting
in_meeting.p2p_ports optional Listening ports range
in_meeting.ports_range optional Listening ports range, separated by comma (ex 55,56). The ports range is 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 Screen sharing
in_meeting.remote_control optional Remote control
in_meeting.attention_tracking optional Attention tracking
email_notification.cloud_recording_avaliable_reminder optional Allow keep recording from being automatically deleted
email_notification.jbh_reminder optional When attendees join meeting before host
email_notification.cancel_meeting_reminder optional When a meeting is cancelled
email_notification.low_host_count_reminder optional When host licenses are running low
email_notification.alternative_host_reminder optional 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 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 Local recording
recording.cloud_recording optional Cloud recording
recording.record_speaker_view optional Record the active speaker view
recording.record_gallery_view optional Record the gallery view
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 Show timestamp on video
recording.recording_audio_transcript optional Audio transcript
recording.auto_recording optional Automatic recording
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 Only users on my account can access cloud recordings
recording.auto_delete_cmr optional Auto delete cloud recordings after days
recording.auto_delete_cmr_days optional A specified number of days of auto delete cloud recordings
telephony.third_party_audio optional 3rd party audio conference
telephony.audio_conference_info optional 3rd party audio conference info
integration.google_calendar optional Google Calendar
integration.google_drive optional Google Drive
integration.dropbox optional Dropbox
integration.box optional Box
integration.microsoft_one_drive optional Microsoft OneDrive
integration.kubi optional Kubi
feature.meeting_capacity optional
100
Meeting capacity

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"
        }
    ]
}
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 amount of records returns 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 Action to take for user creation
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 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.
user_info.last_name optional
64
User’s last name.
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",
    "verified": "integer",
    "pic_url": "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 User’s first name.
last_name optional User’s last name.
type optional User’s type
1 basic
2 pro
3 corp
pmi optional 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 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

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

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"
    }
}
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
Meeting audio
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
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
A specified number of days of auto delete cloud recordings
telephony.third_party_audio optional 3rd party audio conference
telephony.audio_conference_info optional 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 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.

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

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 User email

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, 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 meeting and recurring meeting with fixed time.
duration integer Meeting duration (minutes). Used for scheduled meeting only.
timezone string Timezone to format start_time, like “America/Los_Angeles”. For scheduled meeting only. For this parameter value please refer to the id value in timezone list.
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 Recurrence meeting repeat interval. For a Daily Meeting, max of 90. For a Weekly Meeting, max of 12. For a Monthly Meeting, max of 3.
recurrence.weekly_days integer Recurrence Meeting Occurs on week days, multiple value separated by comma
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.monthly_day integer Recurrence Meeting Occurs on a month day. The value range is from 1 to 31
recurrence.monthly_week integer Recurrence Meeting Occurs on the week of a month.
-1 Last week
1 First week
2 Second week
3 Third week
4 Fourth week
recurrence.monthly_week_day integer Recurrence Meeting Occurs on the week day of a month
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.end_times integer Recurrence Meeting End occurrences times
recurrence.end_date_time string Recurrence Meeting End Date. Should be UTC time, such as 2017-11-25T12:00:00Z.
settings.host_video boolean Start video when host join 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 Join meeting before host start the meeting. Only used for scheduled or recurring meetings
settings.mute_upon_entry boolean Mute participants upon entry
settings.watermark boolean Enable watermark when viewing the 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 Meeting audio options
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 The meeting type
scheduled all the scheduled meetings
live all the live meetings
page_size optional
30
300
The amount of records returns 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",
    "create_at": "string [date-time]",
    "agenda": "string",
    "start_url": "string",
    "join_url": "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, 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 meeting and recurring meeting with fixed time.
duration optional Meeting duration (minutes). Used for scheduled meeting only.
timezone optional Timezone to format start_time, like “America/Los_Angeles”. For scheduled meeting only. For this parameter value please refer to the id value in timezone list.
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 Recurrence meeting repeat interval. For a Daily Meeting, max of 90. For a Weekly Meeting, max of 12. For a Monthly Meeting, max of 3.
recurrence.weekly_days optional Recurrence Meeting Occurs on week days, multiple value separated by comma
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.monthly_day optional Recurrence Meeting Occurs on a month day. The value range is from 1 to 31
recurrence.monthly_week optional Recurrence Meeting Occurs on the week of a month.
-1 Last week
1 First week
2 Second week
3 Third week
4 Fourth week
recurrence.monthly_week_day optional Recurrence Meeting Occurs on the week day of a month
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.end_times optional
1
50
Recurrence Meeting End occurrences times
recurrence.end_date_time optional Recurrence Meeting End Date. Should be UTC time, such as 2017-11-25T12:00:00Z.
settings.host_video optional Start video when host join 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
Join meeting before host start the meeting. Only used for scheduled or recurring meetings
settings.mute_upon_entry optional
false
Mute participants upon entry
settings.watermark optional
false
Enable watermark when viewing the 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
Meeting audio options
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",
    "create_at": "string [date-time]",
    "agenda": "string",
    "start_url": "string",
    "join_url": "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"
    }
}'

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, 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 meeting and recurring meeting with fixed time.
duration optional Meeting duration (minutes). Used for scheduled meeting only.
timezone optional Timezone to format start_time, like “America/Los_Angeles”. For scheduled meeting only. For this parameter value please refer to the id value in timezone list.
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 Recurrence meeting repeat interval. For a Daily Meeting, max of 90. For a Weekly Meeting, max of 12. For a Monthly Meeting, max of 3.
recurrence.weekly_days optional Recurrence Meeting Occurs on week days, multiple value separated by comma
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.monthly_day optional Recurrence Meeting Occurs on a month day. The value range is from 1 to 31
recurrence.monthly_week optional Recurrence Meeting Occurs on the week of a month.
-1 Last week
1 First week
2 Second week
3 Third week
4 Fourth week
recurrence.monthly_week_day optional Recurrence Meeting Occurs on the week day of a month
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.end_times optional
1
50
Recurrence Meeting End occurrences times
recurrence.end_date_time optional Recurrence Meeting End Date. Should be UTC time, such as 2017-11-25T12:00:00Z.
settings.host_video optional Start video when host join 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
Join meeting before host start the meeting. Only used for scheduled or recurring meetings
settings.mute_upon_entry optional
false
Mute participants upon entry
settings.watermark optional
false
Enable watermark when viewing the 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
Meeting audio options
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.

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]"
        }
    ]
}
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 amount of records returns 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, could get this value from Meeting 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 meeting registrant’s status

Update a registrants status for a meeting

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",
    "registrant": [
        {
            "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
registrant optional
30
List of registrants

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",
        "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",
        "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, like “America/Los_Angeles”. For scheduled webinar only. For this parameter value please refer to the id value in timezone list.
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 Recurrence meeting repeat interval. For a Daily Meeting, max of 90. For a Weekly Meeting, max of 12. For a Monthly Meeting, max of 3.
recurrence.weekly_days integer Recurrence Meeting Occurs on week days, multiple value separated by comma
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.monthly_day integer Recurrence Meeting Occurs on a month day. The value range is from 1 to 31
recurrence.monthly_week integer Recurrence Meeting Occurs on the week of a month.
-1 Last week
1 First week
2 Second week
3 Third week
4 Fourth week
recurrence.monthly_week_day integer Recurrence Meeting Occurs on the week day of a month
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.end_times integer Recurrence Meeting End occurrences times
recurrence.end_date_time string Recurrence Meeting End Date. Should be UTC time, such as 2017-11-25T12:00:00Z.
settings.host_video boolean Start video when host join webinar
settings.participant_video boolean Start video when participants join webinar
settings.cn_meeting boolean Host webinar in China
settings.in_meeting boolean Host webinar in India
settings.join_before_host boolean Join webinar before host start the webinar. Only used for scheduled or recurring webinars
settings.mute_upon_entry boolean Mute participants upon entry
settings.watermark boolean Enable watermark when viewing the shared screen
settings.use_pmi boolean Use Personal Meeting ID. Only used for scheduled webinars and recurring webinars 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 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 Meeting audio options
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.
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 amount of records returns 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",
        "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",
        "close_registration": "boolean",
        "show_share_button": "boolean",
        "allow_multiple_devices": "boolean"
    }
}'

Example Response

201 Created
{
    "uuid": "string",
    "id": "string",
    "host_id": "string"
}
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, like “America/Los_Angeles”. For scheduled webinar only. For this parameter value please refer to the id value in timezone list.
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 Recurrence meeting repeat interval. For a Daily Meeting, max of 90. For a Weekly Meeting, max of 12. For a Monthly Meeting, max of 3.
recurrence.weekly_days optional Recurrence Meeting Occurs on week days, multiple value separated by comma
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.monthly_day optional Recurrence Meeting Occurs on a month day. The value range is from 1 to 31
recurrence.monthly_week optional Recurrence Meeting Occurs on the week of a month.
-1 Last week
1 First week
2 Second week
3 Third week
4 Fourth week
recurrence.monthly_week_day optional Recurrence Meeting Occurs on the week day of a month
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.end_times optional
1
50
Recurrence Meeting End occurrences times
recurrence.end_date_time optional Recurrence Meeting End Date. Should be UTC time, such as 2017-11-25T12:00:00Z.
settings.host_video optional Start video when host join webinar
settings.participant_video optional Start video when participants join webinar
settings.cn_meeting optional
false
Host webinar in China
settings.in_meeting optional
false
Host webinar in India
settings.join_before_host optional
false
Join webinar before host start the webinar. Only used for scheduled or recurring webinars
settings.mute_upon_entry optional
false
Mute participants upon entry
settings.watermark optional
false
Enable watermark when viewing the shared screen
settings.use_pmi optional
false
Use Personal Meeting ID. Only used for scheduled webinars and recurring webinars 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 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
Meeting audio options
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.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",
    "create_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",
        "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",
        "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",
        "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",
        "close_registration": "boolean",
        "show_share_button": "boolean",
        "allow_multiple_devices": "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, like “America/Los_Angeles”. For scheduled webinar only. For this parameter value please refer to the id value in timezone list.
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 Recurrence meeting repeat interval. For a Daily Meeting, max of 90. For a Weekly Meeting, max of 12. For a Monthly Meeting, max of 3.
recurrence.weekly_days optional Recurrence Meeting Occurs on week days, multiple value separated by comma
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.monthly_day optional Recurrence Meeting Occurs on a month day. The value range is from 1 to 31
recurrence.monthly_week optional Recurrence Meeting Occurs on the week of a month.
-1 Last week
1 First week
2 Second week
3 Third week
4 Fourth week
recurrence.monthly_week_day optional Recurrence Meeting Occurs on the week day of a month
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
recurrence.end_times optional
1
50
Recurrence Meeting End occurrences times
recurrence.end_date_time optional Recurrence Meeting End Date. Should be UTC time, such as 2017-11-25T12:00:00Z.
settings.host_video optional Start video when host join webinar
settings.participant_video optional Start video when participants join webinar
settings.cn_meeting optional
false
Host webinar in China
settings.in_meeting optional
false
Host webinar in India
settings.join_before_host optional
false
Join webinar before host start the webinar. Only used for scheduled or recurring webinars
settings.mute_upon_entry optional
false
Mute participants upon entry
settings.watermark optional
false
Enable watermark when viewing the shared screen
settings.use_pmi optional
false
Use Personal Meeting ID. Only used for scheduled webinars and recurring webinars 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 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
Meeting audio options
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.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.

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]"
        }
    ]
}
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 amount of records returns 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_id optional The meeting occurrence ID
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",
    "registrant": [
        {
            "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
registrant optional
30
List of registrants

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 amount of records returns 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 amount of records returns 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

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 amount of records returns 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 amount of records returns within a single API call.
next_page_token optional Next page token, used to paginate through large result sets. A next page token will be returned whenever the set of available result list exceeds page size. The expiration period is 15 minutes.

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": [
        {
            "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 amount of records returns within a single API call.
next_page_token optional Next page token, used to paginate through large result sets. A next page token will be returned whenever the set of available result list exceeds page size. The expiration period is 15 minutes.

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": [
        {
            "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 amount of records returns within a single API call.
next_page_token optional Next page token, used to paginate through large result sets. A next page token will be returned whenever the set of available result list exceeds page size. The expiration period 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
2 Toll
from required Start Date
to required End Date
page_size optional
30
300
The amount of records returns 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
live live meetings
from required Start Date
to required End Date
page_size optional
30
300
The amount of records returns within a single API call.
next_page_token optional Next page token, used to paginate through large result sets. A next page token will be returned whenever the set of available result list exceeds page size. The expiration period 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
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 [uuid]",
            "user_name": "string",
            "device": "string",
            "ip_address": "string",
            "location": "string",
            "network_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
live live meeting
page_size optional
30
300
The amount of records returns within a single API call.
next_page_token optional Next page token, used to paginate through large result sets. A next page token will be returned whenever the set of available result list exceeds page size. The expiration period 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 The participant ID, such as 16778240
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, used to paginate through large result sets. A next page token will be returned whenever the set of available result list exceeds page size. The expiration period 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 amount of records returns within a single API call.
next_page_token optional Next page token, used to paginate through large result sets. A next page token will be returned whenever the set of available result list exceeds page size. The expiration period 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 amount of records returns within a single API call.
next_page_token optional Next page token, used to paginate through large result sets. A next page token will be returned whenever the set of available result list exceeds page size. The expiration period 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 [uuid]",
            "user_name": "string",
            "device": "string",
            "ip_address": "string",
            "location": "string",
            "network_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 amount of records returns within a single API call.
next_page_token optional Next page token, used to paginate through large result sets. A next page token will be returned whenever the set of available result list exceeds page size. The expiration period 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 The participant ID, such as 16778240
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, used to paginate through large result sets. A next page token will be returned whenever the set of available result list exceeds page size. The expiration period 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 amount of records returns within a single API call.
next_page_token optional Next page token, used to paginate through large result sets. A next page token will be returned whenever the set of available result list exceeds page size. The expiration period 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",
            "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 amount of records returns 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",
    "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 amount of records returns 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 amount of records returns within a single API call.
next_page_token optional Next page token, used to paginate through large result sets. A next page token will be returned whenever the set of available result list exceeds page size. The expiration period is 15 minutes.

TSP

The TSP object

TSP Account object

{
    "conference_code": "string",
    "leader_pin": "string",
    "dial_in_numbers": {
        "code": "string",
        "number": "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.code string Country Code
dial_in_numbers.number string Dial-in number, length is less than 16.

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"
            }
        }
    ]
}
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"
    }
}'

Example Response

201 Created
{
    "conference_code": "string",
    "leader_pin": "string",
    "dial_in_numbers": {
        "code": "string",
        "number": "string"
    }
}
Path Arguments  
userId required The user ID or email address
Body Arguments  
conference_code required Conference code, numeric value, length is less than 16.
leader_pin required Leader PIN, numeric value, length is less than 16.
dial_in_numbers.code required Country Code
dial_in_numbers.number required Dial-in number, length is less than 16.

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"
    }
}
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"
    }
}'

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 Conference code, numeric value, length is less than 16.
leader_pin required Leader PIN, numeric value, length is less than 16.
dial_in_numbers.code required Country Code
dial_in_numbers.number required Dial-in number, length is less than 16.

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
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