Introduction
The Zoom API provides the ability for developers to easily add Video, Voice and Screen Sharing to your application. Our API is a server side implementation designed around REST, it does not support cross-origin resource sharing or access via a client side web application.
The Zoom API helps manage the pre-meeting experience such as creating, editing and deleting resources like users, meetings and webinars. It also provides access to post-meeting information for tasks such as reporting and analytics. It does not provide access to the in-meeting experience such as current attendee list, who is current speaker or ability to mute participants; if you seek these features please have a look at our SDKs.
If you are looking to test our v2 APIs using POSTMAN, please check out our recent blog post version 2 API with postman
Endpoint
https://api.zoom.us/v2/
The Zoom API endpoint is pretty straight forward. We require that you send all requests via https, requests sent to http will receive a 302 HTTP response code. The base URL is api.zoom.us followed by the version number of the API, currently at version 2.
Webhooks
Webhooks can be used as notifications to keep your systems in sync with actions inside Zoom. Find more information about webhooks on the Developer Portal
Authentication
Zoom API version 2 implements JSON Web Tokens (JWT) for authentication. It is recommended you use one of the existing JWT libraries to generate the token.
You can pass the token to the API either in the HTTP Authorization Header using ‘Bearer’ or via Query Parameter in your API call as ‘access_token’.
Header
Authorization: Bearer <token>
Query Parameter
<api_path>?access_token=<token>
Generating Token
You can find more details and specifics about JWT at jwt.io, below is and example of the minimum properties needed for the Zoom API.
Header
{
"alg": "HS256",
"typ": "JWT"
}
alg
refers to the algorithm being used, Zoom API uses HMAC SHA256 (HS256 for short)
typ
refers to the type of token, always JWT
Payload
{
"iss": "API_KEY",
"exp": 1496091964000
}
iss
is the issuer of the token, this is your Zoom API Key
exp
is the expiration timestamp of the token. It is recommended to use one of the JWT libraries to generate your tokens and to set this timestamp for a short period (like seconds), that way if someone intercepts your token it won’t be valid for very long.
Signature
Algorithm
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
api_secret)
Node.js Library example
var jwt = require('jsonwebtoken');
var payload = {
iss: api_key,
exp: ((new Date()).getTime() + 5000)
};
//Automatically creates header, and returns JWT
var token = jwt.sign(payload, api_secret);
To the right you’ll find an example algorithm for generating a signature, again highly recommend using a library to do this for you
Example
The example below is written in PHP and utilizes the Firebase JWT Library installed via Composer. However the concept and idea can be ported to any language and workflow and you can find libraries for your specific language on jwt.io
The key thing to understand is that the JWT token isn’t static, and that it is generated each time you make a request. This makes it unique and more secure; if somehow your token is intercepted it won’t be good for long (as in this example 60 seconds)
Errors
The Zoom API uses HTTP Status codes to reflect a successful or error requests. 2XX status codes represent a successful request, 4XX/5XX status codes represent an error took place. If you receive an error HTTP status code, check the body for an error code and message.
Error response example
{
"code" : 300,
"message" : "Request Body should be a valid JSON object."
}
Error response when sending invalid fields
{
"code": 300,
"message": "Validation Failed.",
"errors": [
{
"field": "user_info.email",
"message": "Invalid field."
},
{
"field": "user_info.type",
"message": "Invalid field."
}
]
}
Status Code | Description | Most Likely Cause |
---|---|---|
2XX | Successful Request | |
400 | Bad Request | Invalid/missing data |
401 | Unauthorized | Invalid/missing credentials |
404 | Not Found | The resource dosen’t exists, ex. invalid/non-existent user id |
409 | Conflict | Trying to overwrite a resource, ex. when creating a user with an email that already exists |
429 | Too Many Requests | Hit an API rate limit |
Rate Limits
To preserve the integrity and reliability of the platform our APIs have the following rate limits.
All API Endpoints
You can run a max of ten requests per second (10 requests/second) unless otherwise noted below.
Billing APIs
You can run a max of one request per second (1 request/second) on the following:
- /v2/*/billing/*
- /v2/*/plan/*
- /v2/*/metrics/* (excluding /meetings and /webinars)
Report & Metric APIs
You can run a max of one request per second (1 request/second) and a max of two thousand request per day (2000 requests/day) on the following:
- /v2/metrics/meetings
- /v2/metrics/webinars
- /v2/report/*
Furthermore, you can run a max of one request per minute (1 request/minute) on the following:
- /v2/metrics/meetings
- /v2/metrics/webinars
Accounts
The Account object
The account object represents an account on zoom. The person who created the account, or who the account was created for, is referred to as the account owner. You can read more about the Zoom account structure here.
{
"first_name": "string",
"last_name": "string",
"email": "string",
"password": "string",
"options": {
"share_rc": "boolean",
"room_connectors": "string",
"share_mc": "boolean",
"meeting_connectors": "string",
"pay_mode": "string"
}
}
Property | Description |
---|---|
first_name string | User’s first name |
last_name string | User’s last name |
email string | User’s email address |
password string | User’s password |
options.share_rc boolean | Enable Share Virtual Room Connector |
options.room_connectors string | Virtual Room Connector, multiple value separated by comma |
options.share_mc boolean | Enable Share Meeting Connector |
options.meeting_connectors string | Meeting Connector, multiple values separated by comma |
options.pay_mode string | Payeemaster Master account holder payssub Sub account holder pays |
List sub accounts
List all the sub accounts under the master account
Definition
GET https://api.zoom.us/v2/accounts
Example Request
$ curl https://api.zoom.us/v2/accounts
Example Response
200 OK
{
"page_count": "integer",
"page_number": "integer",
"page_size": "integer",
"total_records": "integer",
"accounts": [
{
"id": "string [uuid]",
"account_name": "string",
"owner_email": "string",
"account_type": "string",
"seats": "integer",
"subscription_start_time": "string [date-time]",
"subscription_end_time": "string [date-time]",
"created_at": "string [date-time]"
}
]
}
Query Arguments | |
---|---|
page_size optional 30 300 |
The number of records returned within a single API call |
page_number optional 1 |
Current page number of returned records |
Create a sub account
Create a sub account under the master account. .
Definition
POST https://api.zoom.us/v2/accounts
Example Request
$ curl https://api.zoom.us/v2/accounts \
-d '{
"first_name": "string",
"last_name": "string",
"email": "string",
"password": "string",
"options": {
"share_rc": "boolean",
"room_connectors": "string",
"share_mc": "boolean",
"meeting_connectors": "string",
"pay_mode": "string"
}
}'
Example Response
201 Created
{
"id": "string",
"owner_id": "string",
"owner_email": "string",
"created_at": "string"
}
Body Arguments | |
---|---|
first_name required | User’s first name |
last_name required | User’s last name |
email required | User’s email address |
password required | User’s password |
options.share_rc optional false |
Enable Share Virtual Room Connector |
options.room_connectors optional | Virtual Room Connector, multiple value separated by comma |
options.share_mc optional false |
Enable Share Meeting Connector |
options.meeting_connectors optional | Meeting Connector, multiple values separated by comma |
options.pay_mode optional master |
Payeemaster Master account holder payssub Sub account holder pays |
Retrieve a sub account
Retrieve a sub account under the master account. .
Definition
GET https://api.zoom.us/v2/accounts/{accountId}
Example Request
$ curl https://api.zoom.us/v2/accounts/{accountId}
Example Response
200 OK
{
"id": "string",
"owner_id": "string",
"owner_email": "string",
"created_at": "string [date-time]",
"options": {
"share_rc": "boolean",
"room_connectors": "string",
"share_mc": "boolean",
"meeting_connectors": "string",
"pay_mode": "string"
}
}
Path Arguments | |
---|---|
accountId required | The account ID |
Disassociate an account
Disassociate a sub account from the master account. This will leave the account intact but the sub account will not longer be associated with the master account.
Definition
DELETE https://api.zoom.us/v2/accounts/{accountId}
Example Request
$ curl https://api.zoom.us/v2/accounts/{accountId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
accountId required | The account ID |
Update a sub account’s options
Update a sub account’s options under the master account
Definition
PATCH https://api.zoom.us/v2/accounts/{accountId}/options
Example Request
$ curl https://api.zoom.us/v2/accounts/{accountId}/options \
-d '{
"share_rc": "boolean",
"room_connectors": "string",
"share_mc": "boolean",
"meeting_connectors": "string",
"pay_mode": "string"
}'
Example Response
204 No Content
Path Arguments | |
---|---|
accountId required | The account ID |
Body Arguments | |
---|---|
share_rc optional false |
Enable Share Virtual Room Connector |
room_connectors optional | Virtual Room Connector, multiple value separated by comma |
share_mc optional false |
Enable Share Meeting Connector |
meeting_connectors optional | Meeting Connector, multiple values separated by comma |
pay_mode optional master |
Payeemaster Master account holder payssub Sub account holder pays |
Retrieve a sub account’s settings
Retrieve a sub account’s settings under the master account
Definition
GET https://api.zoom.us/v2/accounts/{accountId}/settings
Example Request
$ curl https://api.zoom.us/v2/accounts/{accountId}/settings
Example Response
200 OK
{
"schedule_meting": {
"host_video": "boolean",
"participant_video": "boolean",
"audio_type": "string",
"join_before_host": "boolean",
"enforce_login": "boolean",
"enforce_login_with_domains": "boolean",
"enforce_login_domains": "string",
"not_store_meeting_topic": "boolean",
"force_pmi_jbh_password": "boolean"
},
"in_meeting": {
"e2e_encryption": "boolean",
"chat": "boolean",
"private_chat": "boolean",
"auto_saving_chat": "boolean",
"file_transfer": "boolean",
"feedback": "boolean",
"post_meeting_feedback": "boolean",
"co_host": "boolean",
"polling": "boolean",
"attendee_on_hold": "boolean",
"show_meeting_control_toolbar": "boolean",
"allow_show_zoom_windows": "boolean",
"annotation": "boolean",
"whiteboard": "boolean",
"webinar_question_answer": "boolean",
"anonymous_question_answer": "boolean",
"breakout_room": "boolean",
"closed_caption": "boolean",
"far_end_camera_control": "boolean",
"group_hd": "boolean",
"virtual_background": "boolean",
"watermark": "boolean",
"alert_guest_join": "boolean",
"auto_answer": "boolean",
"p2p_connetion": "boolean",
"p2p_ports": "boolean",
"ports_range": "string",
"sending_default_email_invites": "boolean",
"use_html_format_email": "boolean",
"dscp_marking": "boolean",
"dscp_audio": "integer",
"dscp_video": "integer",
"stereo_audio": "boolean",
"original_audio": "boolean",
"screen_sharing": "boolean",
"remote_control": "boolean",
"attention_tracking": "boolean"
},
"email_notification": {
"cloud_recording_avaliable_reminder": "boolean",
"jbh_reminder": "boolean",
"cancel_meeting_reminder": "boolean",
"low_host_count_reminder": "boolean",
"alternative_host_reminder": "boolean"
},
"zoom_rooms": {
"upcoming_meeting_alert": "boolean",
"start_airplay_manually": "boolean",
"weekly_system_restart": "boolean",
"list_meetings_with_calendar": "boolean",
"zr_post_meeting_feedback": "boolean",
"ultrasonic": "boolean",
"force_private_meeting": "boolean",
"hide_host_information": "boolean",
"cmr_for_instant_meeting": "boolean",
"auto_start_stop_scheduled_meetings": "boolean"
},
"security": {
"admin_change_name_pic": "boolean",
"import_photos_from_devices": "boolean",
"hide_billing_info": "boolean"
},
"recording": {
"local_recording": "boolean",
"cloud_recording": "boolean",
"record_speaker_view": "boolean",
"record_gallery_view": "boolean",
"record_audio_file": "boolean",
"save_chat_text": "boolean",
"show_timestamp": "boolean",
"recording_audio_transcript": "boolean",
"auto_recording": "string",
"cloud_recording_download": "boolean",
"cloud_recording_download_host": "boolean",
"account_user_access_recording": "boolean",
"auto_delete_cmr": "boolean",
"auto_delete_cmr_days": "integer"
},
"telephony": {
"third_party_audio": "boolean",
"audio_conference_info": "string"
},
"integration": {
"google_calendar": "boolean",
"google_drive": "boolean",
"dropbox": "boolean",
"box": "boolean",
"microsoft_one_drive": "boolean",
"kubi": "boolean"
},
"feature": {
"meeting_capacity": "integer"
}
}
Path Arguments | |
---|---|
accountId required | The account ID |
Update a sub account’s settings
Update a sub account’s settings under the master account
Definition
PATCH https://api.zoom.us/v2/accounts/{accountId}/settings
Example Request
$ curl https://api.zoom.us/v2/accounts/{accountId}/settings \
-d '{
"schedule_meting": {
"host_video": "boolean",
"participant_video": "boolean",
"audio_type": "string",
"join_before_host": "boolean",
"enforce_login": "boolean",
"enforce_login_with_domains": "boolean",
"enforce_login_domains": "string",
"not_store_meeting_topic": "boolean",
"force_pmi_jbh_password": "boolean"
},
"in_meeting": {
"e2e_encryption": "boolean",
"chat": "boolean",
"private_chat": "boolean",
"auto_saving_chat": "boolean",
"file_transfer": "boolean",
"feedback": "boolean",
"post_meeting_feedback": "boolean",
"co_host": "boolean",
"polling": "boolean",
"attendee_on_hold": "boolean",
"show_meeting_control_toolbar": "boolean",
"allow_show_zoom_windows": "boolean",
"annotation": "boolean",
"whiteboard": "boolean",
"webinar_question_answer": "boolean",
"anonymous_question_answer": "boolean",
"breakout_room": "boolean",
"closed_caption": "boolean",
"far_end_camera_control": "boolean",
"group_hd": "boolean",
"virtual_background": "boolean",
"watermark": "boolean",
"alert_guest_join": "boolean",
"auto_answer": "boolean",
"p2p_connetion": "boolean",
"p2p_ports": "boolean",
"ports_range": "string",
"sending_default_email_invites": "boolean",
"use_html_format_email": "boolean",
"dscp_marking": "boolean",
"dscp_audio": "integer",
"dscp_video": "integer",
"stereo_audio": "boolean",
"original_audio": "boolean",
"screen_sharing": "boolean",
"remote_control": "boolean",
"attention_tracking": "boolean"
},
"email_notification": {
"cloud_recording_avaliable_reminder": "boolean",
"jbh_reminder": "boolean",
"cancel_meeting_reminder": "boolean",
"low_host_count_reminder": "boolean",
"alternative_host_reminder": "boolean"
},
"zoom_rooms": {
"upcoming_meeting_alert": "boolean",
"start_airplay_manually": "boolean",
"weekly_system_restart": "boolean",
"list_meetings_with_calendar": "boolean",
"zr_post_meeting_feedback": "boolean",
"ultrasonic": "boolean",
"force_private_meeting": "boolean",
"hide_host_information": "boolean",
"cmr_for_instant_meeting": "boolean",
"auto_start_stop_scheduled_meetings": "boolean"
},
"security": {
"admin_change_name_pic": "boolean",
"import_photos_from_devices": "boolean",
"hide_billing_info": "boolean"
},
"recording": {
"local_recording": "boolean",
"cloud_recording": "boolean",
"record_speaker_view": "boolean",
"record_gallery_view": "boolean",
"record_audio_file": "boolean",
"save_chat_text": "boolean",
"show_timestamp": "boolean",
"recording_audio_transcript": "boolean",
"auto_recording": "string",
"cloud_recording_download": "boolean",
"cloud_recording_download_host": "boolean",
"account_user_access_recording": "boolean",
"auto_delete_cmr": "boolean",
"auto_delete_cmr_days": "integer"
},
"telephony": {
"third_party_audio": "boolean",
"audio_conference_info": "string"
},
"integration": {
"google_calendar": "boolean",
"google_drive": "boolean",
"dropbox": "boolean",
"box": "boolean",
"microsoft_one_drive": "boolean",
"kubi": "boolean"
},
"feature": {
"meeting_capacity": "integer"
}
}'
Example Response
204 No Content
Path Arguments | |
---|---|
accountId required | The account ID |
Body Arguments | |
---|---|
schedule_meting.host_video optional | Start meetings with host video on |
schedule_meting.participant_video optional | Start meetings with participant video on. Participants can change this during the meeting. |
schedule_meting.audio_type optional both |
Determine how participants can join the audio portion of the meetingboth Telephony and VoIPtelephony Audio PSTN telephony onlyvoip VoIP onlythirdParty 3rd party audio conference |
schedule_meting.join_before_host optional | Allow participants to join the meeting before the host arrives |
schedule_meting.enforce_login optional | Only signed-in (Zoom users) users can join meetings |
schedule_meting.enforce_login_with_domains optional | Only signed-in users with a specific domain can join meetings |
schedule_meting.enforce_login_domains optional | Only signed-in users with a specified domains |
schedule_meting.not_store_meeting_topic optional | Always display “Zoom Meeting” as the meeting topic |
schedule_meting.force_pmi_jbh_password optional | Require a password for Personal Meetings if attendees can join before host |
in_meeting.e2e_encryption optional | Require that all meetings are encrypted using AES |
in_meeting.chat optional | Allow meeting participants to send a message visible to all participants |
in_meeting.private_chat optional | Allow meeting participants to send a private 1:1 message to another participants |
in_meeting.auto_saving_chat optional | Automatically save all in-meeting chats so that hosts do not need to manually save the text of the chat after the meeting starts |
in_meeting.file_transfer optional | Hosts and participants can send files through the in-meeting chat |
in_meeting.feedback optional | Add a Feedback tab to the Windows Settings or Mac Preferences dialog, and also enable users to provide feedback to Zoom at the end of the meeting |
in_meeting.post_meeting_feedback optional | Display a thumbs up/down survey at the end of each meeting |
in_meeting.co_host optional | Allow the host to add co-hosts |
in_meeting.polling optional | Add ‘Polls’ to the meeting controls. |
in_meeting.attendee_on_hold optional | Allow hosts to temporarily remove an attendee from the meeting |
in_meeting.show_meeting_control_toolbar optional | Always show meeting control toolbar |
in_meeting.allow_show_zoom_windows optional | Show Zoom Desktop application when sharing screen |
in_meeting.annotation optional | Allow participants to use annotation tools to add information to shared screens |
in_meeting.whiteboard optional | Allow participants to share a whiteboard that includes annotation tools |
in_meeting.webinar_question_answer optional | Q&A in webinar |
in_meeting.anonymous_question_answer optional | Allow Anonymous Q&A in Webinar |
in_meeting.breakout_room optional | Allow host to split meeting participants into separate, smaller rooms |
in_meeting.closed_caption optional | Allow host to type closed captions or assign a participant/third party device to add closed captions |
in_meeting.far_end_camera_control optional | Allow another user to take control of your camera during a meeting |
in_meeting.group_hd optional | Activate higher quality video for host and participants. (This will use more bandwidth.) |
in_meeting.virtual_background optional | Allow users to replace their background with any selected image. Choose or upload an image in the Zoom Desktop application settings. |
in_meeting.watermark optional | Add watermark when viewing shared screen |
in_meeting.alert_guest_join optional | Identify guest participants in the meeting/webinar |
in_meeting.auto_answer optional | Enable users to see and add contacts to ‘auto-answer group’ in the contact list on chat. Any call from members of this group will be automatically answered. |
in_meeting.p2p_connetion optional | Peer to Peer connection while only 2 people are in a meeting |
in_meeting.p2p_ports optional | P2P listening ports range |
in_meeting.ports_range optional | Listening ports range, separated by comma (ex 55,56). The ports range must be between 1 to 65535. |
in_meeting.sending_default_email_invites optional | Only show default email when sending email invites |
in_meeting.use_html_format_email optional | Use HTML format email for Outlook plugin |
in_meeting.dscp_marking optional | DSCP marking |
in_meeting.dscp_audio optional 1 63 |
DSCP Audio |
in_meeting.dscp_video optional 1 63 |
DSCP Video |
in_meeting.stereo_audio optional | Allow users to select stereo audio in their client settings |
in_meeting.original_audio optional | Allow users to select original sound in their client settings |
in_meeting.screen_sharing optional | Allow screen sharing |
in_meeting.remote_control optional | Allow users to request remote control |
in_meeting.attention_tracking optional | Lets the host see an indicator in the participant panel if a meeting/webinar attendee does not have Zoom in focus during screen sharing |
email_notification.cloud_recording_avaliable_reminder optional | Notify host when cloud recording is available |
email_notification.jbh_reminder optional | Notify host when participants join the meeting before them |
email_notification.cancel_meeting_reminder optional | Notify host and participants when the meeting is cancelled |
email_notification.low_host_count_reminder optional | Notify when host licenses are running low |
email_notification.alternative_host_reminder optional | Notify when an alternative host is set or removed from a meeting |
zoom_rooms.upcoming_meeting_alert optional | Upcoming meeting alert |
zoom_rooms.start_airplay_manually optional | Start AirPlay service manually |
zoom_rooms.weekly_system_restart optional | Weekly system restart |
zoom_rooms.list_meetings_with_calendar optional | Display meeting list with calendar integration |
zoom_rooms.zr_post_meeting_feedback optional | Zoom Room post meeting feedback |
zoom_rooms.ultrasonic optional | Automatic direct sharing using ultrasonic proximity signal |
zoom_rooms.force_private_meeting optional | Transform all meetings to private |
zoom_rooms.hide_host_information optional | Hide host and meeting ID from private meetings |
zoom_rooms.cmr_for_instant_meeting optional | Cloud recording for instant meetings |
zoom_rooms.auto_start_stop_scheduled_meetings optional | Automatic start/stop for scheduled meetings |
security.admin_change_name_pic optional | Only account administrators can change user’s username and picture |
security.import_photos_from_devices optional | Allow importing of photos from photo library on the user’s device |
security.hide_billing_info optional | Hide billing information |
recording.local_recording optional | Allow hosts and participants to record the meeting to a local file |
recording.cloud_recording optional | Allow hosts to record and save the meeting in the cloud |
recording.record_speaker_view optional | Record active speaker with shared screen |
recording.record_gallery_view optional | Record gallery view with shared screen |
recording.record_audio_file optional | Record an audio only file |
recording.save_chat_text optional | Save chat text from the meeting |
recording.show_timestamp optional | Add a timestamp to the recording |
recording.recording_audio_transcript optional | Automatically transcribe the audio of the meeting or webinar to the cloud |
recording.auto_recording optional | Record meetings automatically as they startlocal Record on localcloud Record on cloudnone Disabled |
recording.cloud_recording_download optional | Cloud Recording Downloads |
recording.cloud_recording_download_host optional | Only the host can download cloud recordings |
recording.account_user_access_recording optional | Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings. |
recording.auto_delete_cmr optional | Allow Zoom to automatically delete recordings permanently after a specified number of days |
recording.auto_delete_cmr_days optional | When auto_delete_cmr is ‘true’ this value will set the number of days before auto deletion of cloud recordings |
telephony.third_party_audio optional | Users can join the meeting using the existing 3rd party audio configuration |
telephony.audio_conference_info optional | 3rd party audio conference info |
integration.google_calendar optional | Enables meetings to be scheduled using Google Calendars |
integration.google_drive optional | Enables users who join a meeting from their mobile device to share content from their Google Drive |
integration.dropbox optional | Enables users who join a meeting from their mobile device to share content from their Dropbox account |
integration.box optional | Enables users who join a meeting from their mobile device to share content from their Box account |
integration.microsoft_one_drive optional | Enables users who join a meeting from their mobile device to share content from their Microsoft OneDrive account |
integration.kubi optional | Enables users to control a connected Kubi device from within a Zoom meeting |
feature.meeting_capacity optional 100 |
Set the maximum number of participants this user can have in a single meeting |
Billing
Retrieve billing information for a sub account
Retrieve billing information for a sub account under the master account
Definition
GET https://api.zoom.us/v2/accounts/{accountId}/billing
Example Request
$ curl https://api.zoom.us/v2/accounts/{accountId}/billing
Example Response
200 OK
{
"first_name": "string",
"last_name": "string",
"email": "string",
"phone_number": "string",
"address": "string",
"apt": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
}
Path Arguments | |
---|---|
accountId required | The account ID |
Update billing information for a sub account
Update billing information for a sub account under the master account
Definition
PATCH https://api.zoom.us/v2/accounts/{accountId}/billing
Example Request
$ curl https://api.zoom.us/v2/accounts/{accountId}/billing \
-d '{
"first_name": "string",
"last_name": "string",
"email": "string",
"phone_number": "string",
"address": "string",
"apt": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
}'
Example Response
204 No Content
Path Arguments | |
---|---|
accountId required | The account ID |
Body Arguments | |
---|---|
first_name optional | Billing Contact’s first name |
last_name optional | Billing Contact’s last name |
email optional | Billing Contact’s email address |
phone_number optional | Billing Contact’s phone number |
address optional | Billing Contact’s address |
apt optional | Billing Contact’s apartment/suite |
city optional | Billing Contact’s city |
state optional | Billing Contact’s state |
zip optional | Billing Contact’s zip/postal code |
country optional | Billing Contact’s country |
Retrieve plan information for a sub account
Retrieve plan information for a sub account under the master account
Definition
GET https://api.zoom.us/v2/accounts/{accountId}/plans
Example Request
$ curl https://api.zoom.us/v2/accounts/{accountId}/plans
Example Response
200 OK
{
"plan_base": {
"type": "string",
"hosts": "integer"
},
"plan_zoom_rooms": {
"type": "string",
"hosts": "integer"
},
"plan_room_connector": {
"type": "string",
"hosts": "integer"
},
"plan_large_meeting": [
{
"type": "string",
"hosts": "integer"
}
],
"plan_webinar": [
{
"type": "string",
"hosts": "integer"
}
],
"plan_recording": "string",
"plan_audio": {
"type": "string",
"tollfree_countries": "string",
"premium_countries": "string",
"callout_countries": "string",
"ddi_numbers": "integer"
}
}
Path Arguments | |
---|---|
accountId required | The account ID |
Subscribe plans for a sub account
Subscribe plans for a sub account of the master account
Definition
POST https://api.zoom.us/v2/accounts/{accountId}/plans
Example Request
$ curl https://api.zoom.us/v2/accounts/{accountId}/plans \
-d '{
"contact": {
"first_name": "string",
"last_name": "string",
"email": "string",
"phone_number": "string",
"address": "string",
"apt": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"plan_base": {
"type": "string",
"hosts": "integer"
},
"plan_zoom_rooms": {
"type": "string",
"hosts": "integer"
},
"plan_room_connector": {
"type": "string",
"hosts": "integer"
},
"plan_large_meeting": [
{
"type": "string",
"hosts": "integer"
}
],
"plan_webinar": [
{
"type": "string",
"hosts": "integer"
}
],
"plan_recording": "string",
"plan_audio": {
"type": "string",
"tollfree_countries": "string",
"premium_countries": "string",
"callout_countries": "string",
"ddi_numbers": "integer"
}
}'
Example Response
201 Created
{
"plan_base": {
"type": "string",
"hosts": "integer"
},
"plan_zoom_rooms": {
"type": "string",
"hosts": "integer"
},
"plan_room_connector": {
"type": "string",
"hosts": "integer"
},
"plan_large_meeting": [
{
"type": "string",
"hosts": "integer"
}
],
"plan_webinar": [
{
"type": "string",
"hosts": "integer"
}
],
"plan_recording": "string",
"plan_audio": {
"type": "string",
"tollfree_countries": "string",
"premium_countries": "string",
"callout_countries": "string",
"ddi_numbers": "integer"
}
}
Path Arguments | |
---|---|
accountId required | The account ID |
Body Arguments | |
---|---|
contact.first_name required | Billing Contact’s first name |
contact.last_name required | Billing Contact’s last name |
contact.email required | Billing Contact’s email address |
contact.phone_number required | Billing Contact’s phone number |
contact.address required | Billing Contact’s address |
contact.apt optional | Billing Contact’s apartment/suite |
contact.city required | Billing Contact’s city |
contact.state required | Billing Contact’s state |
contact.zip required | Billing Contact’s zip/postal code |
contact.country required | Billing Contact’s country |
plan_base.type required | Account base plan type |
plan_base.hosts required | Account base plan number of hosts. For a Pro Plan, please select a value between 1 and 9. For a Business Plan, please select a value between 10 and 49. For a Education Plan, please select a value between 20 and 149. For a Free Trial Plan, please select a value between 1 and 9999. |
plan_zoom_rooms.type optional | Account plan type |
plan_zoom_rooms.hosts optional | Account plan number of hosts |
plan_room_connector.type optional | Account plan type |
plan_room_connector.hosts optional | Account plan number of hosts |
plan_large_meeting optional | Additional Large Meeting Plans |
plan_webinar optional | Additional Webinar Plans |
plan_recording optional | Additional Cloud Recording Plan |
plan_audio.type optional | Additional Audio Conferencing plan type |
plan_audio.tollfree_countries optional | Toll-free countries, multiple value separated by comma |
plan_audio.premium_countries optional | Premium countries, multiple value separated by comma |
plan_audio.callout_countries optional | Call-out countries, multiple value separated by comma |
plan_audio.ddi_numbers optional | Dedicated Dial-In Numbers |
Update a base plan for a sub account
Update a base plan for a sub account
Definition
PUT https://api.zoom.us/v2/accounts/{accountId}/plans/base
Example Request
$ curl https://api.zoom.us/v2/accounts/{accountId}/plans/base \
-d '{
"type": "string",
"hosts": "integer"
}'
Example Response
204 No Content
Path Arguments | |
---|---|
accountId required | The account ID |
Body Arguments | |
---|---|
type required | Account base plan type |
hosts required | Account base plan number of hosts. For a Pro Plan, please select a value between 1 and 9. For a Business Plan, please select a value between 10 and 49. For a Education Plan, please select a value between 20 and 149. For a Free Trial Plan, please select a value between 1 and 9999. |
Add an additional plan for sub account
Add an additional plan for sub account
Definition
POST https://api.zoom.us/v2/accounts/{accountId}/plans/addons
Example Request
$ curl https://api.zoom.us/v2/accounts/{accountId}/plans/addons \
-d '{
"type": "string",
"hosts": "integer"
}'
Example Response
201 Created
Path Arguments | |
---|---|
accountId required | The account ID |
Body Arguments | |
---|---|
type required | Account plan type |
hosts required | Account plan number of hosts |
Update an additional plan for sub account
Update an additional plan for sub account
Definition
PUT https://api.zoom.us/v2/accounts/{accountId}/plans/addons
Example Request
$ curl https://api.zoom.us/v2/accounts/{accountId}/plans/addons \
-d '{
"type": "string",
"hosts": "integer"
}'
Example Response
204 No Content
Path Arguments | |
---|---|
accountId required | The account ID |
Body Arguments | |
---|---|
type required | Account plan type |
hosts required | Account plan number of hosts |
Users
The User object
The user object represents a User on Zoom
{
"first_name": "string",
"last_name": "string",
"email": "string",
"type": "integer",
"pmi": "string",
"timezone": "string",
"dept": "string",
"created_at": "string [date-time]",
"last_login_time": "string [date-time]",
"last_client_version": "string"
}
Property | Description |
---|---|
first_name string | User’s first name |
last_name string | User’s last name |
email string | User’s email address |
type integer | User’s type1 basic2 pro3 corp |
pmi string | Personal Meeting ID |
timezone string | Time Zone |
dept string | Department |
created_at string | User create time |
last_login_time string | User last login time |
last_client_version string | User last login client version |
List Users
List users on your account
Definition
GET https://api.zoom.us/v2/users
Example Request
$ curl https://api.zoom.us/v2/users
Example Response
200 OK
{
"page_count": "integer",
"page_number": "integer",
"page_size": "integer",
"total_records": "integer",
"users": [
{
"id": "string",
"first_name": "string",
"last_name": "string",
"email": "string",
"type": "integer",
"pmi": "string",
"timezone": "string",
"dept": "string",
"created_at": "string [date-time]",
"last_login_time": "string [date-time]",
"last_client_version": "string",
"group_ids": [
"string"
],
"im_group_ids": [
"string"
]
}
]
}
Query Arguments | |
---|---|
status optional active |
User statusactive users with active statusinactive users with inactive statuspending users with pending status |
page_size optional 30 300 |
The number of records returned within a single API call |
page_number optional 1 |
Current page number of returned records |
Create a user
Create a user on your account
Definition
POST https://api.zoom.us/v2/users
Example Request
$ curl https://api.zoom.us/v2/users \
-d '{
"action": "string",
"user_info": {
"email": "string",
"type": "integer",
"first_name": "string",
"last_name": "string",
"password": "string"
}
}'
Example Response
201 Created
{
"id": "string",
"first_name": "string",
"last_name": "string",
"email": "string",
"type": "integer"
}
Body Arguments | |
---|---|
action required | Specify how to create the new usercreate User will get an email sent from Zoom. There is a confirmation link in this email. User will then need to click this link to activate their account to the Zoom service. The user can set or change their password in Zoom. . autoCreate This action is provided for enterprise customer who has a managed domain. This feature is disabled by default because of the security risk involved in creating a user who does not belong to your domain without notifying the user. custCreate This action is provided for API partner only. User created in this way has no password and is not able to log into the Zoom web site or client. ssoCreate This action is provided for enabled “Pre-provisioning SSO User” option. User created in this way has no password. If it is not a basic user, will generate a Personal Vanity URL using user name (no domain) of the provisioning email. If user name or pmi is invalid or occupied, will use random number/random personal vanity URL. |
user_info.email required 128 |
User’s email address |
user_info.type required | User’s type1 basic2 pro3 corp |
user_info.first_name optional 64 |
User’s first name. Cannot contain more than 5 Chinese words. |
user_info.last_name optional 64 |
User’s last name. Cannot contain more than 5 Chinese words. |
user_info.password optional | User’s password. Only for “autoCreate” action. |
Retrieve a user
Retrieve a user on your account
Definition
GET https://api.zoom.us/v2/users/{userId}
Example Request
$ curl https://api.zoom.us/v2/users/{userId}
Example Response
200 OK
{
"id": "string",
"first_name": "string",
"last_name": "string",
"email": "string",
"type": "integer",
"pmi": "string",
"timezone": "string",
"dept": "string",
"created_at": "string [date-time]",
"last_login_time": "string [date-time]",
"last_client_version": "string",
"vanity_url": "string",
"personal_meeting_url": "string",
"verified": "integer",
"pic_url": "string",
"cms_user_id": "string",
"account_id": "string",
"host_key": "string",
"group_ids": [
"string"
],
"im_group_ids": [
"string"
]
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Query Arguments | |
---|---|
login_type optional | 0 Facebook1 Google99 API100 Zoom101 SSO |
Update a user
Update a user on your account
Definition
PATCH https://api.zoom.us/v2/users/{userId}
Example Request
$ curl https://api.zoom.us/v2/users/{userId} \
-d '{
"first_name": "string",
"last_name": "string",
"type": "integer",
"pmi": "string",
"timezone": "string [date-time]",
"dept": "string",
"vanity_name": "string",
"host_key": "string",
"cms_user_id": "string"
}'
Example Response
204 No Content
Path Arguments | |
---|---|
userId required | The user ID or email address |
Body Arguments | |
---|---|
first_name optional 64 |
User’s first name. Cannot contain more than 5 Chinese words. |
last_name optional 64 |
User’s last name. Cannot contain more than 5 Chinese words. |
type optional | User’s type1 basic2 pro3 corp |
pmi optional 10 |
Personal Meeting ID,length must be 10 |
timezone optional | The time zone id for user profile. For this parameter value please refer to the id value in timezone list. |
dept optional | Department for user profile, use for report |
vanity_name optional | Personal meeting room name |
host_key optional 6 |
Host Key, should be 6-digit number |
cms_user_id optional | Kaltura User Id |
Delete a user
Delete a user on your account
Definition
DELETE https://api.zoom.us/v2/users/{userId}
Example Request
$ curl https://api.zoom.us/v2/users/{userId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
userId required | The user ID or email address |
Query Arguments | |
---|---|
action optional disassociate |
Delete action typedisassociate Disassociate a userdelete Permanently delete a user |
transfer_email optional | Transfer email |
transfer_meeting optional | Transfer meeting |
transfer_webinar optional | Transfer webinar |
transfer_recording optional | Transfer recording |
List a user’s assistants
List a user’s assistants
Definition
GET https://api.zoom.us/v2/users/{userId}/assistants
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/assistants
Example Response
200 OK
{
"assistants": [
{
"id": "string",
"email": "string"
}
]
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Add assistants
Add assistants to a user
Definition
POST https://api.zoom.us/v2/users/{userId}/assistants
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/assistants \
-d '{
"assistants": [
{
"id": "string",
"email": "string"
}
]
}'
Example Response
201 Created
{
"ids": "string",
"add_at": "string [date-time]"
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Body Arguments | |
---|---|
assistants optional 30 |
List of User’s assistants |
Delete a user’s assistants
Delete all of a user'sassitants
Definition
DELETE https://api.zoom.us/v2/users/{userId}/assistants
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/assistants \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
userId required | The user ID or email address |
Delete a user’s assistant
Delete one of a user’s assistants
Definition
DELETE https://api.zoom.us/v2/users/{userId}/assistants/{assistantId}
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/assistants/{assistantId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
userId required | The user ID or email address |
assistantId required | Assistant’s ID |
List a user’s schedulers
List a user’s schedulers
Definition
GET https://api.zoom.us/v2/users/{userId}/schedulers
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/schedulers
Example Response
200 OK
{
"assistants": [
{
"id": "string",
"email": "string"
}
]
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Delete a user’s schedulers
Delete all of a user'schedulers
Definition
DELETE https://api.zoom.us/v2/users/{userId}/schedulers
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/schedulers \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
userId required | The user ID or email address |
Delete a user’s scheduler
Delete one of a user’s schedulers
Definition
DELETE https://api.zoom.us/v2/users/{userId}/schedulers/{schedulerId}
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/schedulers/{schedulerId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
userId required | The user ID or email address |
schedulerId required | Scheduler’s ID |
Upload a user’s picture
Upload a user’s profile picture
Definition
POST https://api.zoom.us/v2/users/{userId}/picture
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/picture
Example Response
201 Created
Path Arguments | |
---|---|
userId required | The user ID or email address |
Retrieve a user’s settings
Retrieve a user’s settings
Definition
GET https://api.zoom.us/v2/users/{userId}/settings
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/settings
Example Response
200 OK
{
"scheduled_meeting": {
"host_video": "boolean",
"participants_video": "boolean",
"audio_type": "string",
"join_before_host": "boolean",
"force_pmi_jbh_password": "boolean",
"pstn_password_protected": "boolean"
},
"in_meeting": {
"e2e_encryption": "boolean",
"chat": "boolean",
"private_chat": "boolean",
"auto_saving_chat": "boolean",
"entry_exit_chime": "string",
"record_play_voice": "boolean",
"file_transfer": "boolean",
"feedback": "boolean",
"co_host": "boolean",
"polling": "boolean",
"attendee_on_hold": "boolean",
"annotation": "boolean",
"remote_control": "boolean",
"non_verbal_feedback": "boolean",
"breakout_room": "boolean",
"remote_support": "boolean",
"closed_caption": "boolean",
"group_hd": "boolean",
"virtual_background": "boolean",
"far_end_camera_control": "boolean",
"share_dual_camera": "boolean",
"attention_tracking": "boolean",
"waiting_room": "boolean"
},
"email_notification": {
"jbh_reminder": "boolean",
"cancel_meeting_reminder": "boolean",
"alternative_host_reminder": "boolean"
},
"recording": {
"local_recording": "boolean",
"cloud_recording": "boolean",
"record_speaker_view": "boolean",
"record_gallery_view": "boolean",
"record_audio_file": "boolean",
"save_chat_text": "boolean",
"show_timestamp": "boolean",
"recording_audio_transcript": "boolean",
"auto_recording": "string",
"auto_delete_cmr": "boolean",
"auto_delete_cmr_days": "integer"
},
"telephony": {
"third_party_audio": "boolean",
"audio_conference_info": "string",
"show_international_numbers_link": "boolean"
},
"feature": {
"meeting_capacity": "integer",
"large_meeting": "boolean",
"large_meeting_capacity": "integer",
"webinar": "boolean",
"webinar_capacity": "integer",
"cn_meeting": "boolean",
"in_meeting": "boolean"
}
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Query Arguments | |
---|---|
login_type optional | 0 Facebook1 Google99 API100 Zoom101 SSO |
Update a user’s settings
Update a user’s settings
Definition
PATCH https://api.zoom.us/v2/users/{userId}/settings
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/settings \
-d '{
"scheduled_meeting": {
"host_video": "boolean",
"participants_video": "boolean",
"audio_type": "string",
"join_before_host": "boolean",
"force_pmi_jbh_password": "boolean",
"pstn_password_protected": "boolean"
},
"in_meeting": {
"e2e_encryption": "boolean",
"chat": "boolean",
"private_chat": "boolean",
"auto_saving_chat": "boolean",
"entry_exit_chime": "string",
"record_play_voice": "boolean",
"file_transfer": "boolean",
"feedback": "boolean",
"co_host": "boolean",
"polling": "boolean",
"attendee_on_hold": "boolean",
"annotation": "boolean",
"remote_control": "boolean",
"non_verbal_feedback": "boolean",
"breakout_room": "boolean",
"remote_support": "boolean",
"closed_caption": "boolean",
"group_hd": "boolean",
"virtual_background": "boolean",
"far_end_camera_control": "boolean",
"share_dual_camera": "boolean",
"attention_tracking": "boolean",
"waiting_room": "boolean"
},
"email_notification": {
"jbh_reminder": "boolean",
"cancel_meeting_reminder": "boolean",
"alternative_host_reminder": "boolean"
},
"recording": {
"local_recording": "boolean",
"cloud_recording": "boolean",
"record_speaker_view": "boolean",
"record_gallery_view": "boolean",
"record_audio_file": "boolean",
"save_chat_text": "boolean",
"show_timestamp": "boolean",
"recording_audio_transcript": "boolean",
"auto_recording": "string",
"auto_delete_cmr": "boolean",
"auto_delete_cmr_days": "integer"
},
"telephony": {
"third_party_audio": "boolean",
"audio_conference_info": "string",
"show_international_numbers_link": "boolean"
},
"feature": {
"meeting_capacity": "integer",
"large_meeting": "boolean",
"large_meeting_capacity": "integer",
"webinar": "boolean",
"webinar_capacity": "integer"
}
}'
Example Response
204 No Content
Path Arguments | |
---|---|
userId required | The user ID or email address |
Body Arguments | |
---|---|
scheduled_meeting.host_video optional | Host video |
scheduled_meeting.participants_video optional | Participants video |
scheduled_meeting.audio_type optional voip |
Determine how participants can join the audio portion of the meetingboth Telephony and VoIPtelephony Audio PSTN telephony onlyvoip VoIP onlythirdParty 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/leavehost when host joins/leavesall when any participant joins/leavesnone no join/leave sound |
in_meeting.record_play_voice optional | Record and play their own voice |
in_meeting.file_transfer optional false |
File transfer |
in_meeting.feedback optional false |
Feedback to Zoom |
in_meeting.co_host optional false |
Co-host |
in_meeting.polling optional false |
Polling |
in_meeting.attendee_on_hold optional false |
Allow host to put attendee on hold |
in_meeting.annotation optional false |
Annotation |
in_meeting.remote_control optional false |
Remote control |
in_meeting.non_verbal_feedback optional false |
Non-verbal feedback |
in_meeting.breakout_room optional false |
Breakout room |
in_meeting.remote_support optional false |
Remote support |
in_meeting.closed_caption optional false |
Closed caption |
in_meeting.group_hd optional false |
Group HD video |
in_meeting.virtual_background optional false |
Virtual background |
in_meeting.far_end_camera_control optional false |
Far end camera control |
in_meeting.share_dual_camera optional false |
Share dual camera (Deprecated) |
in_meeting.attention_tracking optional false |
Attention tracking |
in_meeting.waiting_room optional false |
Waiting room |
email_notification.jbh_reminder optional false |
When attendees join meeting before host |
email_notification.cancel_meeting_reminder optional false |
When a meeting is cancelled |
email_notification.alternative_host_reminder optional false |
When an alternative host is set or removed from a meeting |
recording.local_recording optional | Local recording |
recording.cloud_recording optional false |
Cloud recording |
recording.record_speaker_view optional false |
Record the active speaker view |
recording.record_gallery_view optional false |
Record the gallery view |
recording.record_audio_file optional false |
Record an audio only file |
recording.save_chat_text optional false |
Save chat text from the meeting |
recording.show_timestamp optional false |
Show timestamp on video |
recording.recording_audio_transcript optional | Audio transcript |
recording.auto_recording optional local |
Automatic recordinglocal Record on localcloud Record on cloudnone Disabled |
recording.auto_delete_cmr optional false |
Auto delete cloud recordings |
recording.auto_delete_cmr_days optional false 1 60 |
A specified number of days of auto delete cloud recordings |
telephony.third_party_audio optional | 3rd party audio conference |
telephony.audio_conference_info optional 2048 |
3rd party audio conference info |
telephony.show_international_numbers_link optional | Show international numbers link on the invitation email |
feature.meeting_capacity optional | User’s meeting capacity |
feature.large_meeting optional | Large meting feature |
feature.large_meeting_capacity optional | Large meeting capacity, can be 100, 200, 300 or 500, depends on if having related large meeting capacity plan subscription or not |
feature.webinar optional | Webinar feature |
feature.webinar_capacity optional | Webinar capacity, can be 100, 500, 1000, 3000, 5000 or 10000, depends on if having related webinar capacity plan subscription or not |
Update a user’s status
Update a user’s status
Definition
PUT https://api.zoom.us/v2/users/{userId}/status
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/status \
-d '{
"action": "string"
}'
Example Response
204 No Content
Path Arguments | |
---|---|
userId required | The user ID or email address |
Body Arguments | |
---|---|
action required | The action typeactivate set users status to activedeactivate set users status to inactive |
Update a user’s password
Update a user’s password
Definition
PUT https://api.zoom.us/v2/users/{userId}/password
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/password \
-d '{
"password": "string"
}'
Example Response
204 No Content
Path Arguments | |
---|---|
userId required | The user ID or email address |
Body Arguments | |
---|---|
password required | User’s password. Character length is less than 32, |
Retrieve a user’s permissions
Retrieve a user’s permissions
Definition
GET https://api.zoom.us/v2/users/{userId}/permissions
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/permissions
Example Response
200 OK
{
"permissions": [
"string"
]
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Retrieve a user’s token
Retrieve a user’s token
Definition
GET https://api.zoom.us/v2/users/{userId}/token
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/token
Example Response
200 OK
{
"token": "string"
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Query Arguments | |
---|---|
type optional | User token typetoken Used for starting meeting with client SDK.zpk Used for generating the start meeting url. (Deprecated)zak Used for generating the start meeting url. The expiration time is two hours. For API users, the expiration time is 90 days. |
Revoke a user’s SSO token
Revoke a user’s SSO token
Definition
DELETE https://api.zoom.us/v2/users/{userId}/token
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/token \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
userId required | The user ID or email address |
Verify a user’s zpk (Deprecated
Check if the zpk is expired. The zpk is used to authenticate a user.
Definition
GET https://api.zoom.us/v2/users/zpk
Example Request
$ curl https://api.zoom.us/v2/users/zpk?zpk=string
Example Response
200 OK
{
"expire_in": "integer"
}
Query Arguments | |
---|---|
zpk required | User zpk |
Check a user’s email
Check if the user email exists
Definition
GET https://api.zoom.us/v2/users/email
Example Request
$ curl https://api.zoom.us/v2/users/email?email=string
Example Response
200 OK
{
"existed_email": "boolean"
}
Query Arguments | |
---|---|
email required | Zoom work email |
Check a user’s personal meeting room name
Check if the user’s personal meeting room name exists
Definition
GET https://api.zoom.us/v2/users/vanity_name
Example Request
$ curl https://api.zoom.us/v2/users/vanity_name?vanity_name=string
Example Response
200 OK
{
"existed": "boolean"
}
Query Arguments | |
---|---|
vanity_name required | Personal meeting room name |
Meetings
The Meeting object
Meeting object
{
"topic": "string",
"type": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"timezone": "string",
"password": "string",
"agenda": "string",
"recurrence": {
"type": "integer",
"repeat_interval": "integer",
"weekly_days": "integer",
"monthly_day": "integer",
"monthly_week": "integer",
"monthly_week_day": "integer",
"end_times": "integer",
"end_date_time": "string [date-time]"
},
"settings": {
"host_video": "boolean",
"participant_video": "boolean",
"cn_meeting": "boolean",
"in_meeting": "boolean",
"join_before_host": "boolean",
"mute_upon_entry": "boolean",
"watermark": "boolean",
"use_pmi": "boolean",
"approval_type": "integer",
"registration_type": "integer",
"audio": "string",
"auto_recording": "string",
"enforce_login": "boolean",
"enforce_login_domains": "string",
"alternative_hosts": "string"
}
}
Property | Description |
---|---|
topic string | Meeting topic |
type integer | Meeting Type1 Instant Meeting2 Scheduled Meeting3 Recurring Meeting with no fixed time8 Recurring Meeting with fixed time |
start_time string | Meeting start time. When using a format like “yyyy-MM-dd’T'HH:mm:ss'Z’”, always use GMT time. When using a format like “yyyy-MM-dd’T'HH:mm:ss”, you should use local time and you will need to specify the time zone. Only used for scheduled meetings and recurring meetings with fixed time. |
duration integer | Meeting duration (minutes). Used for scheduled meetings only |
timezone string | Timezone to format start_time. For example, “America/Los_Angeles”. For scheduled meetings only. Please reference our timezone list for supported timezones and their formats. |
password string | Password to join the meeting. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters. |
agenda string | Meeting description |
recurrence.type integer | Recurrence meeting type1 Daily2 Weekly3 Monthly |
recurrence.repeat_interval integer | At which interval should the meeting repeat? For a daily meeting, max of 90 days. For a weekly meeting, max of 12 weeks. For a monthly meeting, max of 3 months. |
recurrence.weekly_days integer | Days of the week the meeting should repeat, multiple values separated by comma1 Sunday2 Monday3 Tuesday4 Wednesday5 Thursday6 Friday7 Saturday |
recurrence.monthly_day integer | Day of the month for the meeting to be scheduled. The value range is from 1 to 31. |
recurrence.monthly_week integer | Week for which the meeting should recur each month,-1 Last week1 First week2 Second week3 Third week4 Fourth week |
recurrence.monthly_week_day integer | Day for which the meeting should recur each month1 Sunday2 Monday3 Tuesday4 Wednesday5 Thursday6 Friday7 Saturday |
recurrence.end_times integer | Select how many times the meeting will occur before it is canceled. (Cannot be used with “end_date_time”.) |
recurrence.end_date_time string | Select a date the meeting will occur before it is canceled.. Should be UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with “end_times”.) |
settings.host_video boolean | Start video when host joins meeting |
settings.participant_video boolean | Start video when participants join meeting |
settings.cn_meeting boolean | Host meeting in China |
settings.in_meeting boolean | Host meeting in India |
settings.join_before_host boolean | Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings. |
settings.mute_upon_entry boolean | Mute participants upon entry |
settings.watermark boolean | Add watermark when viewing shared screen |
settings.use_pmi boolean | Use Personal Meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time. |
settings.approval_type integer | 0 Automatically Approve1 Manually Approve2 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 occurrences2 Attendees need to register for each occurrence to attend3 Attendees register once and can choose one or more occurrences to attend |
settings.audio string | Determine how participants can join the audio portion of the meetingboth Both Telephony and VoIPtelephony Telephony onlyvoip VoIP only |
settings.auto_recording string | local Record to local devicecloud Record to cloudnone No Recording |
settings.enforce_login boolean | Only signed-in users can join this meeting |
settings.enforce_login_domains string | Only signed-in users with specified domains can join meetings |
settings.alternative_hosts string | Alternative hosts emails or IDs. Multiple value separated by comma. |
List meetings
List meetings for a user
Definition
GET https://api.zoom.us/v2/users/{userId}/meetings
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/meetings
Example Response
200 OK
{
"page_count": "integer",
"page_number": "integer",
"page_size": "integer",
"total_records": "integer",
"meetings": [
{
"uuid": "string",
"id": "string",
"host_id": "string",
"topic": "string",
"type": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"timezone": "string",
"created_at": "string [date-time]",
"join_url": "string"
}
]
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Query Arguments | |
---|---|
type optional live |
The meeting typescheduled all the scheduled meetingslive all the live meetingsupcoming all the upcoming meetings |
page_size optional 30 300 |
The number of records returned within a single API call |
page_number optional 1 |
Current page number of returned records |
Create a meeting
Create a meeting for a user
Definition
POST https://api.zoom.us/v2/users/{userId}/meetings
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/meetings \
-d '{
"topic": "string",
"type": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"timezone": "string",
"password": "string",
"agenda": "string",
"recurrence": {
"type": "integer",
"repeat_interval": "integer",
"weekly_days": "integer",
"monthly_day": "integer",
"monthly_week": "integer",
"monthly_week_day": "integer",
"end_times": "integer",
"end_date_time": "string [date-time]"
},
"settings": {
"host_video": "boolean",
"participant_video": "boolean",
"cn_meeting": "boolean",
"in_meeting": "boolean",
"join_before_host": "boolean",
"mute_upon_entry": "boolean",
"watermark": "boolean",
"use_pmi": "boolean",
"approval_type": "integer",
"registration_type": "integer",
"audio": "string",
"auto_recording": "string",
"enforce_login": "boolean",
"enforce_login_domains": "string",
"alternative_hosts": "string"
}
}'
Example Response
201 Created
{
"uuid": "string",
"id": "string",
"host_id": "string",
"topic": "string",
"type": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"timezone": "string",
"created_at": "string [date-time]",
"agenda": "string",
"start_url": "string",
"join_url": "string",
"password": "string",
"h323_password": "string",
"occurrences": [
{
"occurrence_id": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"status": "string"
}
],
"settings": {
"host_video": "boolean",
"participant_video": "boolean",
"cn_meeting": "boolean",
"in_meeting": "boolean",
"join_before_host": "boolean",
"mute_upon_entry": "boolean",
"watermark": "boolean",
"use_pmi": "boolean",
"approval_type": "integer",
"registration_type": "integer",
"audio": "string",
"auto_recording": "string",
"enforce_login": "boolean",
"enforce_login_domains": "string",
"alternative_hosts": "string"
}
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Body Arguments | |
---|---|
topic optional | Meeting topic |
type optional 2 |
Meeting Type1 Instant Meeting2 Scheduled Meeting3 Recurring Meeting with no fixed time8 Recurring Meeting with fixed time |
start_time optional | Meeting start time. When using a format like “yyyy-MM-dd’T'HH:mm:ss'Z’”, always use GMT time. When using a format like “yyyy-MM-dd’T'HH:mm:ss”, you should use local time and you will need to specify the time zone. Only used for scheduled meetings and recurring meetings with fixed time. |
duration optional | Meeting duration (minutes). Used for scheduled meetings only |
timezone optional | Timezone to format start_time. For example, “America/Los_Angeles”. For scheduled meetings only. Please reference our timezone list for supported timezones and their formats. |
password optional | Password to join the meeting. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters. |
agenda optional | Meeting description |
recurrence.type optional | Recurrence meeting type1 Daily2 Weekly3 Monthly |
recurrence.repeat_interval optional | At which interval should the meeting repeat? For a daily meeting, max of 90 days. For a weekly meeting, max of 12 weeks. For a monthly meeting, max of 3 months. |
recurrence.weekly_days optional | Days of the week the meeting should repeat, multiple values separated by comma1 Sunday2 Monday3 Tuesday4 Wednesday5 Thursday6 Friday7 Saturday |
recurrence.monthly_day optional | Day of the month for the meeting to be scheduled. The value range is from 1 to 31. |
recurrence.monthly_week optional | Week for which the meeting should recur each month,-1 Last week1 First week2 Second week3 Third week4 Fourth week |
recurrence.monthly_week_day optional | Day for which the meeting should recur each month1 Sunday2 Monday3 Tuesday4 Wednesday5 Thursday6 Friday7 Saturday |
recurrence.end_times optional 1 50 |
Select how many times the meeting will occur before it is canceled. (Cannot be used with “end_date_time”.) |
recurrence.end_date_time optional | Select a date the meeting will occur before it is canceled.. Should be UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with “end_times”.) |
settings.host_video optional | Start video when host joins meeting |
settings.participant_video optional | Start video when participants join meeting |
settings.cn_meeting optional false |
Host meeting in China |
settings.in_meeting optional false |
Host meeting in India |
settings.join_before_host optional false |
Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings. |
settings.mute_upon_entry optional false |
Mute participants upon entry |
settings.watermark optional false |
Add watermark when viewing shared screen |
settings.use_pmi optional false |
Use Personal Meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time. |
settings.approval_type optional 2 |
0 Automatically Approve1 Manually Approve2 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 occurrences2 Attendees need to register for each occurrence to attend3 Attendees register once and can choose one or more occurrences to attend |
settings.audio optional both |
Determine how participants can join the audio portion of the meetingboth Both Telephony and VoIPtelephony Telephony onlyvoip VoIP only |
settings.auto_recording optional none |
local Record to local devicecloud Record to cloudnone No Recording |
settings.enforce_login optional | Only signed-in users can join this meeting |
settings.enforce_login_domains optional | Only signed-in users with specified domains can join meetings |
settings.alternative_hosts optional | Alternative hosts emails or IDs. Multiple value separated by comma. |
Retrieve a meeting
Retrieve a meeting’s details
Definition
GET https://api.zoom.us/v2/meetings/{meetingId}
Example Request
$ curl https://api.zoom.us/v2/meetings/{meetingId}
Example Response
200 OK
{
"uuid": "string",
"id": "string",
"host_id": "string",
"topic": "string",
"type": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"timezone": "string",
"created_at": "string [date-time]",
"agenda": "string",
"start_url": "string",
"join_url": "string",
"password": "string",
"h323_password": "string",
"occurrences": [
{
"occurrence_id": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"status": "string"
}
],
"settings": {
"host_video": "boolean",
"participant_video": "boolean",
"cn_meeting": "boolean",
"in_meeting": "boolean",
"join_before_host": "boolean",
"mute_upon_entry": "boolean",
"watermark": "boolean",
"use_pmi": "boolean",
"approval_type": "integer",
"registration_type": "integer",
"audio": "string",
"auto_recording": "string",
"enforce_login": "boolean",
"enforce_login_domains": "string",
"alternative_hosts": "string"
}
}
Path Arguments | |
---|---|
meetingId required | The meeting ID |
Update a meeting
Update a meeting’s details
Definition
PATCH https://api.zoom.us/v2/meetings/{meetingId}
Example Request
$ curl https://api.zoom.us/v2/meetings/{meetingId} \
-d '{
"topic": "string",
"type": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"timezone": "string",
"password": "string",
"agenda": "string",
"recurrence": {
"type": "integer",
"repeat_interval": "integer",
"weekly_days": "integer",
"monthly_day": "integer",
"monthly_week": "integer",
"monthly_week_day": "integer",
"end_times": "integer",
"end_date_time": "string [date-time]"
},
"settings": {
"host_video": "boolean",
"participant_video": "boolean",
"cn_meeting": "boolean",
"in_meeting": "boolean",
"join_before_host": "boolean",
"mute_upon_entry": "boolean",
"watermark": "boolean",
"use_pmi": "boolean",
"approval_type": "integer",
"registration_type": "integer",
"audio": "string",
"auto_recording": "string",
"enforce_login": "boolean",
"enforce_login_domains": "string",
"alternative_hosts": "string",
"registrants_confirmation_email": "boolean"
}
}'
Example Response
204 No Content
Path Arguments | |
---|---|
meetingId required | The meeting ID |
Body Arguments | |
---|---|
topic optional | Meeting topic |
type optional 2 |
Meeting Type1 Instant Meeting2 Scheduled Meeting3 Recurring Meeting with no fixed time8 Recurring Meeting with fixed time |
start_time optional | Meeting start time. When using a format like “yyyy-MM-dd’T'HH:mm:ss'Z’”, always use GMT time. When using a format like “yyyy-MM-dd’T'HH:mm:ss”, you should use local time and you will need to specify the time zone. Only used for scheduled meetings and recurring meetings with fixed time. |
duration optional | Meeting duration (minutes). Used for scheduled meetings only |
timezone optional | Timezone to format start_time. For example, “America/Los_Angeles”. For scheduled meetings only. Please reference our timezone list for supported timezones and their formats. |
password optional | Password to join the meeting. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters. |
agenda optional | Meeting description |
recurrence.type optional | Recurrence meeting type1 Daily2 Weekly3 Monthly |
recurrence.repeat_interval optional | At which interval should the meeting repeat? For a daily meeting, max of 90 days. For a weekly meeting, max of 12 weeks. For a monthly meeting, max of 3 months. |
recurrence.weekly_days optional | Days of the week the meeting should repeat, multiple values separated by comma1 Sunday2 Monday3 Tuesday4 Wednesday5 Thursday6 Friday7 Saturday |
recurrence.monthly_day optional | Day of the month for the meeting to be scheduled. The value range is from 1 to 31. |
recurrence.monthly_week optional | Week for which the meeting should recur each month,-1 Last week1 First week2 Second week3 Third week4 Fourth week |
recurrence.monthly_week_day optional | Day for which the meeting should recur each month1 Sunday2 Monday3 Tuesday4 Wednesday5 Thursday6 Friday7 Saturday |
recurrence.end_times optional 1 50 |
Select how many times the meeting will occur before it is canceled. (Cannot be used with “end_date_time”.) |
recurrence.end_date_time optional | Select a date the meeting will occur before it is canceled.. Should be UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with “end_times”.) |
settings.host_video optional | Start video when host joins meeting |
settings.participant_video optional | Start video when participants join meeting |
settings.cn_meeting optional false |
Host meeting in China |
settings.in_meeting optional false |
Host meeting in India |
settings.join_before_host optional false |
Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings. |
settings.mute_upon_entry optional false |
Mute participants upon entry |
settings.watermark optional false |
Add watermark when viewing shared screen |
settings.use_pmi optional false |
Use Personal Meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time. |
settings.approval_type optional 2 |
0 Automatically Approve1 Manually Approve2 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 occurrences2 Attendees need to register for each occurrence to attend3 Attendees register once and can choose one or more occurrences to attend |
settings.audio optional both |
Determine how participants can join the audio portion of the meetingboth Both Telephony and VoIPtelephony Telephony onlyvoip VoIP only |
settings.auto_recording optional none |
local Record to local devicecloud Record to cloudnone No Recording |
settings.enforce_login optional | Only signed-in users can join this meeting |
settings.enforce_login_domains optional | Only signed-in users with specified domains can join meetings |
settings.alternative_hosts optional | Alternative hosts emails or IDs. Multiple value separated by comma. |
settings.registrants_confirmation_email optional | Send confirmation Email to Registrants |
Delete a meeting
Delete a meeting
Definition
DELETE https://api.zoom.us/v2/meetings/{meetingId}
Example Request
$ curl https://api.zoom.us/v2/meetings/{meetingId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
meetingId required | The meeting ID |
Query Arguments | |
---|---|
occurrence_id optional | The meeting occurrence ID |
Update a meeting’s status
Update a meeting’s status
Definition
PUT https://api.zoom.us/v2/meetings/{meetingId}/status
Example Request
$ curl https://api.zoom.us/v2/meetings/{meetingId}/status \
-d '{
"action": "string"
}'
Example Response
204 No Content
Path Arguments | |
---|---|
meetingId required | The meeting ID |
Body Arguments | |
---|---|
action optional | end end a meeting |
List a meeting’s registrants
List registrants of a meeting
Definition
GET https://api.zoom.us/v2/meetings/{meetingId}/registrants
Example Request
$ curl https://api.zoom.us/v2/meetings/{meetingId}/registrants
Example Response
200 OK
{
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"registrants": [
{
"id": "string",
"email": "string",
"first_name": "string",
"last_name": "string",
"address": "string",
"city": "string",
"country": "string",
"zip": "string",
"state": "string",
"phone": "string",
"industry": "string",
"org": "string",
"job_title": "string",
"purchasing_time_frame": "string",
"role_in_purchase_process": "string",
"no_of_employees": "string",
"comments": "string",
"custom_questions": [
{
"title": "string",
"value": "string"
}
],
"status": "string",
"create_time": "string [date-time]",
"join_url": "string [string]"
}
]
}
Path Arguments | |
---|---|
meetingId required | The meeting ID |
Query Arguments | |
---|---|
occurrence_id optional | The meeting occurrence ID |
status optional approved |
The registrant statuspending registrants status is pendingapproved registrants status is approveddenied registrants status is denied |
page_size optional 30 300 |
The number of records returned within a single API call |
page_number optional 1 |
Current page number of returned records |
Add a meeting registrant
Register a participant for a meeting
Definition
POST https://api.zoom.us/v2/meetings/{meetingId}/registrants
Example Request
$ curl https://api.zoom.us/v2/meetings/{meetingId}/registrants \
-d '{
"email": "string",
"first_name": "string",
"last_name": "string",
"address": "string",
"city": "string",
"country": "string",
"zip": "string",
"state": "string",
"phone": "string",
"industry": "string",
"org": "string",
"job_title": "string",
"purchasing_time_frame": "string",
"role_in_purchase_process": "string",
"no_of_employees": "string",
"comments": "string",
"custom_questions": [
{
"title": "string",
"value": "string"
}
]
}'
Example Response
201 Created
{
"registrant_id": "string",
"id": "string",
"topic": "string",
"start_time": "string [date-time]",
"join_url": "string"
}
Path Arguments | |
---|---|
meetingId required | The meeting ID |
Query Arguments | |
---|---|
occurrence_ids optional | Occurrence IDs. You can find these with the meeting get API. Multiple values separated by comma. |
Body Arguments | |
---|---|
email required | A valid email address |
first_name required | User’s first name |
last_name required | User’s last name |
address optional | Address |
city optional | City |
country optional | Country |
zip optional | Zip/Postal Code |
state optional | State/Province |
phone optional | Phone |
industry optional | Industry |
org optional | Organization |
job_title optional | Job Title |
purchasing_time_frame optional | Purchasing Time FrameWithin a month 1-3 months 4-6 months More than 6 months No timeframe |
role_in_purchase_process optional | Role in Purchase ProcessDecision Maker Evaluator/Recommender Influencer Not involved |
no_of_employees optional | Number of Employees1-20 21-50 51-100 101-500 500-1,000 1,001-5,000 5,001-10,000 More than 10,000 |
comments optional | Questions & Comments |
custom_questions optional | Custom Questions |
Update a meeting registrant’s status
Update a meeting registrant’s status
Definition
PUT https://api.zoom.us/v2/meetings/{meetingId}/registrants/status
Example Request
$ curl https://api.zoom.us/v2/meetings/{meetingId}/registrants/status \
-d '{
"action": "string",
"registrants": [
{
"id": "string",
"email": "string"
}
]
}'
Example Response
204 No Content
Path Arguments | |
---|---|
meetingId required | The meeting ID |
Query Arguments | |
---|---|
occurrence_id optional | The meeting occurrence ID |
Body Arguments | |
---|---|
action required | approve Approve registrantcancel Cancel registrantdeny Deny registrant |
registrants optional 30 |
List of registrants |
Retrieve past meeting details
Retrieve ended meeting details
Definition
GET https://api.zoom.us/v2/past_meetings/{meetingUUID}
Example Request
$ curl https://api.zoom.us/v2/past_meetings/{meetingUUID}
Example Response
200 OK
{
"uuid": "string [uuid]",
"id": "integer",
"host_id": "integer",
"type": "integer",
"topic": "string",
"user_name": "string",
"user_email": "string",
"start_time": "string [date-time]",
"end_time": "string [date-time]",
"duration": "integer",
"total_minutes": "integer",
"participants_count": "integer"
}
Path Arguments | |
---|---|
meetingUUID required | The meeting UUID. |
Retrieve past meeting participants
Retrieve ended meeting participants
Definition
GET https://api.zoom.us/v2/past_meetings/{meetingUUID}/participants
Example Request
$ curl https://api.zoom.us/v2/past_meetings/{meetingUUID}/participants
Example Response
200 OK
{
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"participants": [
{
"id": "string [uuid]",
"name": "string"
}
]
}
Path Arguments | |
---|---|
meetingUUID required | The meeting UUID. |
Query Arguments | |
---|---|
page_size optional 30 300 |
The number of records returned within a single API call |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
Webinars
The Webinar object
Webinar object
{
"topic": "string",
"type": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"timezone": "string",
"password": "string",
"agenda": "string",
"recurrence": {
"type": "integer",
"repeat_interval": "integer",
"weekly_days": "integer",
"monthly_day": "integer",
"monthly_week": "integer",
"monthly_week_day": "integer",
"end_times": "integer",
"end_date_time": "string [date-time]"
},
"settings": {
"host_video": "boolean",
"panelists_video": "boolean",
"practice_session": "boolean",
"hd_video": "boolean",
"approval_type": "integer",
"registration_type": "integer",
"audio": "string",
"auto_recording": "string",
"enforce_login": "boolean",
"enforce_login_domains": "string",
"alternative_hosts": "string",
"close_registration": "boolean",
"show_share_button": "boolean",
"allow_multiple_devices": "boolean"
}
}
Property | Description |
---|---|
topic string | Webinar topic |
type integer | Webinar Type5 Webinar6 Recurring Webinar with no fixed time9 Recurring Webinar with fixed time |
start_time string | Webinar start time, in the format “yyyy-MM-dd’T'HH:mm:ss'Z’”, should be GMT time. In the format “yyyy-MM-dd’T'HH:mm:ss”, should be local time, need to specify the time zone. Only used for scheduled webinar and recurring webinar with fixed time. |
duration integer | Webinar duration (minutes). Used for scheduled webinar only |
timezone string | Timezone to format start_time. For example, “America/Los_Angeles”. For scheduled meetings only. Please reference our timezone list for supported timezones and their formats. |
password string | Webinar password. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters. |
agenda string | Webinar description |
recurrence.type integer | Recurrence meeting type1 Daily2 Weekly3 Monthly |
recurrence.repeat_interval integer | At which interval should the meeting repeat? For a daily meeting, max of 90 days. For a weekly meeting, max of 12 weeks. For a monthly meeting, max of 3 months. |
recurrence.weekly_days integer | Days of the week the meeting should repeat, multiple values separated by comma1 Sunday2 Monday3 Tuesday4 Wednesday5 Thursday6 Friday7 Saturday |
recurrence.monthly_day integer | Day of the month for the meeting to be scheduled. The value range is from 1 to 31. |
recurrence.monthly_week integer | Week for which the meeting should recur each month,-1 Last week1 First week2 Second week3 Third week4 Fourth week |
recurrence.monthly_week_day integer | Day for which the meeting should recur each month1 Sunday2 Monday3 Tuesday4 Wednesday5 Thursday6 Friday7 Saturday |
recurrence.end_times integer | Select how many times the meeting will occur before it is canceled. (Cannot be used with “end_date_time”.) |
recurrence.end_date_time string | Select a date the meeting will occur before it is canceled.. Should be UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with “end_times”.) |
settings.host_video boolean | Start video when host joins webinar |
settings.panelists_video boolean | Start video when panelists join webinar |
settings.practice_session boolean | Enable Practice Session |
settings.hd_video boolean | Default to HD Video |
settings.approval_type integer | 0 Automatically Approve1 Manually Approve2 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 occurrences2 Attendees need to register for each occurrence to attend3 Attendees register once and can choose one or more occurrences to attend |
settings.audio string | Determine how participants can join the audio portion of the meetingboth Both Telephony and VoIPtelephony Telephony onlyvoip VoIP only |
settings.auto_recording string | local Record to local devicecloud Record to cloudnone No Recording |
settings.enforce_login boolean | Only signed-in users can join this meeting |
settings.enforce_login_domains string | Only signed-in users with specified domains can join meetings |
settings.alternative_hosts string | Alternative hosts emails or IDs. Multiple values separated by comma. |
settings.close_registration boolean | Close registration after event date |
settings.show_share_button boolean | Show social share buttons on registration page |
settings.allow_multiple_devices boolean | Allow attendees to join from multiple devices |
List webinars
List webinars for a user
Definition
GET https://api.zoom.us/v2/users/{userId}/webinars
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/webinars
Example Response
200 OK
{
"page_count": "integer",
"page_number": "integer",
"page_size": "integer",
"total_records": "integer",
"webinars": [
{
"uuid": "string",
"id": "string",
"host_id": "string",
"topic": "string",
"type": "integer",
"duration": "integer",
"timezone": "string",
"created_at": "string [date-time]",
"join_url": "string"
}
]
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Query Arguments | |
---|---|
page_size optional 30 300 |
The number of records returned within a single API call |
page_number optional 1 |
Current page number of returned records |
Create a webinar
Create a webinar for a user
Definition
POST https://api.zoom.us/v2/users/{userId}/webinars
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/webinars \
-d '{
"topic": "string",
"type": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"timezone": "string",
"password": "string",
"agenda": "string",
"recurrence": {
"type": "integer",
"repeat_interval": "integer",
"weekly_days": "integer",
"monthly_day": "integer",
"monthly_week": "integer",
"monthly_week_day": "integer",
"end_times": "integer",
"end_date_time": "string [date-time]"
},
"settings": {
"host_video": "boolean",
"panelists_video": "boolean",
"practice_session": "boolean",
"hd_video": "boolean",
"approval_type": "integer",
"registration_type": "integer",
"audio": "string",
"auto_recording": "string",
"enforce_login": "boolean",
"enforce_login_domains": "string",
"alternative_hosts": "string",
"close_registration": "boolean",
"show_share_button": "boolean",
"allow_multiple_devices": "boolean"
}
}'
Example Response
201 Created
{
"uuid": "string",
"id": "string",
"host_id": "string",
"topic": "string",
"type": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"timezone": "string",
"agenda": "string",
"created_at": "string [date-time]",
"start_url": "string",
"join_url": "string",
"occurrences": [
{
"occurrence_id": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"status": "string"
}
],
"settings": {
"host_video": "boolean",
"panelists_video": "boolean",
"practice_session": "boolean",
"hd_video": "boolean",
"approval_type": "integer",
"registration_type": "integer",
"audio": "string",
"auto_recording": "string",
"enforce_login": "boolean",
"enforce_login_domains": "string",
"alternative_hosts": "string",
"close_registration": "boolean",
"show_share_button": "boolean",
"allow_multiple_devices": "boolean"
}
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Body Arguments | |
---|---|
topic optional | Webinar topic |
type optional 5 |
Webinar Type5 Webinar6 Recurring Webinar with no fixed time9 Recurring Webinar with fixed time |
start_time optional | Webinar start time, in the format “yyyy-MM-dd’T'HH:mm:ss'Z’”, should be GMT time. In the format “yyyy-MM-dd’T'HH:mm:ss”, should be local time, need to specify the time zone. Only used for scheduled webinar and recurring webinar with fixed time. |
duration optional | Webinar duration (minutes). Used for scheduled webinar only |
timezone optional | Timezone to format start_time. For example, “America/Los_Angeles”. For scheduled meetings only. Please reference our timezone list for supported timezones and their formats. |
password optional | Webinar password. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters. |
agenda optional | Webinar description |
recurrence.type optional | Recurrence meeting type1 Daily2 Weekly3 Monthly |
recurrence.repeat_interval optional | At which interval should the meeting repeat? For a daily meeting, max of 90 days. For a weekly meeting, max of 12 weeks. For a monthly meeting, max of 3 months. |
recurrence.weekly_days optional | Days of the week the meeting should repeat, multiple values separated by comma1 Sunday2 Monday3 Tuesday4 Wednesday5 Thursday6 Friday7 Saturday |
recurrence.monthly_day optional | Day of the month for the meeting to be scheduled. The value range is from 1 to 31. |
recurrence.monthly_week optional | Week for which the meeting should recur each month,-1 Last week1 First week2 Second week3 Third week4 Fourth week |
recurrence.monthly_week_day optional | Day for which the meeting should recur each month1 Sunday2 Monday3 Tuesday4 Wednesday5 Thursday6 Friday7 Saturday |
recurrence.end_times optional 1 50 |
Select how many times the meeting will occur before it is canceled. (Cannot be used with “end_date_time”.) |
recurrence.end_date_time optional | Select a date the meeting will occur before it is canceled.. Should be UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with “end_times”.) |
settings.host_video optional | Start video when host joins webinar |
settings.panelists_video optional | Start video when panelists join webinar |
settings.practice_session optional false |
Enable Practice Session |
settings.hd_video optional false |
Default to HD Video |
settings.approval_type optional 2 |
0 Automatically Approve1 Manually Approve2 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 occurrences2 Attendees need to register for each occurrence to attend3 Attendees register once and can choose one or more occurrences to attend |
settings.audio optional both |
Determine how participants can join the audio portion of the meetingboth Both Telephony and VoIPtelephony Telephony onlyvoip VoIP only |
settings.auto_recording optional none |
local Record to local devicecloud Record to cloudnone No Recording |
settings.enforce_login optional | Only signed-in users can join this meeting |
settings.enforce_login_domains optional | Only signed-in users with specified domains can join meetings |
settings.alternative_hosts optional | Alternative hosts emails or IDs. Multiple values separated by comma. |
settings.close_registration optional | Close registration after event date |
settings.show_share_button optional | Show social share buttons on registration page |
settings.allow_multiple_devices optional | Allow attendees to join from multiple devices |
Retrieve a webinar
Retrieve a webinar
Definition
GET https://api.zoom.us/v2/webinars/{webinarId}
Example Request
$ curl https://api.zoom.us/v2/webinars/{webinarId}
Example Response
200 OK
{
"uuid": "string",
"id": "string",
"host_id": "string",
"topic": "string",
"type": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"timezone": "string",
"agenda": "string",
"created_at": "string [date-time]",
"start_url": "string",
"join_url": "string",
"occurrences": [
{
"occurrence_id": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"status": "string"
}
],
"settings": {
"host_video": "boolean",
"panelists_video": "boolean",
"practice_session": "boolean",
"hd_video": "boolean",
"approval_type": "integer",
"registration_type": "integer",
"audio": "string",
"auto_recording": "string",
"enforce_login": "boolean",
"enforce_login_domains": "string",
"alternative_hosts": "string",
"close_registration": "boolean",
"show_share_button": "boolean",
"allow_multiple_devices": "boolean"
}
}
Path Arguments | |
---|---|
webinarId required | The webinar ID |
Update a webinar
Update a webinar
Definition
PATCH https://api.zoom.us/v2/webinars/{webinarId}
Example Request
$ curl https://api.zoom.us/v2/webinars/{webinarId} \
-d '{
"topic": "string",
"type": "integer",
"start_time": "string [date-time]",
"duration": "integer",
"timezone": "string",
"password": "string",
"agenda": "string",
"recurrence": {
"type": "integer",
"repeat_interval": "integer",
"weekly_days": "integer",
"monthly_day": "integer",
"monthly_week": "integer",
"monthly_week_day": "integer",
"end_times": "integer",
"end_date_time": "string [date-time]"
},
"settings": {
"host_video": "boolean",
"panelists_video": "boolean",
"practice_session": "boolean",
"hd_video": "boolean",
"approval_type": "integer",
"registration_type": "integer",
"audio": "string",
"auto_recording": "string",
"enforce_login": "boolean",
"enforce_login_domains": "string",
"alternative_hosts": "string",
"close_registration": "boolean",
"show_share_button": "boolean",
"allow_multiple_devices": "boolean",
"registrants_confirmation_email": "boolean"
}
}'
Example Response
204 No Content
Path Arguments | |
---|---|
webinarId required | The webinar ID |
Body Arguments | |
---|---|
topic optional | Webinar topic |
type optional 5 |
Webinar Type5 Webinar6 Recurring Webinar with no fixed time9 Recurring Webinar with fixed time |
start_time optional | Webinar start time, in the format “yyyy-MM-dd’T'HH:mm:ss'Z’”, should be GMT time. In the format “yyyy-MM-dd’T'HH:mm:ss”, should be local time, need to specify the time zone. Only used for scheduled webinar and recurring webinar with fixed time. |
duration optional | Webinar duration (minutes). Used for scheduled webinar only |
timezone optional | Timezone to format start_time. For example, “America/Los_Angeles”. For scheduled meetings only. Please reference our timezone list for supported timezones and their formats. |
password optional | Webinar password. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters. |
agenda optional | Webinar description |
recurrence.type optional | Recurrence meeting type1 Daily2 Weekly3 Monthly |
recurrence.repeat_interval optional | At which interval should the meeting repeat? For a daily meeting, max of 90 days. For a weekly meeting, max of 12 weeks. For a monthly meeting, max of 3 months. |
recurrence.weekly_days optional | Days of the week the meeting should repeat, multiple values separated by comma1 Sunday2 Monday3 Tuesday4 Wednesday5 Thursday6 Friday7 Saturday |
recurrence.monthly_day optional | Day of the month for the meeting to be scheduled. The value range is from 1 to 31. |
recurrence.monthly_week optional | Week for which the meeting should recur each month,-1 Last week1 First week2 Second week3 Third week4 Fourth week |
recurrence.monthly_week_day optional | Day for which the meeting should recur each month1 Sunday2 Monday3 Tuesday4 Wednesday5 Thursday6 Friday7 Saturday |
recurrence.end_times optional 1 50 |
Select how many times the meeting will occur before it is canceled. (Cannot be used with “end_date_time”.) |
recurrence.end_date_time optional | Select a date the meeting will occur before it is canceled.. Should be UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with “end_times”.) |
settings.host_video optional | Start video when host joins webinar |
settings.panelists_video optional | Start video when panelists join webinar |
settings.practice_session optional false |
Enable Practice Session |
settings.hd_video optional false |
Default to HD Video |
settings.approval_type optional 2 |
0 Automatically Approve1 Manually Approve2 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 occurrences2 Attendees need to register for each occurrence to attend3 Attendees register once and can choose one or more occurrences to attend |
settings.audio optional both |
Determine how participants can join the audio portion of the meetingboth Both Telephony and VoIPtelephony Telephony onlyvoip VoIP only |
settings.auto_recording optional none |
local Record to local devicecloud Record to cloudnone No Recording |
settings.enforce_login optional | Only signed-in users can join this meeting |
settings.enforce_login_domains optional | Only signed-in users with specified domains can join meetings |
settings.alternative_hosts optional | Alternative hosts emails or IDs. Multiple values separated by comma. |
settings.close_registration optional | Close registration after event date |
settings.show_share_button optional | Show social share buttons on registration page |
settings.allow_multiple_devices optional | Allow attendees to join from multiple devices |
settings.registrants_confirmation_email optional | Send confirmation Email to Registrants |
Delete a webinar
Delete a webinar
Definition
DELETE https://api.zoom.us/v2/webinars/{webinarId}
Example Request
$ curl https://api.zoom.us/v2/webinars/{webinarId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
webinarId required | The webinar ID |
Query Arguments | |
---|---|
occurrence_id optional | The meeting occurrence ID |
Update a webinar’s status
Update a webinar’s status
Definition
PUT https://api.zoom.us/v2/webinars/{webinarId}/status
Example Request
$ curl https://api.zoom.us/v2/webinars/{webinarId}/status \
-d '{
"status": "string"
}'
Example Response
204 No Content
Path Arguments | |
---|---|
webinarId required | The webinar ID |
Body Arguments | |
---|---|
status optional | end end a webinar |
List a webinar’s panelists
List panelists for a webinar
Definition
GET https://api.zoom.us/v2/webinars/{webinarId}/panelists
Example Request
$ curl https://api.zoom.us/v2/webinars/{webinarId}/panelists
Example Response
200 OK
{
"total_records": "integer",
"panelists": [
{
"id": "string",
"name": "string",
"email": "string",
"join_url": "string"
}
]
}
Path Arguments | |
---|---|
webinarId required | The webinar ID |
Add a webinar panelist
Add panelist to webinar
Definition
POST https://api.zoom.us/v2/webinars/{webinarId}/panelists
Example Request
$ curl https://api.zoom.us/v2/webinars/{webinarId}/panelists \
-d '{
"panelists": [
{
"name": "string",
"email": "string"
}
]
}'
Example Response
201 Created
{
"id": "string",
"join_url": "string"
}
Path Arguments | |
---|---|
webinarId required | The webinar ID |
Body Arguments | |
---|---|
panelists optional | List of Panelist objects |
Remove a webinar’s panelists
Remove all panelists from a webinar
Definition
DELETE https://api.zoom.us/v2/webinars/{webinarId}/panelists
Example Request
$ curl https://api.zoom.us/v2/webinars/{webinarId}/panelists \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
webinarId required | The webinar ID |
Remove a webinar panelist
Remove a panelist from a webinar
Definition
DELETE https://api.zoom.us/v2/webinars/{webinarId}/panelists/{panelistId}
Example Request
$ curl https://api.zoom.us/v2/webinars/{webinarId}/panelists/{panelistId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
webinarId required | The webinar ID |
panelistId required | The panelist ID |
List a webinar’s registrants
List registrants for a webinar
Definition
GET https://api.zoom.us/v2/webinars/{webinarId}/registrants
Example Request
$ curl https://api.zoom.us/v2/webinars/{webinarId}/registrants
Example Response
200 OK
{
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"registrants": [
{
"id": "string",
"email": "string",
"first_name": "string",
"last_name": "string",
"address": "string",
"city": "string",
"country": "string",
"zip": "string",
"state": "string",
"phone": "string",
"industry": "string",
"org": "string",
"job_title": "string",
"purchasing_time_frame": "string",
"role_in_purchase_process": "string",
"no_of_employees": "string",
"comments": "string",
"custom_questions": [
{
"title": "string",
"value": "string"
}
],
"status": "string",
"create_time": "string [date-time]",
"join_url": "string [string]"
}
]
}
Path Arguments | |
---|---|
webinarId required | The webinar ID |
Query Arguments | |
---|---|
occurrence_id optional | The meeting occurrence ID |
status optional approved |
The registrant statuspending registrants status is pendingapproved registrants status is approveddenied registrants status is denied |
page_size optional 30 300 |
The number of records returned within a single API call |
page_number optional 1 |
Current page number of returned records |
Add a webinar registrant
Add a registrant for a webinar
Definition
POST https://api.zoom.us/v2/webinars/{webinarId}/registrants
Example Request
$ curl https://api.zoom.us/v2/webinars/{webinarId}/registrants \
-d '{
"email": "string",
"first_name": "string",
"last_name": "string",
"address": "string",
"city": "string",
"country": "string",
"zip": "string",
"state": "string",
"phone": "string",
"industry": "string",
"org": "string",
"job_title": "string",
"purchasing_time_frame": "string",
"role_in_purchase_process": "string",
"no_of_employees": "string",
"comments": "string",
"custom_questions": [
{
"title": "string",
"value": "string"
}
]
}'
Example Response
201 Created
{
"registrant_id": "string",
"id": "string",
"topic": "string",
"start_time": "string [date-time]",
"join_url": "string"
}
Path Arguments | |
---|---|
webinarId required | The webinar ID |
Query Arguments | |
---|---|
occurrence_ids optional | Occurrence IDs, could get this value from Webinar Get API. Multiple value separated by comma. |
Body Arguments | |
---|---|
email required | A valid email address |
first_name required | User’s first name |
last_name required | User’s last name |
address optional | Address |
city optional | City |
country optional | Country |
zip optional | Zip/Postal Code |
state optional | State/Province |
phone optional | Phone |
industry optional | Industry |
org optional | Organization |
job_title optional | Job Title |
purchasing_time_frame optional | Purchasing Time FrameWithin a month 1-3 months 4-6 months More than 6 months No timeframe |
role_in_purchase_process optional | Role in Purchase ProcessDecision Maker Evaluator/Recommender Influencer Not involved |
no_of_employees optional | Number of Employees1-20 21-50 51-100 101-500 500-1,000 1,001-5,000 5,001-10,000 More than 10,000 |
comments optional | Questions & Comments |
custom_questions optional | Custom Questions |
Update a webinar registrant’s status
Update a webinar registrant’s status
Definition
PUT https://api.zoom.us/v2/webinars/{webinarId}/registrants/status
Example Request
$ curl https://api.zoom.us/v2/webinars/{webinarId}/registrants/status \
-d '{
"action": "string",
"registrants": [
{
"id": "string",
"email": "string"
}
]
}'
Example Response
204 No Content
Path Arguments | |
---|---|
webinarId required | The webinar ID |
Query Arguments | |
---|---|
occurrence_id optional | The meeting occurrence ID |
Body Arguments | |
---|---|
action required | approve Approve registrantcancel Cancel registrantdeny Deny registrant |
registrants optional 30 |
List of registrants |
List of ended webinar instances
List of ended webinar instances
Definition
GET https://api.zoom.us/v2/past_webinars/{webinarId}/instances
Example Request
$ curl https://api.zoom.us/v2/past_webinars/{webinarId}/instances
Example Response
200 OK
{
"webinars": [
{
"uuid": "string",
"start_time": "string [date-time]"
}
]
}
Path Arguments | |
---|---|
webinarId required | The webinar ID |
Groups
The Group object
Group object
{
"name": "string",
"total_members": "integer"
}
Property | Description |
---|---|
name string | Group name |
total_members integer | Total number of members in this group |
List groups
List groups under your account
Definition
GET https://api.zoom.us/v2/groups
Example Request
$ curl https://api.zoom.us/v2/groups
Example Response
200 OK
{
"total_records": "integer",
"groups": [
{
"id": "string",
"name": "string",
"total_members": "integer"
}
]
}
Create a group
Create a group under your account
Definition
POST https://api.zoom.us/v2/groups
Example Request
$ curl https://api.zoom.us/v2/groups \
-d '{
"name": "string"
}'
Example Response
201 Created
{
"id": "string",
"name": "string",
"total_members": "integer"
}
Body Arguments | |
---|---|
name optional | Group name |
Retrieve a group
Retrieve a group under your account
Definition
GET https://api.zoom.us/v2/groups/{groupId}
Example Request
$ curl https://api.zoom.us/v2/groups/{groupId}
Example Response
200 OK
{
"id": "string",
"name": "string",
"total_members": "integer"
}
Path Arguments | |
---|---|
groupId required | The group ID |
Update a group
Update a group under your account
Definition
PATCH https://api.zoom.us/v2/groups/{groupId}
Example Request
$ curl https://api.zoom.us/v2/groups/{groupId} \
-d '{
"name": "string"
}'
Example Response
204 No Content
Path Arguments | |
---|---|
groupId required | The group ID |
Body Arguments | |
---|---|
name optional | Group name. Must be unique in one account. Character length is less than 128. |
Delete a group
Delete a group under your account
Definition
DELETE https://api.zoom.us/v2/groups/{groupId}
Example Request
$ curl https://api.zoom.us/v2/groups/{groupId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
groupId required | The group ID |
List a group’s members
List a group’s members under your account
Definition
GET https://api.zoom.us/v2/groups/{groupId}/members
Example Request
$ curl https://api.zoom.us/v2/groups/{groupId}/members
Example Response
200 OK
{
"page_count": "integer",
"page_number": "integer",
"page_size": "integer",
"total_records": "integer",
"members": [
{
"id": "string",
"email": "string",
"first_name": "string",
"last_name": "string",
"type": "integer"
}
]
}
Path Arguments | |
---|---|
groupId required | The group ID |
Query Arguments | |
---|---|
page_size optional 30 300 |
The number of records returned within a single API call |
page_number optional 1 |
Current page number of returned records |
Add group members
Add members to a group under your account
Definition
POST https://api.zoom.us/v2/groups/{groupId}/members
Example Request
$ curl https://api.zoom.us/v2/groups/{groupId}/members \
-d '{
"members": [
{
"id": "string",
"email": "string"
}
]
}'
Example Response
201 Created
{
"ids": "string",
"added_at": "string [date-time]"
}
Path Arguments | |
---|---|
groupId required | The group ID |
Body Arguments | |
---|---|
members optional 30 |
List of Group members |
Delete a group member
Delete a member from a group under your account
Definition
DELETE https://api.zoom.us/v2/groups/{groupId}/members/{memberId}
Example Request
$ curl https://api.zoom.us/v2/groups/{groupId}/members/{memberId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
groupId required | The group ID |
memberId required | The member ID |
IM Groups
The IM Group object
IM Group object
{
"name": "string",
"total_members": "integer",
"type": "string",
"search_by_domain": "boolean",
"search_by_account": "boolean",
"search_by_ma_account": "boolean"
}
Property | Description |
---|---|
name string | Group name |
total_members integer | Total number of members in this group |
type string | IM Group typenormal 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 automaticallyrestricted 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 typenormal 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 automaticallyrestricted 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 typenormal 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 automaticallyrestricted Nobody can see the group or search members except the members in the group |
search_by_domain optional | Members can search others in the same email domain |
search_by_account optional | Members can search others under same account |
search_by_ma_account optional | Members can search others under same master account, including all sub accounts |
Delete an IM Group
Delete an IM Group under your account
Definition
DELETE https://api.zoom.us/v2/im/groups/{groupId}
Example Request
$ curl https://api.zoom.us/v2/im/groups/{groupId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
groupId required | The group ID |
List an IM Group’s members
List an IM Group’s members under your account
Definition
GET https://api.zoom.us/v2/im/groups/{groupId}/members
Example Request
$ curl https://api.zoom.us/v2/im/groups/{groupId}/members
Example Response
200 OK
{
"page_count": "integer",
"page_number": "integer",
"page_size": "integer",
"total_records": "integer",
"members": [
{
"id": "string",
"email": "string",
"first_name": "string",
"last_name": "string",
"type": "integer"
}
]
}
Path Arguments | |
---|---|
groupId required | The group ID |
Query Arguments | |
---|---|
page_size optional 30 300 |
The number of records returned within a single API call |
page_number optional 1 |
Current page number of returned records |
Add IM Group members
Add members to an IM Group under your account
Definition
POST https://api.zoom.us/v2/im/groups/{groupId}/members
Example Request
$ curl https://api.zoom.us/v2/im/groups/{groupId}/members \
-d '{
"members": [
{
"id": "string",
"email": "string"
}
]
}'
Example Response
201 Created
{
"ids": "string",
"added_at": "string [date-time]"
}
Path Arguments | |
---|---|
groupId required | The group ID |
Body Arguments | |
---|---|
members optional 10 |
List of IM Group members |
Delete an IM Group member
Delete a member from an IM Group under your account
Definition
DELETE https://api.zoom.us/v2/im/groups/{groupId}/members/{memberId}
Example Request
$ curl https://api.zoom.us/v2/im/groups/{groupId}/members/{memberId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
groupId required | The group ID |
memberId required | The member ID |
IM Chat
Retrieve IM Chat sessions
Retrieve IM Chat sessions for a specified period
Definition
GET https://api.zoom.us/v2/im/chat/sessions
Example Request
$ curl https://api.zoom.us/v2/im/chat/sessions?from=string&to=string
Example Response
200 OK
{
"from": "string [date]",
"to": "string [date]",
"page_size": "integer",
"next_page_token": "string",
"sessions": [
{
"session_id": "string",
"type": "string",
"name": "string",
"last_message_sent_time": "string [date-time]"
}
]
}
Query Arguments | |
---|---|
from required | Start Date |
to required | End Date |
page_size optional 30 300 |
The number of records returned within a single API call |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
Retrieve IM Chat messages
Retrieve IM Chat messages for a specified period
Definition
GET https://api.zoom.us/v2/im/chat/sessions/{sessionId}
Example Request
$ curl https://api.zoom.us/v2/im/chat/sessions/{sessionId}?from=string&to=string
Example Response
200 OK
{
"session_id": "string",
"from": "string [date]",
"to": "string [date]",
"page_size": "integer",
"next_page_token": "string",
"messages": [
{
"message": "string",
"sender": "string",
"date_time": "string [date-time]",
"action": "string",
"action_time": "string [date-time]"
}
]
}
Path Arguments | |
---|---|
sessionId required | IM Chat Session ID |
Query Arguments | |
---|---|
from required | Start Date |
to required | End Date |
page_size optional 30 300 |
The number of records returned within a single API call |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
Cloud Recording
The Cloud Recording object
Recording file Object
{
"id": "string",
"meeting_id": "string",
"recording_start": "string",
"recording_end": "string",
"file_type": "string",
"file_size": "number",
"play_url": "string",
"download_url": "string",
"status": "string",
"deleted_time": "string",
"recording_type": "string"
}
Property | Description |
---|---|
id string | The recording file ID.Response in general query. |
meeting_id string | The meeting ID. |
recording_start string | The recording start time |
recording_end string | The recording end time. Response in general query. |
file_type string | The recording file type |
file_size number | The recording file size |
play_url string | The recording file play url. Response in general query. |
download_url string | The recording download url. Response in general query. |
status string | The recording status. Response in general query. |
deleted_time string | The recording delete time. Response in trash query. |
recording_type string | The recording file type, active_speaker or gallery_view |
List all the recordings
List all the recordings
Definition
GET https://api.zoom.us/v2/users/{userId}/recordings
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/recordings?from=string&to=string
Example Response
200 OK
{
"from": "string [date]",
"to": "string [date]",
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"meetings": [
{
"uuid": "string",
"id": "string",
"account_id": "string",
"host_id": "string",
"topic": "string",
"start_time": "string [date-time]",
"duration": "integer",
"total_size": "string",
"recording_count": "string",
"recording_files": [
{
"id": "string",
"meeting_id": "string",
"recording_start": "string",
"recording_end": "string",
"file_type": "string",
"file_size": "number",
"play_url": "string",
"download_url": "string",
"status": "string",
"deleted_time": "string",
"recording_type": "string"
}
]
}
]
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Query Arguments | |
---|---|
from required | Start Date |
to required | End Date |
page_size optional 30 300 |
The number of records returned within a single API call |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
mc optional false |
Query mc |
trash optional false |
Query trash |
Retrieve a meeting’s all recordings
Retrieve a meeting’s all recordings
Definition
GET https://api.zoom.us/v2/meetings/{meetingId}/recordings
Example Request
$ curl https://api.zoom.us/v2/meetings/{meetingId}/recordings
Example Response
200 OK
{
"uuid": "string",
"id": "string",
"account_id": "string",
"host_id": "string",
"topic": "string",
"start_time": "string [date-time]",
"duration": "integer",
"total_size": "string",
"recording_count": "string",
"recording_files": [
{
"id": "string",
"meeting_id": "string",
"recording_start": "string",
"recording_end": "string",
"file_type": "string",
"file_size": "number",
"play_url": "string",
"download_url": "string",
"status": "string",
"deleted_time": "string",
"recording_type": "string"
}
]
}
Path Arguments | |
---|---|
meetingId required | The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance. |
Delete a meeting’s recordings
Delete a meeting’s recordings
Definition
DELETE https://api.zoom.us/v2/meetings/{meetingId}/recordings
Example Request
$ curl https://api.zoom.us/v2/meetings/{meetingId}/recordings \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
meetingId required | The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance. |
Query Arguments | |
---|---|
action optional trash |
The recording delete actiontrash move recording to trashdelete delete recording permanently |
Delete one meeting recording file
Delete one meeting recording file
Definition
DELETE https://api.zoom.us/v2/meetings/{meetingId}/recordings/{recordingId}
Example Request
$ curl https://api.zoom.us/v2/meetings/{meetingId}/recordings/{recordingId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
meetingId required | The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance. |
recordingId required | The recording ID |
Query Arguments | |
---|---|
action optional trash |
The recording delete actiontrash move recording to trashdelete delete recording permanently |
Recover a meeting’s recordings
Recover a meeting’s recordings
Definition
PUT https://api.zoom.us/v2/meetings/{meetingId}/recordings/status
Example Request
$ curl https://api.zoom.us/v2/meetings/{meetingId}/recordings/status \
-d '{
"action": "string"
}'
Example Response
204 No Content
Path Arguments | |
---|---|
meetingId required | The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance. |
Body Arguments | |
---|---|
action optional | recover recover meeting recording |
Recover a single recording
Recover a single recording
Definition
PUT https://api.zoom.us/v2/meetings/{meetingId}/recordings/{recordingId}/status
Example Request
$ curl https://api.zoom.us/v2/meetings/{meetingId}/recordings/{recordingId}/status \
-d '{
"action": "string"
}'
Example Response
204 No Content
Path Arguments | |
---|---|
meetingId required | The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance. |
recordingId required | The recording ID |
Body Arguments | |
---|---|
action optional | recover recover meeting recording |
Reports
Retrieve daily report
Retrieve daily report for one month, can only get daily report for recent 6 months
Definition
GET https://api.zoom.us/v2/report/daily
Example Request
$ curl https://api.zoom.us/v2/report/daily
Example Response
200 OK
{
"year": "integer",
"month": "integer",
"dates": [
{
"date": "string [date]",
"new_users": "integer",
"meetings": "integer",
"participants": "integer",
"meeting_minutes": "integer"
}
]
}
Query Arguments | |
---|---|
year optional | Year for this report |
month optional | Month for this report |
Retrieve hosts report
Retrieve active or inactive hosts report for a specified period
Definition
GET https://api.zoom.us/v2/report/users
Example Request
$ curl https://api.zoom.us/v2/report/users?from=string&to=string
Example Response
200 OK
{
"from": "string [date]",
"to": "string [date]",
"page_count": "integer",
"page_number": "integer",
"page_size": "integer",
"total_records": "integer",
"total_meetings": "integer",
"total_participants": "integer",
"total_meeting_minutes": "integer",
"users": [
{
"id": "string [uuid]",
"email": "string",
"user_name": "string",
"type": "integer",
"dept": "string",
"meetings": "integer",
"participants": "integer",
"meeting_minutes": "integer"
}
]
}
Query Arguments | |
---|---|
type optional | Active hosts or inactive hostsactive Active hostsinactive Inactive hosts |
from required | Start Date |
to required | End Date |
page_size optional 30 300 |
The number of records returned within a single API call |
page_number optional 1 |
Current page number of returned records |
Retrieve meetings report
Retrieve ended meetings report for a specified period
Definition
GET https://api.zoom.us/v2/report/users/{userId}/meetings
Example Request
$ curl https://api.zoom.us/v2/report/users/{userId}/meetings?from=string&to=string
Example Response
200 OK
{
"from": "string [date]",
"to": "string [date]",
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"meetings": [
{
"uuid": "string [uuid]",
"id": "integer",
"type": "integer",
"topic": "string",
"user_name": "string",
"user_email": "string",
"start_time": "string [date-time]",
"end_time": "string [date-time]",
"duration": "integer",
"total_minutes": "integer",
"participants_count": "integer"
}
]
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Query Arguments | |
---|---|
from required | Start Date |
to required | End Date |
page_size optional 30 300 |
The number of records returned within a single API call |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
Retrieve meeting details report
Retrieve ended meeting details report
Definition
GET https://api.zoom.us/v2/report/meetings/{meetingId}
Example Request
$ curl https://api.zoom.us/v2/report/meetings/{meetingId}
Example Response
200 OK
{
"uuid": "string [uuid]",
"id": "integer",
"type": "integer",
"topic": "string",
"user_name": "string",
"user_email": "string",
"start_time": "string [date-time]",
"end_time": "string [date-time]",
"duration": "integer",
"total_minutes": "integer",
"participants_count": "integer"
}
Path Arguments | |
---|---|
meetingId required | The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance. |
Retrieve meeting participants report
Retrieve ended meeting participants report
Definition
GET https://api.zoom.us/v2/report/meetings/{meetingId}/participants
Example Request
$ curl https://api.zoom.us/v2/report/meetings/{meetingId}/participants
Example Response
200 OK
{
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"participants": [
{
"id": "string [uuid]",
"user_id": "string",
"name": "string",
"user_email": "string",
"join_time": "string [date-time]",
"leave_time": "string [date-time]",
"duration": "integer",
"attentiveness_score": "integer"
}
]
}
Path Arguments | |
---|---|
meetingId required | The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance. |
Query Arguments | |
---|---|
page_size optional 30 300 |
The number of records returned within a single API call |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
Retrieve meeting polls report
Retrieve ended meeting polls report
Definition
GET https://api.zoom.us/v2/report/meetings/{meetingId}/polls
Example Request
$ curl https://api.zoom.us/v2/report/meetings/{meetingId}/polls
Example Response
200 OK
{
"id": "integer",
"uuid": "string [uuid]",
"start_time": "string [date-time]",
"questions": [
{
"name": "string",
"email": "string",
"question_details": [
{
"question": "string",
"answer": "string"
}
]
}
]
}
Path Arguments | |
---|---|
meetingId required | The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance. |
Retrieve webinar details report
Retrieve ended webinar details report
Definition
GET https://api.zoom.us/v2/report/webinars/{webinarId}
Example Request
$ curl https://api.zoom.us/v2/report/webinars/{webinarId}
Example Response
200 OK
{
"uuid": "string [uuid]",
"id": "integer",
"type": "integer",
"topic": "string",
"user_name": "string",
"user_email": "string",
"start_time": "string [date-time]",
"end_time": "string [date-time]",
"duration": "integer",
"total_minutes": "integer",
"participants_count": "integer"
}
Path Arguments | |
---|---|
webinarId required | The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance. |
Retrieve webinar participants report
Retrieve ended webinar participants report
Definition
GET https://api.zoom.us/v2/report/webinars/{webinarId}/participants
Example Request
$ curl https://api.zoom.us/v2/report/webinars/{webinarId}/participants
Example Response
200 OK
{
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"participants": [
{
"id": "string [uuid]",
"user_id": "string",
"name": "string",
"user_email": "string",
"join_time": "string [date-time]",
"leave_time": "string [date-time]",
"duration": "integer",
"attentiveness_score": "string"
}
]
}
Path Arguments | |
---|---|
webinarId required | The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance. |
Query Arguments | |
---|---|
page_size optional 30 300 |
The number of records returned within a single API call |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
Retrieve webinar polls report
Retrieve ended webinar polls report
Definition
GET https://api.zoom.us/v2/report/webinars/{webinarId}/polls
Example Request
$ curl https://api.zoom.us/v2/report/webinars/{webinarId}/polls
Example Response
200 OK
{
"id": "integer",
"uuid": "string [uuid]",
"start_time": "string [date-time]",
"questions": [
{
"name": "string",
"email": "string",
"question_details": [
{
"question": "string",
"answer": "string"
}
]
}
]
}
Path Arguments | |
---|---|
webinarId required | The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance. |
Retrieve webinar Q&A report
Retrieve ended webinar Q&A report
Definition
GET https://api.zoom.us/v2/report/webinars/{webinarId}/qa
Example Request
$ curl https://api.zoom.us/v2/report/webinars/{webinarId}/qa
Example Response
200 OK
{
"id": "integer",
"uuid": "string [uuid]",
"start_time": "string [date-time]",
"questions": [
{
"name": "string",
"email": "string",
"question_details": [
{
"question": "string",
"answer": "string"
}
]
}
]
}
Path Arguments | |
---|---|
webinarId required | The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance. |
Retrieve telephone report
Retrieve telephone report for a specified period .
Definition
GET https://api.zoom.us/v2/report/telephone
Example Request
$ curl https://api.zoom.us/v2/report/telephone?from=string&to=string
Example Response
200 OK
{
"from": "string [date]",
"to": "string [date]",
"page_count": "integer",
"page_number": "integer",
"page_size": "integer",
"total_records": "integer",
"telephony_usage": [
{
"meeting_id": "integer",
"phone_number": "string",
"host_name": "string",
"host_email": "string",
"dept": "string",
"start_time": "string [date-time]",
"end_time": "string [date-time]",
"duration": "integer",
"total": "number"
}
]
}
Query Arguments | |
---|---|
type optional 1 |
Audio type1 Toll-free Call-in & Call-out |
from required | Start Date |
to required | End Date |
page_size optional 30 300 |
The number of records returned within a single API call |
page_number optional 1 |
Current page number of returned records |
Dashboards
List meetings
List live meetings or past meetings for a specified period
Definition
GET https://api.zoom.us/v2/metrics/meetings
Example Request
$ curl https://api.zoom.us/v2/metrics/meetings?from=string&to=string
Example Response
200 OK
{
"from": "string [date]",
"to": "string [date]",
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"meetings": [
{
"uuid": "string [uuid]",
"id": "integer",
"topic": "string",
"host": "string",
"email": "string",
"user_type": "string",
"start_time": "string [date-time]",
"end_time": "string [date-time]",
"duration": "string",
"participants": "integer",
"has_pstn": "boolean",
"has_voip": "boolean",
"has_3rd_party_audio": "boolean",
"has_video": "boolean",
"has_screen_share": "boolean",
"has_recording": "boolean",
"has_sip": "boolean"
}
]
}
Query Arguments | |
---|---|
type optional live |
The meeting typepast past meetingspastOne past one user meetingslive live meetings |
from required | Start Date |
to required | End Date |
page_size optional 30 300 |
The number of records returned within a single API call |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
Retrieve meeting detail
Retrieve live or past meetings detail
Definition
GET https://api.zoom.us/v2/metrics/meetings/{meetingId}
Example Request
$ curl https://api.zoom.us/v2/metrics/meetings/{meetingId}
Example Response
200 OK
{
"uuid": "string [uuid]",
"id": "integer",
"topic": "string",
"host": "string",
"email": "string",
"user_type": "string",
"start_time": "string [date-time]",
"end_time": "string [date-time]",
"duration": "string",
"participants": "integer",
"has_pstn": "boolean",
"has_voip": "boolean",
"has_3rd_party_audio": "boolean",
"has_video": "boolean",
"has_screen_share": "boolean",
"has_recording": "boolean",
"has_sip": "boolean"
}
Path Arguments | |
---|---|
meetingId required | The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance. |
Query Arguments | |
---|---|
type optional live |
The meeting typepast past meetingpastOne past one user meetinglive live meeting |
Retrieve meeting participants
Retrieve live or past meetings participants
Definition
GET https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants
Example Request
$ curl https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants
Example Response
200 OK
{
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"participants": [
{
"id": "string [uuid]",
"user_id": "string",
"user_name": "string",
"device": "string",
"ip_address": "string",
"location": "string",
"network_type": "string",
"microphone": "string",
"speaker": "string",
"data_center": "string",
"connection_type": "string",
"join_time": "string [date-time]",
"leave_time": "string [date-time]",
"share_application": "boolean",
"share_desktop": "boolean",
"share_whiteboard": "boolean",
"recording": "boolean",
"pc_name": "string",
"domain": "string",
"mac_addr": "string",
"harddisk_id": "string",
"version": "string"
}
]
}
Path Arguments | |
---|---|
meetingId required | The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance. |
Query Arguments | |
---|---|
type optional live |
The meeting typepast past meetingpastOne past one user meetinglive live meeting |
page_size optional 30 300 |
The number of records returned within a single API call |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
Retrieve meeting participant QOS
Retrieve live or past meetings participant quality of service
Definition
GET https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants/{participantId}/qos
Example Request
$ curl https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants/{participantId}/qos
Example Response
200 OK
{
"user_id": "string [uuid]",
"user_name": "string",
"device": "string",
"ip_address": "string",
"location": "string",
"join_time": "string [date-time]",
"leave_time": "string [date-time]",
"pc_name": "string",
"domain": "string",
"mac_addr": "string",
"harddisk_id": "string",
"version": "string",
"user_qos": {
"date_time": "string [date-time]",
"audio_input": {
"bitrate": "string",
"latency": "string",
"jitter": "string",
"avg_loss": "string",
"max_loss": "string"
},
"audio_output": {
"bitrate": "string",
"latency": "string",
"jitter": "string",
"avg_loss": "string",
"max_loss": "string"
},
"video_input": {
"bitrate": "string",
"latency": "string",
"jitter": "string",
"avg_loss": "string",
"max_loss": "string",
"resolution": "string",
"frame_rate": "string"
},
"video_output": {
"bitrate": "string",
"latency": "string",
"jitter": "string",
"avg_loss": "string",
"max_loss": "string",
"resolution": "string",
"frame_rate": "string"
},
"as_input": {
"bitrate": "string",
"latency": "string",
"jitter": "string",
"avg_loss": "string",
"max_loss": "string",
"resolution": "string",
"frame_rate": "string"
},
"as_output": {
"bitrate": "string",
"latency": "string",
"jitter": "string",
"avg_loss": "string",
"max_loss": "string",
"resolution": "string",
"frame_rate": "string"
},
"cpu_usage": {
"zoom_min_cpu_usage": "string",
"zoom_avg_cpu_usage": "string",
"zoom_max_cpu_usage": "string",
"system_max_cpu_usage": "string"
}
}
}
Path Arguments | |
---|---|
meetingId required | The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance. |
participantId required | Participant ID |
Query Arguments | |
---|---|
type optional live |
The meeting typepast past meetinglive 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 typepast past meetinglive live meeting |
page_size optional 1 10 |
Number of items returned per page |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
Retrieve sharing/recording details of meeting participant
Retrieve sharing/recording details of live or past meetings participant
Definition
GET https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants/sharing
Example Request
$ curl https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants/sharing
Example Response
200 OK
{
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"participants": [
{
"id": "string",
"user_id": "string",
"user_name": "string",
"details": [
{
"content": "string",
"start_time": "string",
"end_time": "string"
}
]
}
]
}
Path Arguments | |
---|---|
meetingId required | The meeting ID or meeting UUID. If given meeting ID, will take the last meeting instance. |
Query Arguments | |
---|---|
type optional live |
The meeting typepast past meetinglive live meeting |
page_size optional 30 300 |
The number of records returned within a single API call |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
List webinars
List live webinars or past webinars for a specified period
Definition
GET https://api.zoom.us/v2/metrics/webinars
Example Request
$ curl https://api.zoom.us/v2/metrics/webinars?from=string&to=string
Example Response
200 OK
{
"from": "string [date]",
"to": "string [date]",
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"webinars": [
{
"uuid": "string [uuid]",
"id": "integer",
"topic": "string",
"host": "string",
"email": "string",
"user_type": "string",
"start_time": "string [date-time]",
"end_time": "string [date-time]",
"duration": "string",
"participants": "integer",
"has_pstn": "boolean",
"has_voip": "boolean",
"has_3rd_party_audio": "boolean",
"has_video": "boolean",
"has_screen_share": "boolean",
"has_recording": "boolean",
"has_sip": "boolean"
}
]
}
Query Arguments | |
---|---|
type optional live |
The webinar typepast past webinarslive live webinars |
from required | Start Date |
to required | End Date |
page_size optional 30 300 |
The number of records returned within a single API call |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
Retrieve webinar detail
Retrieve live or past webinars detail
Definition
GET https://api.zoom.us/v2/metrics/webinars/{webinarId}
Example Request
$ curl https://api.zoom.us/v2/metrics/webinars/{webinarId}
Example Response
200 OK
{
"uuid": "string [uuid]",
"id": "integer",
"topic": "string",
"host": "string",
"email": "string",
"user_type": "string",
"start_time": "string [date-time]",
"end_time": "string [date-time]",
"duration": "string",
"participants": "integer",
"has_pstn": "boolean",
"has_voip": "boolean",
"has_3rd_party_audio": "boolean",
"has_video": "boolean",
"has_screen_share": "boolean",
"has_recording": "boolean",
"has_sip": "boolean"
}
Path Arguments | |
---|---|
webinarId required | The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance. |
Query Arguments | |
---|---|
type optional live |
The webinar typepast past webinarlive live webinar |
Retrieve webinar participants
Retrieve live or past webinar participants
Definition
GET https://api.zoom.us/v2/metrics/webinars/{webinarId}/participants
Example Request
$ curl https://api.zoom.us/v2/metrics/webinars/{webinarId}/participants
Example Response
200 OK
{
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"participants": [
{
"id": "string [uuid]",
"user_id": "string",
"user_name": "string",
"device": "string",
"ip_address": "string",
"location": "string",
"network_type": "string",
"microphone": "string",
"speaker": "string",
"data_center": "string",
"connection_type": "string",
"join_time": "string [date-time]",
"leave_time": "string [date-time]",
"share_application": "boolean",
"share_desktop": "boolean",
"share_whiteboard": "boolean",
"recording": "boolean",
"pc_name": "string",
"domain": "string",
"mac_addr": "string",
"harddisk_id": "string",
"version": "string"
}
]
}
Path Arguments | |
---|---|
webinarId required | The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance. |
Query Arguments | |
---|---|
type optional live |
The webinar typepast past webinarlive live webinar |
page_size optional 30 300 |
The number of records returned within a single API call |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
Retrieve webinar participant QOS
Retrieve live or past webinar participant quality of service
Definition
GET https://api.zoom.us/v2/metrics/webinars/{webinarId}/participants/{participantId}/qos
Example Request
$ curl https://api.zoom.us/v2/metrics/webinars/{webinarId}/participants/{participantId}/qos
Example Response
200 OK
{
"user_id": "string [uuid]",
"user_name": "string",
"device": "string",
"ip_address": "string",
"location": "string",
"join_time": "string [date-time]",
"leave_time": "string [date-time]",
"pc_name": "string",
"domain": "string",
"mac_addr": "string",
"harddisk_id": "string",
"version": "string",
"user_qos": {
"date_time": "string [date-time]",
"audio_input": {
"bitrate": "string",
"latency": "string",
"jitter": "string",
"avg_loss": "string",
"max_loss": "string"
},
"audio_output": {
"bitrate": "string",
"latency": "string",
"jitter": "string",
"avg_loss": "string",
"max_loss": "string"
},
"video_input": {
"bitrate": "string",
"latency": "string",
"jitter": "string",
"avg_loss": "string",
"max_loss": "string",
"resolution": "string",
"frame_rate": "string"
},
"video_output": {
"bitrate": "string",
"latency": "string",
"jitter": "string",
"avg_loss": "string",
"max_loss": "string",
"resolution": "string",
"frame_rate": "string"
},
"as_input": {
"bitrate": "string",
"latency": "string",
"jitter": "string",
"avg_loss": "string",
"max_loss": "string",
"resolution": "string",
"frame_rate": "string"
},
"as_output": {
"bitrate": "string",
"latency": "string",
"jitter": "string",
"avg_loss": "string",
"max_loss": "string",
"resolution": "string",
"frame_rate": "string"
},
"cpu_usage": {
"zoom_min_cpu_usage": "string",
"zoom_avg_cpu_usage": "string",
"zoom_max_cpu_usage": "string",
"system_max_cpu_usage": "string"
}
}
}
Path Arguments | |
---|---|
webinarId required | The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance. |
participantId required | Participant ID |
Query Arguments | |
---|---|
type optional live |
The webinar typepast past webinarlive 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 typepast past webinarlive live webinar |
page_size optional 1 10 |
Number of items returned per page |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
Retrieve sharing/recording details of webinar participant
Retrieve sharing/recording details of live or past webinar participant
Definition
GET https://api.zoom.us/v2/metrics/webinars/{webinarId}/participants/sharing
Example Request
$ curl https://api.zoom.us/v2/metrics/webinars/{webinarId}/participants/sharing
Example Response
200 OK
{
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"participants": [
{
"id": "string",
"user_id": "string",
"user_name": "string",
"details": [
{
"content": "string",
"start_time": "string",
"end_time": "string"
}
]
}
]
}
Path Arguments | |
---|---|
webinarId required | The webinar ID or webinar UUID. If given webinar ID, will take the last webinar instance. |
Query Arguments | |
---|---|
type optional live |
The webinar typepast past webinarlive live webinar |
page_size optional 30 300 |
The number of records returned within a single API call |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
List Zoom Rooms
List all zoom rooms on account
Definition
GET https://api.zoom.us/v2/metrics/zoomrooms
Example Request
$ curl https://api.zoom.us/v2/metrics/zoomrooms
Example Response
200 OK
{
"page_count": "integer",
"page_number": "integer",
"page_size": "integer",
"total_records": "integer",
"zoom_rooms": [
{
"id": "string",
"room_name": "string",
"calender_name": "string",
"email": "string",
"account_type": "string",
"status": "string",
"device_ip": "string",
"camera": "string",
"microphone": "string",
"speaker": "string",
"last_start_time": "string"
}
]
}
Query Arguments | |
---|---|
page_size optional 30 300 |
The number of records returned within a single API call |
page_number optional 1 |
Current page number of returned records |
Retrieve Zoom Room
Retrieve zoom room on account
Definition
GET https://api.zoom.us/v2/metrics/zoomrooms/{zoomroomId}
Example Request
$ curl https://api.zoom.us/v2/metrics/zoomrooms/{zoomroomId}?from=string&to=string
Example Response
200 OK
{
"id": "string",
"room_name": "string",
"calender_name": "string",
"email": "string",
"account_type": "string",
"status": "string",
"device_ip": "string",
"camera": "string",
"microphone": "string",
"speaker": "string",
"last_start_time": "string",
"live_meeting": {
"uuid": "string [uuid]",
"id": "integer",
"topic": "string",
"host": "string",
"email": "string",
"user_type": "string",
"start_time": "string [date-time]",
"end_time": "string [date-time]",
"duration": "string",
"participants": "integer",
"has_pstn": "boolean",
"has_voip": "boolean",
"has_3rd_party_audio": "boolean",
"has_video": "boolean",
"has_screen_share": "boolean",
"has_recording": "boolean",
"has_sip": "boolean"
},
"past_meetings": {
"from": "string [date]",
"to": "string [date]",
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"meetings": [
{
"uuid": "string [uuid]",
"id": "integer",
"topic": "string",
"host": "string",
"email": "string",
"user_type": "string",
"start_time": "string [date-time]",
"end_time": "string [date-time]",
"duration": "string",
"participants": "integer",
"has_pstn": "boolean",
"has_voip": "boolean",
"has_3rd_party_audio": "boolean",
"has_video": "boolean",
"has_screen_share": "boolean",
"has_recording": "boolean",
"has_sip": "boolean"
}
]
}
}
Path Arguments | |
---|---|
zoomroomId required | The Zoom Room ID |
Query Arguments | |
---|---|
from required | Start Date |
to required | End Date |
page_size optional 30 300 |
The number of records returned within a single API call |
page_number optional 1 |
Current page number of returned records |
Retrieve CRC Port Usage
Get CRC Port usage hour by hour for a specified time period .
Definition
GET https://api.zoom.us/v2/metrics/crc
Example Request
$ curl https://api.zoom.us/v2/metrics/crc?from=string&to=string
Example Response
200 OK
{
"from": "string [date]",
"to": "string [date]",
"crc_ports_usage": [
{
"date_time": "string",
"crc_ports_hour_usage": [
{
"hour": "string",
"max_usage": "integer",
"total_usage": "integer"
}
]
}
]
}
Query Arguments | |
---|---|
from required | Start Date |
to required | End Date |
Retrieve IM
Retrieve metrics of Zoom IM
Definition
GET https://api.zoom.us/v2/metrics/im
Example Request
$ curl https://api.zoom.us/v2/metrics/im?from=string&to=string
Example Response
200 OK
{
"from": "string [date]",
"to": "string [date]",
"page_count": "integer",
"page_size": "integer",
"total_records": "integer",
"next_page_token": "string",
"users": [
{
"user_id": "string",
"user_name": "string",
"email": "string",
"total_send": "integer",
"total_receive": "integer",
"group_send": "integer",
"group_receive": "integer",
"calls_send": "integer",
"calls_receive": "integer",
"files_send": "integer",
"files_receive": "integer",
"images_send": "integer",
"images_receive": "integer",
"voice_send": "integer",
"voice_receive": "integer",
"videos_send": "integer",
"videos_receive": "integer",
"emoji_send": "integer",
"emoji_receive": "integer"
}
]
}
Query Arguments | |
---|---|
from required | Start Date |
to required | End Date |
page_size optional 30 300 |
The number of records returned within a single API call |
next_page_token optional | Next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes. |
Webhooks
The Webhook object
Webhook base object, only available for version 2 webhook
{
"url": "string",
"auth_user": "string",
"auth_password": "string",
"events": [
"string"
]
}
Property | Description |
---|---|
url string | Webhook endpoint |
auth_user string | Webhook auth user name |
auth_password string | Webhook auth password |
events array | List of events objects.meeting_started The meeting has started.meeting_ended The meeting has ended.meeting_jbh Attendee has joined a meeting before the host.meeting_join Host hasn’t launched the meeting, attendee is waiting.recording_completed All the Cloud Recordings have completed processing and is available.participant_joined Participant has joined the meeting.participant_left Participant has leaved the meeting.meeting_registered Attendee registered for a meeting or webinar.recording_transcript_completed Recording audio transcript files have processed and are available. |
Switch webhook version
Switch webhook version
Definition
PATCH https://api.zoom.us/v2/webhooks/options
Example Request
$ curl https://api.zoom.us/v2/webhooks/options \
-d '{
"version": "string"
}'
Example Response
204 No Content
Body Arguments | |
---|---|
version required | v1 Version 1v2 Version 2 |
List webhooks
List webhooks for a account
Definition
GET https://api.zoom.us/v2/webhooks
Example Request
$ curl https://api.zoom.us/v2/webhooks
Example Response
200 OK
{
"total_records": "integer",
"webhooks": [
{
"webhook_id": "string",
"url": "string",
"auth_user": "string",
"auth_password": "string",
"events": [
"string"
],
"created_at": "string [date-time]"
}
]
}
Create a webhook
Create a webhook for a account
Definition
POST https://api.zoom.us/v2/webhooks
Example Request
$ curl https://api.zoom.us/v2/webhooks \
-d '{
"url": "string",
"auth_user": "string",
"auth_password": "string",
"events": [
"string"
]
}'
Example Response
201 Created
{
"webhook_id": "string",
"url": "string",
"auth_user": "string",
"auth_password": "string",
"events": [
"string"
],
"created_at": "string [date-time]"
}
Body Arguments | |
---|---|
url required 256 |
Webhook endpoint |
auth_user required 128 |
Webhook auth user name |
auth_password required 64 |
Webhook auth password |
events required | List of events objects.meeting_started The meeting has started.meeting_ended The meeting has ended.meeting_jbh Attendee has joined a meeting before the host.meeting_join Host hasn’t launched the meeting, attendee is waiting.recording_completed All the Cloud Recordings have completed processing and is available.participant_joined Participant has joined the meeting.participant_left Participant has leaved the meeting.meeting_registered Attendee registered for a meeting or webinar.recording_transcript_completed Recording audio transcript files have processed and are available. |
Retrieve a webhook
Retrieve a webhook
Definition
GET https://api.zoom.us/v2/webhooks/{webhookId}
Example Request
$ curl https://api.zoom.us/v2/webhooks/{webhookId}
Example Response
200 OK
{
"webhook_id": "string",
"url": "string",
"auth_user": "string",
"auth_password": "string",
"events": [
"string"
],
"created_at": "string [date-time]"
}
Path Arguments | |
---|---|
webhookId required | The webhook ID |
Update a webhook
Update a webhook
Definition
PATCH https://api.zoom.us/v2/webhooks/{webhookId}
Example Request
$ curl https://api.zoom.us/v2/webhooks/{webhookId} \
-d '{
"url": "string",
"auth_user": "string",
"auth_password": "string",
"events": [
"string"
]
}'
Example Response
204 No Content
Path Arguments | |
---|---|
webhookId required | The webhook ID |
Body Arguments | |
---|---|
url optional 256 |
Webhook endpoint |
auth_user optional 128 |
Webhook auth user name |
auth_password optional 64 |
Webhook auth password |
events optional | List of events objectsmeeting_started The meeting has started.meeting_ended The meeting has ended.meeting_jbh Attendee has joined a meeting before the host.meeting_join Host hasn’t launched the meeting, attendee is waiting.recording_completed All the Cloud Recordings has completed processing and is available.participant_joined Participant has joined the meeting.participant_left Participant has leaved the meeting.meeting_registered Attendee registered for a meeting or webinar.recording_transcript_completed Recording audio transcript files have processed and are available. |
Delete a webhook
Delete a webhook
Definition
DELETE https://api.zoom.us/v2/webhooks/{webhookId}
Example Request
$ curl https://api.zoom.us/v2/webhooks/{webhookId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
webhookId required | The webhook ID |
TSP
The TSP object
List of TSP Accounts
{
"conference_code": "string",
"leader_pin": "string",
"dial_in_numbers": [
{
"code": "string",
"number": "string",
"type": "string"
}
]
}
Property | Description |
---|---|
conference_code string | Conference code, numeric value, length is less than 16. |
leader_pin string | Leader PIN, numeric value, length is less than 16. |
dial_in_numbers array | List of Dial In Numbers |
dial_in_numbers[0].code required 6 |
Country Code |
dial_in_numbers[0].number required 16 |
Dial-in number, length is less than 16. |
dial_in_numbers[0].type optional | Number typetoll Toll numbertollfree Toll free number |
List TSP dial-in numbers
List TSP dial-in numbers under account
Definition
GET https://api.zoom.us/v2/tsp
Example Request
$ curl https://api.zoom.us/v2/tsp
Example Response
200 OK
{
"tsp_provider": "string",
"dial_in_numbers": [
{
"code": "string",
"number": "string",
"type": "string"
}
]
}
List user’s TSP accounts
List user’s TSP accounts
Definition
GET https://api.zoom.us/v2/users/{userId}/tsp
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/tsp
Example Response
200 OK
{
"tsp_accounts": [
{
"conference_code": "string",
"leader_pin": "string",
"dial_in_numbers": [
{
"code": "string",
"number": "string",
"type": "string"
}
]
}
]
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Add a user’s TSP account
Add a user’s TSP account
Definition
POST https://api.zoom.us/v2/users/{userId}/tsp
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/tsp \
-d '{
"conference_code": "string",
"leader_pin": "string",
"dial_in_numbers": [
{
"code": "string",
"number": "string",
"type": "string"
}
]
}'
Example Response
201 Created
{
"conference_code": "string",
"leader_pin": "string",
"dial_in_numbers": [
{
"code": "string",
"number": "string",
"type": "string"
}
]
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Body Arguments | |
---|---|
conference_code required 16 |
Conference code, numeric value, length is less than 16. |
leader_pin required 16 |
Leader PIN, numeric value, length is less than 16. |
dial_in_numbers required | List of Dial In Numbers |
dial_in_numbers[0].code required 6 |
Country Code |
dial_in_numbers[0].number required 16 |
Dial-in number, length is less than 16. |
dial_in_numbers[0].type optional | Number typetoll Toll numbertollfree Toll free number |
Retrieve a user’s TSP account
Retrieve a user’s TSP account
Definition
GET https://api.zoom.us/v2/users/{userId}/tsp/{tspId}
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/tsp/{tspId}
Example Response
200 OK
{
"conference_code": "string",
"leader_pin": "string",
"dial_in_numbers": [
{
"code": "string",
"number": "string",
"type": "string"
}
]
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
tspId required | TSP account index |
Update a TSP account
Update a user’s TSP account
Definition
PATCH https://api.zoom.us/v2/users/{userId}/tsp/{tspId}
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/tsp/{tspId} \
-d '{
"conference_code": "string",
"leader_pin": "string",
"dial_in_numbers": [
{
"code": "string",
"number": "string",
"type": "string"
}
]
}'
Example Response
204 No Content
Path Arguments | |
---|---|
userId required | The user ID or email address |
tspId required | TSP account index |
Body Arguments | |
---|---|
conference_code required 16 |
Conference code, numeric value, length is less than 16. |
leader_pin required 16 |
Leader PIN, numeric value, length is less than 16. |
dial_in_numbers required | List of Dial In Numbers |
dial_in_numbers[0].code required 6 |
Country Code |
dial_in_numbers[0].number required 16 |
Dial-in number, length is less than 16. |
dial_in_numbers[0].type optional | Number typetoll Toll numbertollfree Toll free number |
Delete a user’s TSP account
Delete a user’s TSP account
Definition
DELETE https://api.zoom.us/v2/users/{userId}/tsp/{tspId}
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/tsp/{tspId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
userId required | The user ID or email address |
tspId required | TSP account index |
PAC
The PAC object
List of PAC Accounts
{
"dedicated_dial_in_number": [
{
"number": "string",
"country": "string"
}
],
"global_dial_in_numbers": [
{
"number": "string",
"country": "string"
}
],
"conference_id": "integer",
"participant_password": "string",
"listen_only_password": "string"
}
Property | Description |
---|---|
dedicated_dial_in_number array | List of Dedicated Dial In Numbers |
global_dial_in_numbers array | List of Global Dial In Numbers |
conference_id integer | Conference ID |
participant_password string | Participant Password, numeric value, length is less than 6 |
listen_only_password string | Listen-Only Password, numeric value, length is less than 6 |
List user’s PAC accounts
List user’s PAC accounts
Definition
GET https://api.zoom.us/v2/users/{userId}/pac
Example Request
$ curl https://api.zoom.us/v2/users/{userId}/pac
Example Response
200 OK
{
"tsp_accounts": [
{
"dedicated_dial_in_number": [
{
"number": "string",
"country": "string"
}
],
"global_dial_in_numbers": [
{
"number": "string",
"country": "string"
}
],
"conference_id": "integer",
"participant_password": "string",
"listen_only_password": "string"
}
]
}
Path Arguments | |
---|---|
userId required | The user ID or email address |
Devices
The Device object
The H.323/SIP device object.
{
"name": "string",
"protocol": "string",
"ip": "string",
"encryption": "string"
}
Property | Description |
---|---|
name string | Device name |
protocol string | Device protocolH.323 H.323SIP SIP |
ip string | Device Ip |
encryption string | Device encryptionauto autoyes yesno no |
List H.323/SIP Devices.
List H.323/SIP Devices on your Zoom account.
Definition
GET https://api.zoom.us/v2/h323/devices
Example Request
$ curl https://api.zoom.us/v2/h323/devices
Example Response
200 OK
{
"page_count": "integer",
"page_number": "integer",
"page_size": "integer",
"total_records": "integer",
"devices": [
{
"id": "string",
"name": "string",
"protocol": "string",
"ip": "string",
"encryption": "string"
}
]
}
Create a H.323/SIP Device
Create a H.323/SIP Device on your Zoom account
Definition
POST https://api.zoom.us/v2/h323/devices
Example Request
$ curl https://api.zoom.us/v2/h323/devices \
-d '{
"name": "string",
"protocol": "string",
"ip": "string",
"encryption": "string"
}'
Example Response
201 Created
{
"id": "string",
"name": "string",
"protocol": "string",
"ip": "string",
"encryption": "string"
}
Body Arguments | |
---|---|
name required 64 |
Device name |
protocol required | Device protocolH.323 H.323SIP SIP |
ip required | Device Ip |
encryption required | Device encryptionauto autoyes yesno no |
Update a H.323/SIP Device
Update a H.323/SIP Device on your Zoom account
Definition
PATCH https://api.zoom.us/v2/h323/devices/{deviceId}
Example Request
$ curl https://api.zoom.us/v2/h323/devices/{deviceId} \
-d '{
"name": "string",
"protocol": "string",
"ip": "string",
"encryption": "string"
}'
Example Response
204 No Content
Path Arguments | |
---|---|
deviceId required | The device ID |
Body Arguments | |
---|---|
name required 64 |
Device name |
protocol required | Device protocolH.323 H.323SIP SIP |
ip required | Device Ip |
encryption required | Device encryptionauto autoyes yesno no |
Delete a H.323/SIP Device
Delete a H.323/SIP Device on your Zoom account
Definition
DELETE https://api.zoom.us/v2/h323/devices/{deviceId}
Example Request
$ curl https://api.zoom.us/v2/h323/devices/{deviceId} \
-X DELETE
Example Response
204 No Content
Path Arguments | |
---|---|
deviceId required | The device ID |
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 |
- “tollfree_countries”: Toll-free countries, multiple value separated by comma. For this parameter value please refer to the id value in tollfree countries list
- “premium_countries”: Premium countries, multiple value separated by comma. For this parameter value please refer to the id value in premium countries list
- “callout_countries”: Call-out countries, multiple value separated by comma. For this parameter value please refer to the id value in callout countries list
- “ddi_numbers”: Dedicated Dial-In Numbers.
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 |