NAV Navbar
API Reference

Introduction

All the REST API calls should be POST HTTP requests server-side. This request cannot be initiated on the web client using AJAX approaches.

Endpoint

https://api.zoom.us/v1/

Common Parameters

The following are common parameters that should be included in each REST API request

Arguments  
api_key required API Key
api_secret required API Secret
data_type optional The type of data that you’re expecting back from the server JSON or XML Default: JSON

Error Handle

Example Error Response

{
  "error": {
    "code": 102,
    "message": "You app key and secret doesn't match."
  }
}

When getting a response from the server, you should first check the response body for the “error” section. The “error” section indicates this is a failed request, and then you can get the failed code and message from this section.

API Libraries

Zoom has created a library for Node.js with more coming soon

Node.js Quick Start

Install via npm

npm install zoomus

View the source on Github

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.

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

Includes:

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

Includes:

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

Includes:

In addition, You can run a max of one request per day (1 request/day)

Includes:

Webhooks

Webhooks can be used as notifications to keep your systems in sync with actions inside Zoom. Notifications themselves should not be used as actionable items

Zoom can send notifications to any publicly accessible server. When an event in Zoom triggers a notification (e.g. a meeting is started, or closed), Zoom will attempt to send this notification to the endpoint you specify.

Zoom sends notifications for meeting start, meeting end and recording ready events.

Zoom only considers a notification delivered if it receives a timely response with a successful status code. In other words:

Parameters

Zoom will pass following parameters to your subscribe URL via POST HTTP request

Key Value
id Meeting id.
uuid Meeting uuid.
status Meeting status.
STARTEDThe meeting has started.
ENDEDThe meeting has ended.
JBHAttendee has joined a meeting before the host.
JOINHost hasn’t launched the meeting, attendee is waiting.
RECORDING_MEETING_COMPLETEDCloud Recording has completed processing and is available.
host_id Meeting host id.

Generate authorization in header

Most programming languages encode the authorization header automatically. With HTTP Basic Authentication, the Authorization header is a string containing a Base-64 encoded username and password. Zoom Webhooks also supports HTTP Basic Authentication, you can specify the username and password when enabling push notification subscription.

"Authorization": "Basic " + base64_encode(username + ":" + password)

To Enable Push Notifications

Go to Credential page and click Enable Push Notifications.

Core Resources

Account

The following API calls go over the management of Sub Accounts through Zooms REST API calls.

Create a sub account

Create a sub account of the master account on Zoom, return the created sub account id and owner id.

Definition

POST https://api.zoom.us/v1/ma/account/create
Zoom.account.create();

Example Request

$ curl https://api.zoom.us/v1/ma/account/create \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d account_id=user@company.com \
    -d first_name=Zoomie \
    -d last_name=Userton \
    -d password=P@55w0rd
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var account = {
    account_id: "unique_id",
    first_name: "Zoomie",
    last_name: "Userton",
    password: "P@55w0rd",
}

Zoom.account.create(account, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "owner_id": "unique_id",
  "owner_email": "user@company.com",
  "created_at": "2012-11-25T12:00:00Z"
}
Arguments  
email required A valid email address. It must be unique in Zoom service. If an email address is existed, a “user existing” error message will be return.
first_name required User’s first name.
last_name required User’s last name.
password required User’s password.
enable_share_rc optional Enable Share Virtual Room Connector. Default: false
share_rc optional Virtual Room Connector, multiple value separated by comma.
enable_share_mc optional Enable Share Meeting Connector. Default: false
share_mc optional Meeting Connector, multiple value separated by comma.
pay_mode optional Who will pay for this account? 0 means Sub Account Holders Pays, 1 means Master Account Holder Pays. Default: 1
collection_method optional Collection Method? 0 means Automatic (billing online), 1 means Manual (send invoice). Default: 1
enable_pstn optional The value should be true or false, by default is true. Default: true
enable_enforce_login optional Only signed-in users can join this meeting. Default: false
enable_enforce_login_sd optional Only signed-in users with specified domains can join meetings. Default: false
enforce_login_domains optional Domains of signed-in users.
meeting_capacity optional Account’ meeting capacity, max of 100.
disable_cmr_reminder optional Disable cloud recording reminder. Default: false
enable_only_host_download_cmr optional Enable Only the host can download cloud recordings. Default: false
enable_same_account_access_cmr optional Enable Only users on my account can access cloud recordings. Default: false

List sub account

List all the sub account under the master account.

Definition

POST https://api.zoom.us/v1/ma/account/list
Zoom.account.list();

Example Request

$ curl https://api.zoom.us/v1/ma/account/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.account.list(function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "total_records": 3,
  "subAccounts": [
    {
      "id": "unique_id",
      "owner_email": "user@company.com",
      "account_name": "test api",
      "account_type": "Pro",
      "seats": 9,
      "subscription_start_time": "2017-10-19T00:00:00Z",
      "subscription_end_time": "2017-11-19T00:00:00Z",
      "created_at": "2017-10-19T00:00:00Z"
    }
  ]
}
Arguments  

Get a sub account

Get a sub account of the master account on Zoom, return the created sub account id and owner id.

Definition

POST  https://api.zoom.us/v1/ma/account/get
Zoom.account.get();

Example Request

$ curl https://api.zoom.us/v1/ma/account/get \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d account_id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var account = {
    account_id: "unique_id"
}

Zoom.account.get(account, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "owner_id": "unique_id",
  "owner_email": "user@company.com",
  "created_at": "2012-11-25T12:00:00Z"
}
Arguments  
account_id required The sub account ID.

Update a sub account

Update a sub account of the master account on Zoom, return the updated sub account id.

Definition

POST https://api.zoom.us/v1/ma/account/update
Zoom.account.update();

Example Request

$ curl https://api.zoom.us/v1/ma/account/update \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d account_id=unique_id 
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var account = {
    account_id: "unique_id"
}

Zoom.account.update(account, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "updated_at": "2012-11-25T12:00:00Z"
}
Arguments  
account_id required The sub account ID.
enable_share_rc optional Enable Share Virtual Room Connector.
share_rc optional Virtual Room Connector, multiple value separated by comma.
enable_share_mc optional Enable Share Meeting Connector.
share_mc optional Meeting Connector, multiple value separated by comma.
pay_mode optional Who will pay for this account? 0 means Sub Account Holders Pays, 1 means Master Account Holder Pays.
collection_method optional Collection Method? 0 means Automatic (billing online), 1 means Manual (send invoice).
enable_pstn optional The value should be true or false, by default is true. Default: true
enable_call_out optional The value should be true or false. If it is true, the user under this account will follow MA call out type. Default: false
enable_enforce_login optional Only signed-in users can join this meeting. Default: false
enable_enforce_login_sd optional Only signed-in users with specified domains can join meetings. Default: false
enforce_login_domains optional Domains of signed-in users.
meeting_capacity optional Account’ meeting capacity, max of 100.
disable_cmr_reminder optional Disable cloud recording reminder. Default: false
enable_only_host_download_cmr optional Enable Only the host can download cloud recordings. Default: false
enable_same_account_access_cmr optional Enable Only users on my account can access cloud recordings. Default: false

Delete a sub account

Delete the sub account.

Definition

POST https://api.zoom.us/v1/ma/account/delete
Zoom.account.delete();

Example Request

$ curl https://api.zoom.us/v1/ma/account/delete \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d account_id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var account = {
    account_id: "unique_id"
}

Zoom.account.delete(account, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "deleted_at": "2012-11-25T12:00:00Z"
}
Arguments  
account_id required The sub account ID.

Subscribe plans for a sub account

Subscribe plans for a sub account of the master account on Zoom.

Definition

POST https://api.zoom.us/v1/ma/account/plan/subscribe
Zoom.account.planSubscribe();

Example Request

$ curl https://api.zoom.us/v1/ma/account/plan/subscribe \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d account_id=unique_id \
    -d first_name=Zoomie \
    -d last_name=Userton \
    -d phone_number="4085555555" \
    -d addres="1234 Some Street" \
    -d city="Zoomville" \
    -d country="US" \
    -d state="CA" \
    -d zip="95037" \
    -d plan_base='{"type":"monthly","hosts":20}'
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var account = {
    account_id: "unique_id",
    first_name: "Zoomie",
    last_name: "Userton",
    phone_number: "5555555555",
    addres: "1234 Some Street",
    city: "Zoomville",
    country: "US",
    state: "CA",
    zip: "95037",
    plan_base: {
        "type":"monthly",
        "hosts":20
    }
}

Zoom.account.planSubscribe(account, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "email": "user@company.com",
  "first_name": "Zoomie",
  "last_name": "Userton",
  "phone_number": "123456789",
  "address": "address",
  "apt": "apt",
  "city": "city",
  "state": "state",
  "zip": "12345",
  "country": "country",
  "plan_base": {
    "type": "monthly",
    "hosts": 9
  },
  "plan_zoom_rooms": {
    "type": "zroom_monthly",
    "hosts": 9
  },
  "plan_room_connector": {
    "type": "roomconnector_yearly",
    "hosts": 9
  },
  "plan_large_meeting": [
    {
      "type": "large200_monthly",
      "hosts": 9
    },
    {
      "type": "large300_yearly",
      "hosts": 9
    },
    {
      "type": "large500_yearly",
      "hosts": 9
    }
  ],
  "plan_webinar": [
    {
      "type": "webinar100_monthly",
      "hosts": 9
    },
    {
      "type": "webinar500_yearly",
      "hosts": 9
    },
    {
      "type": "webinar1000_yearly",
      "hosts": 9
    },
    {
      "type": "webinar3000_monthly",
      "hosts": 9
    },
    {
      "type": "webinar5000_monthly",
      "hosts": 9
    },
    {
      "type": "webinar10000_monthly",
      "hosts": 9
    }
  ],
  "plan_recording": "cmr_monthly_commitment_500",
  "plan_audio": {
    "type": "tollfree_monthly_commitment_100",
    "tollfree_country": "AT",
    "premium_country": "TW",
    "callout": 1,
    "ddi_numbers": 66
  }
}
Arguments  
account_id required The sub account ID.
first_name required Sold To Contact’s first name.
last_name required Sold To Contact’s last name.
phone_number required Sold To Contact’s phone number.
address required Sold To Contact’s address.
apt optional Sold To Contact’s Apt/Suite.
city required Sold To Contact’s city.
country required Sold To Contact’s country. For this parameter value please refer to the id value in country list
state required Sold To Contact’s state. If country value is “US” or “CA”, for this parameter value please refer to the id value in state list
zip required Sold To Contact’s zip/postal.
plan_base required Base Plan. See Plans for more details
plan_zoom_rooms optional Additional Zoom Rooms Plan. See Plans for more details
plan_room_connector optional Additional H.323/SIP Room Connector Plan. See Plans for more details
plan_large_meeting optional Additional Large Meeting Plan. See Plans for more details
plan_webinar optional Additional Webinar Plan. See Plans for more details
plan_recording optional Additional Cloud Recording Plan. See Plans for more details
plan_audio optional Additional Audio Conferencing Plan. See Plans for more details

Add a plan for a sub account

Add a plan for a sub account of the master account on Zoom.

Definition

POST https://api.zoom.us/v1/ma/account/plan/add
Zoom.account.planAdd();

Example Request

$ curl https://api.zoom.us/v1/ma/account/plan/add \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d account_id=unique_id \
    -d plan="yearly"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var account = {
    account_id: "unique_id",
    plan: "webinar100_monthly"
}

Zoom.account.planAdd(account, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "updated_at": "2012-11-25T12:00:00Z"
}
Arguments  
account_id required The sub account ID.
plan required Additional Plan. See Plans for more details

Get plans information for a sub account

Get plans information for a sub account of the master account on Zoom.

Definition

POST https://api.zoom.us/v1/ma/account/plan/get
Zoom.account.planGet();

Example Request

$ curl https://api.zoom.us/v1/ma/account/plan/get \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d account_id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var account = {
    account_id: "unique_id"
}

Zoom.account.planGet(account, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "email": "user@company.com",
  "first_name": "Zoomie",
  "last_name": "Userton",
  "phone_number": "123456789",
  "address": "address",
  "apt": "apt",
  "city": "city",
  "state": "state",
  "zip": "12345",
  "country": "country",
  "plan_base": {
    "type": "monthly",
    "hosts": 9
  },
  "plan_zoom_rooms": {
    "type": "zroom_monthly",
    "hosts": 9
  },
  "plan_room_connector": {
    "type": "roomconnector_yearly",
    "hosts": 9
  },
  "plan_large_meeting": [
    {
      "type": "large100_monthly",
      "hosts": 9
    },
    {
      "type": "large200_monthly",
      "hosts": 9
    },
    {
      "type": "large300_yearly",
      "hosts": 9
    },
    {
      "type": "large500_yearly",
      "hosts": 9
    }
  ],
  "plan_webinar": [
    {
      "type": "webinar100_monthly",
      "hosts": 9
    },
    {
      "type": "webinar500_yearly",
      "hosts": 9
    },
    {
      "type": "webinar1000_yearly",
      "hosts": 9
    },
    {
      "type": "webinar3000_monthly",
      "hosts": 9
    },
    {
      "type": "webinar5000_monthly",
      "hosts": 9
    },
    {
      "type": "webinar10000_monthly",
      "hosts": 9
    }
  ],
  "plan_recording": "cmr_monthly_commitment_500",
  "plan_audio": {
    "type": "tollfree_monthly_commitment_100",
    "tollfree_country": "AT",
    "premium_country": "TW",
    "callout": 1,
    "ddi_numbers": 66
  }
}
Arguments  
account_id required The sub account ID.

Update a plan for a sub account

Update a plan for a sub account of the master account on Zoom.

Definition

POST https://api.zoom.us/v1/ma/account/plan/update
Zoom.account.planUpdate();

Example Request

$ curl https://api.zoom.us/v1/ma/account/plan/update \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d account_id=unique_id \
    -d type=1 \
    -d plan="yearly"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var account = {
    account_id: "unique_id",
    type: 1,
    plan: "monthly"
}

Zoom.account.planUpdate(account, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "w40hUJRpRmmkx4uPXczdHg",
  "updated_at": "2012-11-25T12:00:00Z"
}
Arguments  
account_id required The sub account ID.
type required Plan Type. 1 means Base Plan, 2 means Additional Plan. Default: 1
plan required A Base Plan or an Additional Plan. See Plans for more details

Update Billing Information for a sub account

Update Billing Information for a sub account of the master account on Zoom.

Definition

POST https://api.zoom.us/v1/ma/account/billing/update
Zoom.account.updateBilling();

Example Request

$ curl https://api.zoom.us/v1/ma/account/billing/update \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d account_id=unique_id 
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var account = {
    account_id: "unique_id"
    plan: "monthly"
}

Zoom.account.updateBilling(account, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id ",
  "updated_at": "2012-11-25T12:00:00Z"
}
Arguments  
account_id required The sub account ID.
first_name optional Sold To Contact’s first name.
last_name optional Sold To Contact’s last name.
phone_number optional Sold To Contact’s phone number.
address optional Sold To Contact’s address.
apt optional Sold To Contact’s Apt/Suite.
city optional Sold To Contact’s city.
country optional Sold To Contact’s country. For this parameter value please refer to the id value in country list
state optional Sold To Contact’s state. If country value is “US” or “CA”, for this parameter value please refer to the id value in state list
zip optional Sold To Contact’s zip/postal.

User

The following API calls go over the creation, management, and deleting of Users through Zooms REST API calls.

Create User

Create a user on Zoom, returns the created user ID.

Definition

POST https://api.zoom.us/v1/user/create
Zoom.user.create();

Example Request

$ curl https://api.zoom.us/v1/user/create \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d email="user@company.com" \
    -d type=1
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var user = {
    email: "user@company.com",
    type: 1
}

Zoom.user.create(user, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
    "id": "unique_id",
    "email": "user@company.com",
    "first_name": "Zoom",
    "last_name": "User",
    "type": 1,
    "enable_large": false,
    "large_capacity": 0, 
    "enable_webinar": false, 
    "webinar_capacity": 0, 
    "verified": 1,
    "created_at": "2012-11-25T12:00:00Z",
    "status" : 0
}
Arguments  
email required A valid email address. It must be unique in Zoom service. If an email address is existed, a “user existing” error message will be return
type required User’s type. 1 for basic user, 2 for pro user, 3 for corp user. Basic user can host up to 40 minutes meeting
first_name optional User’s first name. Cannot contain more than 5 Chinese words.
last_name optional User’s last name. Cannot contain more than 5 Chinese words.
disable_chat optional Disable in-meeting chat Deafult: false
enable_e2e_encryption optional Enable end-to-end encryption Deafult: false
enable_silent_mode optional Enable attendee on-hold Deafult: false
disable_group_hd optional Disable Group HD Deafult: false
disable_recording optional Disable recording Deafult: false
enable_cmr optional Enable cloud meeting record Deafult: false
enable_auto_recording optional Enable automatic recording. By default, if “enable_cloud_auto_recording” is true, it will become true Deafult: false
enable_cloud_auto_recording optional Enable cloud automatic recording Deafult: false
track_id optional Referral partner track ID
meeting_capacity optional User’s meeting capacity, passing 0 will inherit account’s meeting capacity Deafult: 0
enable_webinar optional Enable webinar feature
webinar_capacity optional Enable webinar capacity, can be 100, 500, 1000, 3000, 5000 or 10000, depends on if having related webinar capacity plan subscription or not Deafult: 0
enable_large optional Enable large meting feature
large_capacity optional Enable large meeting capacity, can be 100, 200, 300 or 500, depends on if having related webinar capacity plan subscription or not Deafult: 0
disable_feedback optional Disable feedback Deafult: false
disable_jbh_reminder optional Disable jbh email reminder Deafult: false
enable_breakout_room optional Enable breakout room Deafult: false
enable_polling optional Enable polling for meeting Deafult: false
enable_annotation optional Enable Annotation Deafult: true
enable_share_dual_camera optional Enable Share dual camera Deafult: false
enable_far_end_camera_control optional Enable Far end camera control Deafult: false
disable_private_chat optional Disable Private chat Deafult: false
enable_enter_exit_chime optional Enable Enter/exit chime Deafult: false
option_enter_exit_chime_type optional Enter/exit chime type. 0 means Heard by all including host and attendees, 1 means Heard by host only Deafult: 0
disable_cancel_meeting_notification optional Disable email notification when a meeting is cancelled Deafult: false
enable_remote_support optional Enable Remote support Deafult: false
enable_file_transfer optional Enable File transfer Deafult: false
enable_virtual_background optional Enable Virtual background Deafult: false
enable_attention_tracking optional Enable Attention tracking Deafult: false
enable_waiting_room optional Enable Waiting room Deafult: false
enable_closed_caption optional Enable Closed caption Deafult: false
enable_co_host optional Enable Co-host Deafult: false
enable_auto_saving_chats optional Enable Auto saving chats Deafult: false
enable_phone_participants_password optional Enable Generate and require password for participants joining by phone Deafult: false
enable_auto_delete_cmr optional Enable Auto delete cloud recordings Deafult: false
auto_delete_cmr_days optional Auto delete cloud recordings after days
dept optional Department for user profile, use for repor
group_id optional User Group ID. If set default user group, the parameter’s default value is the default user group
imgroup_id optional IM Group ID. If set default im group, the parameter’s default value is the default im group

Auto Create User

Create a user on Zoom, returns the created user ID.

Definition

POST https://api.zoom.us/v1/user/autocreate
Zoom.user.autoCreate();

Example Request

$ curl https://api.zoom.us/v1/user/autocreate \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d email="user@company.com" \
    -d type=1 \
    -d password=P@55w0rd
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var user = {
    email: "user@company.com",
    type: 1,
    password: "P@55w0rd"
}

Zoom.user.autoCreate(user, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "email": "user@company.com",
  "id": "unique_id",
  "created_at": "2012-11-25T12:00:00Z",
  "first_name": "Zoomie",
  "last_name": "Userton",
  "pic_url": "",
  "type": 1,
  "disable_chat": false,
  "enable_e2e_encryption": false,
  "enable_silent_mode": true,
  "disable_group_hd": false,
  "disable_recording": false,
  "enable_cmr": false,
  "enable_auto_recording": false,
  "enable_cloud_auto_recording": false,
  "verified": 1,
  "pmi": 2035134243,
  "meeting_capacity": 0,
  "enable_webinar": false,
  "webinar_capacity": 0,
  "enable_large": false,
  "large_capacity": 0,
  "disable_feedback": false,
  "disable_jbh_reminder": true,
  "enable_breakout_room": true,
  "enable_polling": false,
  "enable_annotation": false,
  "enable_share_dual_camera": false,
  "enable_far_end_camera_control": false,
  "disable_private_chat": false,
  "enable_enter_exit_chime": false,
  "disable_cancel_meeting_notification": false,
  "enable_remote_support": false,
  "enable_file_transfer": false,
  "enable_virtual_background": false,
  "enable_attention_tracking": false,
  "enable_waiting_room": false,
  "enable_closed_caption": false,
  "enable_co_host": false,
  "enable_auto_saving_chats": false,
  "enable_phone_participants_password": false,
  "enable_auto_delete_cmr": true,
  "auto_delete_cmr_days": 30,
  "dept": "Engineer",
  "lastClientVersion": "",
  "lastLoginTime": "",
  "token": "",
  "zpk": "",
  "zak": ""
}
Arguments  
email required A valid email address. It must be unique in Zoom service. If an email address is existed, a “user existing” error message will be return
type required User’s type. 1 for basic user, 2 for pro user, 3 for corp user. Basic user can host up to 40 minutes meeting
password required User’s password
first_name optional User’s first name. Cannot contain more than 5 Chinese words.
last_name optional User’s last name. Cannot contain more than 5 Chinese words.
disable_chat optional Disable in-meeting chat Deafult: false
enable_e2e_encryption optional Enable end-to-end encryption Deafult: false
enable_silent_mode optional Enable attendee on-hold Deafult: false
disable_group_hd optional Disable Group HD Deafult: false
disable_recording optional Disable recording Deafult: false
enable_cmr optional Enable cloud meeting record Deafult: false
enable_auto_recording optional Enable automatic recording. By default, if “enable_cloud_auto_recording” is true, it will become true Deafult: false
enable_cloud_auto_recording optional Enable cloud automatic recording Deafult: false
track_id optional Referral partner track ID
meeting_capacity optional User’s meeting capacity, 0 means following account’s meeting capacity Deafult: 0
enable_webinar optional Enable webinar feature
webinar_capacity optional Enable webinar capacity, can be 100, 500, 1000, 3000, 5000 or 10000, depends on if having related webinar capacity plan subscription or not Deafult: 0
enable_large optional Enable large meting feature
large_capacity optional Enable large meeting capacity, can be 100, 200, 300 or 500, depends on if having related webinar capacity plan subscription or not Deafult: 0
disable_feedback optional Disable feedback Deafult: false
disable_jbh_reminder optional Disable jbh email reminder Deafult: false
enable_breakout_room optional Enable breakout room Deafult: false
enable_polling optional Enable polling for meeting Deafult: false
enable_annotation optional Enable Annotation Deafult: true
enable_share_dual_camera optional Enable Share dual camera Deafult: false
enable_far_end_camera_control optional Enable Far end camera control Deafult: false
disable_private_chat optional Disable Private chat Deafult: false
enable_enter_exit_chime optional Enable Enter/exit chime Deafult: false
option_enter_exit_chime_type optional Enter/exit chime type. 0 means Heard by all including host and attendees, 1 means Heard by host only Deafult: 0
disable_cancel_meeting_notification optional Disable email notification when a meeting is cancelled Deafult: false
enable_remote_support optional Enable Remote support Deafult: false
enable_file_transfer optional Enable File transfer Deafult: false
enable_virtual_background optional Enable Virtual background Deafult: false
enable_attention_tracking optional Enable Attention tracking Deafult: false
enable_waiting_room optional Enable Waiting room Deafult: false
enable_closed_caption optional Enable Closed caption Deafult: false
enable_co_host optional Enable Co-host Deafult: false
enable_auto_saving_chats optional Enable Auto saving chats Deafult: false
enable_phone_participants_password optional Enable Generate and require password for participants joining by phone Deafult: false
enable_auto_delete_cmr optional Enable Auto delete cloud recordings Deafult: false
auto_delete_cmr_days optional Auto delete cloud recordings after days
dept optional Department for user profile, use for repor
group_id optional User Group ID. If set default user group, the parameter’s default value is the default user group
imgroup_id optional IM Group ID. If set default im group, the parameter’s default value is the default im group

Cust Create User

Create a user on Zoom, returns the created user ID.

Definition

POST https://api.zoom.us/v1/user/custcreate
Zoom.user.custCreate();

Example Request

$ curl https://api.zoom.us/v1/user/custcreate \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d email="user@company.com" \
    -d type=1 \
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var user = {
    email: "user@company.com",
    type: 1
}

Zoom.user.custCreate(user, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "email": "user@company.com",
  "id": "unique_id",
  "created_at": "2012-11-25T12:00:00Z",
  "first_name": "Zoomie",
  "last_name": "Userton",
  "pic_url": "",
  "type": 1,
  "disable_chat": false,
  "enable_e2e_encryption": false,
  "enable_silent_mode": true,
  "disable_group_hd": false,
  "disable_recording": false,
  "enable_cmr": false,
  "enable_auto_recording": false,
  "enable_cloud_auto_recording": false,
  "verified": 1,
  "pmi": 2035134243,
  "meeting_capacity": 0,
  "enable_webinar": false,
  "webinar_capacity": 0,
  "enable_large": false,
  "large_capacity": 0,
  "disable_feedback": false,
  "disable_jbh_reminder": true,
  "enable_breakout_room": true,
  "enable_polling": false,
  "enable_annotation": false,
  "enable_share_dual_camera": false,
  "enable_far_end_camera_control": false,
  "disable_private_chat": false,
  "enable_enter_exit_chime": false,
  "disable_cancel_meeting_notification": false,
  "enable_remote_support": false,
  "enable_file_transfer": false,
  "enable_virtual_background": false,
  "enable_attention_tracking": false,
  "enable_waiting_room": false,
  "enable_closed_caption": false,
  "enable_co_host": false,
  "enable_auto_saving_chats": false,
  "enable_phone_participants_password": false,
  "enable_auto_delete_cmr": true,
  "auto_delete_cmr_days": 30,
  "dept": "Engineer",
  "lastClientVersion": "",
  "lastLoginTime": "",
  "token": "",
  "zpk": "",
  "zak": ""
}
Arguments  
email required A valid email address. It must be unique in Zoom service. If an email address is existed, a “user existing” error message will be return
type required User’s type. 1 for basic user, 2 for pro user, 3 for corp user. Basic user can host up to 40 minutes meeting
first_name optional User’s first name. Cannot contain more than 5 Chinese words.
last_name optional User’s last name. Cannot contain more than 5 Chinese words.
disable_chat optional Disable in-meeting chat Deafult: false
enable_e2e_encryption optional Enable end-to-end encryption Deafult: false
enable_silent_mode optional Enable attendee on-hold Deafult: false
disable_group_hd optional Disable Group HD Deafult: false
disable_recording optional Disable recording Deafult: false
enable_cmr optional Enable cloud meeting record Deafult: false
enable_auto_recording optional Enable automatic recording. By default, if “enable_cloud_auto_recording” is true, it will become true Deafult: false
enable_cloud_auto_recording optional Enable cloud automatic recording Deafult: false
track_id optional Referral partner track ID
meeting_capacity optional User’s meeting capacity, 0 means following account’s meeting capacity Deafult: 0
enable_webinar optional Enable webinar feature
webinar_capacity optional Enable webinar capacity, can be 100, 500, 1000, 3000, 5000 or 10000, depends on if having related webinar capacity plan subscription or not Deafult: 0
enable_large optional Enable large meting feature
large_capacity optional Enable large meeting capacity, can be 100, 200, 300 or 500, depends on if having related webinar capacity plan subscription or not Deafult: 0
disable_feedback optional Disable feedback Deafult: false
disable_jbh_reminder optional Disable jbh email reminder Deafult: false
enable_breakout_room optional Enable breakout room Deafult: false
enable_polling optional Enable polling for meeting Deafult: false
enable_annotation optional Enable Annotation Deafult: true
enable_share_dual_camera optional Enable Share dual camera Deafult: false
enable_far_end_camera_control optional Enable Far end camera control Deafult: false
disable_private_chat optional Disable Private chat Deafult: false
enable_enter_exit_chime optional Enable Enter/exit chime Deafult: false
option_enter_exit_chime_type optional Enter/exit chime type. 0 means Heard by all including host and attendees, 1 means Heard by host only Deafult: 0
disable_cancel_meeting_notification optional Disable email notification when a meeting is cancelled Deafult: false
enable_remote_support optional Enable Remote support Deafult: false
enable_file_transfer optional Enable File transfer Deafult: false
enable_virtual_background optional Enable Virtual background Deafult: false
enable_attention_tracking optional Enable Attention tracking Deafult: false
enable_waiting_room optional Enable Waiting room Deafult: false
enable_closed_caption optional Enable Closed caption Deafult: false
enable_co_host optional Enable Co-host Deafult: false
enable_auto_saving_chats optional Enable Auto saving chats Deafult: false
enable_phone_participants_password optional Enable Generate and require password for participants joining by phone Deafult: false
enable_auto_delete_cmr optional Enable Auto delete cloud recordings Deafult: false
auto_delete_cmr_days optional Auto delete cloud recordings after days
dept optional Department for user profile, use for repor
group_id optional User Group ID. If set default user group, the parameter’s default value is the default user group
imgroup_id optional IM Group ID. If set default im group, the parameter’s default value is the default im group

List Users

List all the users on Zoom

Definition

POST https://api.zoom.us/v1/user/list
Zoom.user.list();

Example Request

$ curl https://api.zoom.us/v1/user/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.user.list(function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 5,
  "total_records": 235,
  "page_number": 1,
  "page_size": 50,
  "users": [
    {
      "email": "user@company.com",
      "id": "unique_id",
      "created_at": "2012-11-25T12:00:00Z",
      "first_name": "Zoomie",
      "last_name": "Userton",
      "type": 1,
      "pic_url": "https://www.zoom.us/p/bNsPi",
      "disable_chat": false,
      "enable_e2e_encryption": false,
      "enable_silent_mode": true,
      "disable_group_hd": false,
      "disable_recording": false,
      "enable_cmr": false,
      "enable_auto_recording": false,
      "enable_cloud_auto_recording": false,
      "verified": 0,
      "pmi": 2035134243,
      "meeting_capacity": 0,
      "enable_webinar": true,
      "webinar_capacity": 100,
      "enable_large": false,
      "large_capacity": 0,
      "disable_feedback": false,
      "disable_jbh_reminder": true,
      "enable_breakout_room": false,
      "dept": "Engineer",
      "timezone": "America/Los_Angeles",
      "lastClientVersion": "3.5.44664.0321(mac)",
      "lastLoginTime": "2016-03-23T09:54:41Z",
      "status": 0,
      "token": "",
      "zpk": "",
      "zak": ""
    }
  ]
}
Arguments  
page_size optional The amount of records returns within a single API call. Max of 300 users. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

List Pending Users

List all the pending users on Zoom

Definition

POST https://api.zoom.us/v1/user/pending
Zoom.user.listPending();

Example Request

$ curl https://api.zoom.us/v1/user/pending \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.user.listPending(function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 5,
  "total_records": 235,
  "page_number": 1,
  "page_size": 50,
  "users": [
    {
        "id": "unique_id",
        "email": "user@company.com",
        "first_name": "Zoom",
        "last_name": "User",
        "type": 1,
        "enable_large": false,
        "large_capacity": 0, 
        "enable_webinar": false, 
        "webinar_capacity": 0, 
        "verified": 1,
        "created_at": "2012-11-25T12:00:00Z",
        "status" : 0
    }
  ]
}
Arguments  
page_size optional The amount of records returns within a single API call. Max of 300 users. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Get User

Get a user info on Zoom via user ID

Definition

POST https://api.zoom.us/v1/user/get
Zoom.user.get();

Example Request

$ curl https://api.zoom.us/v1/user/get \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.user.get({id: 'unique_id'}, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "email": "user@company.com",
  "id": "unique_id",
  "account_id": "8af3444232345",
  "created_at": "2012-11-25T12:00:00Z",
  "first_name": "Zoomie",
  "last_name": "Userton",
  "type": 1,
  "token": "adlfjadslfkjasdkljfkjalkadfskjdsafkjdfsajkllajsdfaljsdf",
  "pic_url": "https://www.zoom.us/p/bNsPi",
  "disable_chat": false,
  "enable_e2e_encryption": false,
  "enable_silent_mode": true,
  "disable_group_hd": false,
  "disable_recording": false,
  "enable_cmr": false,
  "enable_record_speaker_view": false,
  "enable_record_gallery_view": false,
  "enable_record_audio_file": false,
  "enable_auto_recording": false,
  "enable_cloud_auto_recording": false,
  "verified": 1,
  "pmi": 2035134243,
  "vanity_url": "https://zoom.us/my/test",
  "meeting_capacity": 0,
  "enable_webinar": true,
  "webinar_capacity": 100,
  "enable_large": false,
  "large_capacity": 0,
  "disable_feedback": false,
  "disable_jbh_reminder": true,
  "enable_breakout_room": true,
  "enable_polling": false,
  "enable_annotation": false,
  "dept": "Engineer",
  "timezone": "America/Los_Angeles",
  "lastClientVersion": "3.5.44664.0321(mac)",
  "lastLoginTime": "2016-03-23T09:54:41Z",
  "status": 0,
  "zpk": "ABzyF_DKLzVcPd-5Wu6zCwlZ3978jn7ZcTHONHrP7Vs.BwYAAAFTY-4XnwAAHCAkMTRlMzRjYzUtMjJmZC00MTQ1LTg2MzUtZmVmYjk3ZDI0NGMyFlYydzlQTzgxUl8yS1pmREtvTWVybVEWVjJ3OVBPODFSXzJLWmZES29NZXJtUQxzb3BoaWUgc3VuNjZkALM0VUVtMTFHTmh3cGFTWlJNMGkxYjhXSXNIZEIzbXZ0VlZwOGg0Q1Jhb1B3LkJnSWdUMjlLVG1KR1YySjNTVnBDZDFwUlpXb3Zhamh1TUUwd2VVVkVaU3QyTDNCQVpUSTNabVJtWkRNNFpqSmhZall5TXpRMk9XVTVOMkUwT1RNeVlUa3lPV1UyTlRnMk5qTm1OV0prT0RVek5URmhNR1l5WTJObVpUTTVNV0V6TTJabU1RQQAAFi1YZ0gzWVg2VDNTZmRqVEI5dEJLMXcAAgE",
  "zak": "eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJjbGllbnQiLCJ1aWQiOiJXWGpRbkRNRVFzdWNVNXYxWXlIV0lBIiwiaXNzIjoid2ViIiwic3R5IjoxMDAsImNsdCI6MCwic3RrIjoiUGpuNXItSEJVb0tXd2lBQVFOR1FndnFKNWVLY19zV1l3VHBHNjdJQm00SS5CZ1FnVDI5S1RtSkdWMkozU1ZwQ2QxcFJaV292YWpodU1FMHdlVVZFWlN0MkwzQkFaVEkzWm1SbVpETTRaakpoWWpZeU16UTJPV1U1TjJFME9UTXlZVGt5T1dVMk5UZzJOak5tTldKa09EVXpOVEZoTUdZeVkyTm1aVE01TVdFek0yWm1NUUFnZFVvemNIQndjRnA1WTBaSFYybEZjbTFoYlZwSEt6VTRkMFprY2pWS1VXOEEiLCJleHAiOjE1MjYyNzQ1NzUsImlhdCI6MTUyNjI2NzM3NSwiYWlkIjoiWG1XeGlnZFVSZWVnTW9ibHY3d3FUQSIsImNpZCI6IiJ9.oMMmw50xEfD2IVaSfxap1OlSbczto-KAM"
}
Arguments  
id required User ID

Get User by Email Address and Login Type

Get a user on Zoom via user email address and login type, return the user info.

Definition

POST https://api.zoom.us/v1/user/getbyemail
Zoom.user.getByEmail();

Example Request

$ curl https://api.zoom.us/v1/user/getbyemail \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d email=user@company.com \
    -d login_type=100
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.user.getByEmail({email: 'user@company.com', type: 100}, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "email": "user@company.com",
  "id": "unique_id",
  "created_at": "2012-11-25T12:00:00Z",
  "first_name": "Zoomie",
  "last_name": "Userton",
  "type": 1,
  "token": "adlfjadslfkjasdkljfkjalkadfskjdsafkjdfsajkllajsdfaljsdf",
  "pic_url": "https://www.zoom.us/p/bNsPi",
  "disable_chat": false,
  "enable_e2e_encryption": false,
  "enable_silent_mode": true,
  "disable_group_hd": false,
  "disable_recording": false,
  "enable_cmr": false,
  "enable_record_speaker_view": false,
  "enable_record_gallery_view": false,
  "enable_record_audio_file": false,
  "enable_auto_recording": false,
  "enable_cloud_auto_recording": false,
  "verified": 1,
  "pmi": 2035134243,
  "vanity_url": "https://zoom.us/my/test",
  "meeting_capacity": 0,
  "enable_webinar": true,
  "webinar_capacity": 100,
  "enable_large": false,
  "large_capacity": 0,
  "disable_feedback": false,
  "disable_jbh_reminder": true,
  "enable_breakout_room": true,
  "enable_polling": false,
  "enable_annotation": false,
  "dept": "Engineer",
  "lastClientVersion": "3.5.44664.0321(mac)",
  "lastLoginTime": "2016-03-23T09:54:41Z",
  "status": 0,
  "zpk": "ABzyF_DKLzVcPd-5Wu6zCwlZ3978jn7ZcTHONHrP7Vs.BwYAAAFTY-4XnwAAHCAkMTRlMzRjYzUtMjJmZC00MTQ1LTg2MzUtZmVmYjk3ZDI0NGMyFlYydzlQTzgxUl8yS1pmREtvTWVybVEWVjJ3OVBPODFSXzJLWmZES29NZXJtUQxzb3BoaWUgc3VuNjZkALM0VUVtMTFHTmh3cGFTWlJNMGkxYjhXSXNIZEIzbXZ0VlZwOGg0Q1Jhb1B3LkJnSWdUMjlLVG1KR1YySjNTVnBDZDFwUlpXb3Zhamh1TUUwd2VVVkVaU3QyTDNCQVpUSTNabVJtWkRNNFpqSmhZall5TXpRMk9XVTVOMkUwT1RNeVlUa3lPV1UyTlRnMk5qTm1OV0prT0RVek5URmhNR1l5WTJObVpUTTVNV0V6TTJabU1RQQAAFi1YZ0gzWVg2VDNTZmRqVEI5dEJLMXcAAgE",
  "zak": "eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJjbGllbnQiLCJ1aWQiOiJXWGpRbkRNRVFzdWNVNXYxWXlIV0lBIiwiaXNzIjoid2ViIiwic3R5IjoxMDAsImNsdCI6MCwic3RrIjoiUGpuNXItSEJVb0tXd2lBQVFOR1FndnFKNWVLY19zV1l3VHBHNjdJQm00SS5CZ1FnVDI5S1RtSkdWMkozU1ZwQ2QxcFJaV292YWpodU1FMHdlVVZFWlN0MkwzQkFaVEkzWm1SbVpETTRaakpoWWpZeU16UTJPV1U1TjJFME9UTXlZVGt5T1dVMk5UZzJOak5tTldKa09EVXpOVEZoTUdZeVkyTm1aVE01TVdFek0yWm1NUUFnZFVvemNIQndjRnA1WTBaSFYybEZjbTFoYlZwSEt6VTRkMFprY2pWS1VXOEEiLCJleHAiOjE1MjYyNzQ1NzUsImlhdCI6MTUyNjI2NzM3NSwiYWlkIjoiWG1XeGlnZFVSZWVnTW9ibHY3d3FUQSIsImNpZCI6IiJ9.oMMmw50xEfD2IVaSfxap1OlSbczto-KAM"
}
Arguments  
email required Email, String
login_type optional Login type of the email, int SNS_FACEBOOK = 0; SNS_GOOGLE = 1; SNS_API = 99; SNS_ZOOM = 100; SNS_SSO = 101;

Update User Info

Update user info on Zoom via user ID.

Definition

POST https://api.zoom.us/v1/user/update
Zoom.user.update();

Example Request

$ curl https://api.zoom.us/v1/user/update \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var user = {
    id : "unique_id",
    first_name: "Zoomie",
    lasst_name: "Userton"
}

Zoom.user.update(user, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "updated_at": "2012-11-25T12:00:00Z"
}
Arguments  
id required User id.
type optional User’s type. 1 means it is a basic user. 2 means a pro user, 3 means a corp user. Basic user can host up to 40 minutes meeting.
first_name optional User’s first name. Cannot contain more than 5 Chinese words.
last_name optional User’s last name. Cannot contain more than 5 Chinese words.
disable_chat optional Disable in-meeting chat. Default: false
enable_e2e_encryption optional Enable end-to-end encryption. Default: false
enable_silent_mode optional Enable attendee on-hold. Default: false
disable_group_hd optional Disable Group HD. Default: false
disable_recording optional Disable recording. Default: false
enable_cmr optional Enable cloud meeting record. Default: false
enable_record_speaker_view optional Enable record the active speaker view.
enable_record_gallery_view optional Enable record the gallery view.
enable_record_audio_file optional Enable record an audio only file.
enable_auto_recording optional Enable automatic recording. By default, if “enable_cloud_auto_recording” is true, it will become true. Default: false
enable_cloud_auto_recording optional Enable cloud automatic recording. Default: false
track_id optional Referral partner track ID.
meeting_capacity optional User’s meeting capacity, passing 0 will inherit account’s meeting capacity Deafult: 0
enable_webinar optional Enable webinar feature true or false.
webinar_capacity optional Enable webinar capacity, can be 100, 500, 1000, 3000, 5000 or 10000, depends on if having related webinar capacity plan subscription or not. Default: 0
enable_large optional Enable large meting feature true or false.
large_capacity optional Enable large meeting capacity, can be 100, 200, 300 or 500, depends on if having related webinar capacity plan subscription or not. Default: 0
disable_feedback optional Disable feedback. Default: false
disable_jbh_reminder optional Disable jbh email reminder. Default: false
enable_breakout_room optional Enable breakout room. Default: false
enable_polling optional Enable polling for meeting. Default: false
enable_annotation optional Enable Annotation. Default: true
enable_share_dual_camera optional Enable Share dual camera. Default: false
enable_far_end_camera_control optional Enable Far end camera control. Default: false
disable_private_chat optional Disable Private chat. Default: false
enable_enter_exit_chime optional Enable Enter/exit chime. Default: false
option_enter_exit_chime_type optional Enter/exit chime type. 0 means Heard by all including host and attendees, 1 means Heard by host only. Default: 0
disable_cancel_meeting_notification optional Disable email notification when a meeting is cancelled. Default: false
enable_remote_support optional Enable Remote support. Default: false
enable_file_transfer optional Enable File transfer. Default: false
enable_virtual_background optional Enable Virtual background. Default: false
enable_attention_tracking optional Enable Attention tracking. Default: false
enable_waiting_room optional Enable Waiting room. Default: false
enable_use_pmi optional Enable Use Personal Meeting ID for instant meetings. Default: false
enable_closed_caption optional Enable Closed caption. Default: false
enable_co_host optional Enable Co-host. Default: false
enable_auto_saving_chats optional Enable Auto saving chats. Default: false
enable_phone_participants_password optional Enable Generate and require password for participants joining by phone. Default: false
enable_auto_delete_cmr optional Enable Auto delete cloud recordings. Default: false
auto_delete_cmr_days optional Auto delete cloud recordings after days.
pmi optional Personal Meeting ID, long, length must be 10.
dept optional Department for user profile, use for report.
timezone optional The time zone id for user profile.
vanity_name optional Personal meeting room name.
host_key optional Host Key should be 6-digit number.
group_id optional User Group ID. If set default user group, the parameter’s default value is the default user group.
imgroup_id optional IM Group ID. If set default im group, the parameter’s default value is the default im group.
cms_user_id optional User ID on external CMS

Update User Password

Update user’s password on Zoom via user ID.

Definition

POST https://api.zoom.us/v1/user/updatepassword
Zoom.user.updatePassword();

Example Request

$ curl https://api.zoom.us/v1/user/updatepassword \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id \
    -d password=P@55w0rd
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var user = {
    id : "unique_id",
    password: "P@55w0rd"
}

Zoom.user.updatePassword(user, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "updated_at": "2013-09-02T12:00:00Z"
}
Arguments  
id required User id.
password required User’s password.

Upload User Picture

Upload and update user’s profile picture on Zoom via user ID.

Definition

POST https://api.zoom.us/v1/user/uploadpicture

Example Request

$ curl https://api.zoom.us/v1/user/uploadpicture \
    -F api_key=your_api_key \
    -F api_secret=your_api_secret \
    -F id=unique_id \
    -F pic_file="@/path/to/pic.jpg"

Example Response

{
  "id": "unique_id",
  "updated_at": "2013-09-02T12:00:00Z"
}
Arguments  
id required User id.
pic_file required User picture file, must be a jpg/jpeg file.

Activate a User

Activate a user on Zoom, return the user ID.

Definition

POST https://api.zoom.us/v1/user/activate

Example Request

$ curl https://api.zoom.us/v1/user/activate \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id

Example Response

{
  "id": "unique_id",
  "activated_at": "2012-11-25T12:00:00Z"
}
Arguments  
id required User id.

Deactivate a User

Deactivate a user on Zoom, return the user ID.

Definition

POST https://api.zoom.us/v1/user/deactivate
Zoom.user.deactivate();

Example Request

$ curl https://api.zoom.us/v1/user/deactivate \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.user.deactivate({id: 'unique_id'}, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "deactivated_at": "2012-11-25T12:00:00Z"
}
Arguments  
id required User id.

Delete a User

Delete a user on Zoom, return the deleted user ID.

Definition

POST https://api.zoom.us/v1/user/delete
Zoom.user.delete();

Example Request

$ curl https://api.zoom.us/v1/user/delete \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.user.delete({id: 'unique_id'}, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "account_id": " unique_id",
  "deleted_at": "2012-11-25T12:00:00Z"
}
Arguments  
id required User id.
type optional 0 means existing user, 1 means pending user. Default: 0

Delete User Permanently

Delete a user from Zoom system permanently.

Definition

POST https://api.zoom.us/v1/user/permanentdelete
Zoom.user.permanentDelete();

Example Request

$ curl https://api.zoom.us/v1/user/permanentdelete \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.user.permanentDelete({id: 'unique_id'}, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "email": "user@company.com",
  "deleted_at": "2013-09-02T12:00:00Z"
}
Arguments  
id optional The user’s user id.
email optional The user’s email address. Must have id or email, if given id, the email is ignored.

Pre Provisioning SSO User

Create a SSO user on Zoom, return the created user ID.

Definition

POST https://api.zoom.us/v1/user/ssocreate
Zoom.user.ssoCreate();

Example Request

$ curl https://api.zoom.us/v1/user/ssocreate \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d email=user@company.com \
    -d type=1
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var user = {
    email: "user@company.com",
    type: 1
}

Zoom.user.ssoCreate(user, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "email": "user@company.com",
  "first_name": "Zoomie",
  "last_name": "Userton",
  "pic_url": "",
  "type": 2,
  "disable_chat": true,
  "disable_private_chat": false,
  "enable_e2e_encryption": false,
  "enable_silent_mode": true,
  "disable_group_hd": false,
  "disable_recording": true,
  "enable_cmr": false,
  "enable_record_speaker_view": false,
  "enable_record_gallery_view": false,
  "enable_record_audio_file": false,
  "enable_auto_recording": false,
  "enable_cloud_auto_recording": false,
  "verified": 0,
  "pmi": 0,
  "vanity_url": "https://abc.zoom.us/my/test126",
  "meeting_capacity": 0,
  "enable_webinar": true,
  "webinar_capacity": 100,
  "enable_large": false,
  "large_capacity": 0,
  "disable_feedback": false,
  "disable_jbh_reminder": false,
  "enable_breakout_room": true,
  "enable_polling": false,
  "enable_annotation": false,
  "dept": "Engineer",
  "timezone": "",
  "created_at": "2015-03-12T05:45:45Z",
  "lastClientVersion": "",
  "lastLoginTime": "",
  "token": "",
  "zpk": "",
  "zak": ""
}
Arguments  
email required A valid email address. It must be unique in Zoom service.
type required User’s type. 1 means it is a basic user. 2 means a pro user, 3 means a corp user. Basic user can host up to 40 minutes meeting.
first_name optional User’s first name. Cannot contain more than 5 Chinese words.
last_name optional User’s last name. Cannot contain more than 5 Chinese words.
meeting_capacity optional User’s meeting capacity, 0 means following account’s meeting capacity. Default: 0
enable_webinar optional Enable webinar feature true or false.
webinar_capacity optional Enable webinar capacity, can be 100, 500, 1000, 3000, 5000 or 10000, depends on if having related webinar capacity plan subscription or not. Default: 0
enable_large optional Enable large meting feature true or false.
large_capacity optional Enable large meeting capacity, can be 100, 200, 300 or 500, depends on if having related webinar capacity plan subscription or not. Default: 0
pmi optional Personal Meeting ID, long, length must be 10.
group_id optional User Group ID. If set default user group, the parameter’s default value is the default user group.
imgroup_id optional IM Group ID. If set default im group, the parameter’s default value is the default im group.

Revoke SSO Token

Revoke a user’s SSO token.

Definition

POST https://api.zoom.us/v1/user/revoketoken
Zoom.user.revokeToken();

Example Request

$ curl https://api.zoom.us/v1/user/revoketoken \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.user.revokeToken({id: 'unique_id'}, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "email": "user@company.com",
  "updated_at": "2013-09-02T12:00:00Z"
}
Arguments  
id optional The SSO user’s user id.
email optional The SSO user’s email address.

Set User Assistant

Set a user’s assistant which can schedule meeting for him.

Definition

POST https://api.zoom.us/v1/user/assistant/set
Zoom.user.setAssistant();

Example Request

$ curl https://api.zoom.us/v1/user/assistant/set \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id \
    -d assistant_email=user@company.com
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var user = {
    host_email: "user@company.com",
    assistant_email: "assistant_user@company.com"
}

Zoom.user.setAssistant(user, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "host_email": "user@company.com",
  "updated_at": "2013-09-02T12:00:00Z"
}
Arguments  
id optional The host’s user id.
host_email optional The host’s email address.
assistant_email required The assistant’s email address.

Delete User Assistant

Delete a user’s assistant.

Definition

POST https://api.zoom.us/v1/user/assistant/delete
Zoom.user.deleteAssistant();

Example Request

$ curl https://api.zoom.us/v1/user/assistant/delete \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var user = {
    host_email: "user@company.com"
}

Zoom.user.deleteAssistant(user, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "host_email": "user@company.com",
  "updated_at": "2013-09-02T12:00:00Z"
}
Arguments  
id optional The host’s user id.
host_email optional The host’s email address.

List Assigned Schedulers

List assigned schedule privilege for host users.

Definition

POST https://api.zoom.us/v1/user/scheduleforhost/list
Zoom.user.schedulers();

Example Request

$ curl https://api.zoom.us/v1/user/scheduleforhost/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var user = {
    host_email: "user@company.com"
}

Zoom.user.schedulers(user, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "total_records": 1,
  "users": [
    {
      "id": "unique_id",
      "email": "user@company.com",
      "first_name": "Zoomie",
      "last_name": "Userton"
    }
  ]
}
Arguments  
id optional The host’s user id.
host_email optional The host’s email address.

Check User Email

Check if the user email exists.

Definition

POST https://api.zoom.us/v1/user/checkemail
Zoom.user.checkEmail();

Example Request

$ curl https://api.zoom.us/v1/user/checkemail \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d email=user@company.com
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.user.checkEmail({email: "user@company.com"}, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "existed_email": true
}
Arguments  
email required User email.

Check User ZPK

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

Definition

POST https://api.zoom.us/v1/user/checkzpk
Zoom.user.checkZPK();

Example Request

$ curl https://api.zoom.us/v1/user/checkzpk \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d zpk=<USER_ZPK> 
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.user.checkZPK({zpk: "unique_zpk"}, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "expire_in": 7187
}
Arguments  
zpk required User zpk.

Meeting

The following API calls go over the creation, management, and deleting of Meetings through Zooms REST API calls.

Create A Meeting

Create a meeting on Zoom, return the created meeting URL

Definition

POST https://api.zoom.us/v1/meeting/create
Zoom.meeting.create();

Example Request

$ curl https://api.zoom.us/v1/meeting/create \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d host_id=unique_id \
    -d type=1 \
    -d topic="Meeting Topic" 
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var meeting = {
    host_id: "unique_id",
    type: 1,
    topic: "Meeting Topic"
}

Zoom.meeting.create(meeting, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "uuid": "unique_id",
  "id": "123456789",
  "real_id": "123456789",
  "start_url": "https://zoom.us/s/123456789?zak=xxxxxx",
  "join_url": "https://zoom.us/j/123456789",
  "created_at": "2012-11-25T12:00:00Z",
  "host_id": "unique_id",
  "topic": "Topic for this meeting",
  "type": 2,
  "option_jbh": false,
  "option_start_type": "video",
  "start_time": "2012-11-25T12:00:00Z",
  "duration": 30,
  "timezone": "America/Los_Angeles",
  "password": "123",
  "h323_password": "123456",
  "option_host_video": false,
  "option_participants_video": false,
  "option_audio": "both",
  "option_enforce_login": false,
  "option_enforce_login_domains ": "",
  "option_alternative_hosts": "",
  "status": 0
}
Arguments  
host_id required Meeting host user ID. Can be any user under this account. Cannot be updated after creation.
type required Meeting type: 1 means instant meeting (Only used for host to start it as soon as created). 2 means normal scheduled meeting. 3 means a recurring meeting with no fixed time. 8 means a recurring meeting with fixed time. Default: 2
topic required Meeting topic. Max of 300 characters.
start_time optional Meeting start time in ISO datetime format. For scheduled meeting and recurring meeting with fixed time. Should be UTC time, such as 2012-11-25T12:00:00Z.
duration optional Meeting duration (minutes). For scheduled meeting only.
timezone optional Timezone to format start_time, like “America/Los_Angeles”. For scheduled meeting only. For this parameter value please refer to the id value in timezone list.
password optional Meeting password. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters.
recurrence optional Recurrence Meeting Settings. For recurring meeting with fixed time only. See Recurrence Object for more details.
option_registration optional Registration required. Default: false
registration_type optional Registration type. 1 means Attendees register once and can attend any of the occurrences, 2 means Attendees need to register for each occurrence to attend, 3 means Attendees register once and can choose one or more occurrences to attend. For recurring meeting with fixed time only. Default: 1
option_jbh optional Join meeting before host start the meeting. Only for scheduled or recurring meetings. Default: false
option_start_type optional Meeting start type. Can be “video” or “screen_share”. (deprecated) Default: video
option_host_video optional Start video when host join meeting. Default: true
option_participants_video optional Start video when participants join meeting. Default: true
option_cn_meeting optional Host meeting in China. Default: false
option_in_meeting optional Host meeting in India. Default: false
option_audio optional Meeting audio options. Can be “both”, “telephony”, “voip”. Default: both
option_enforce_login optional Only signed-in users can join this meeting. Default: false
option_enforce_login_domains optional Only signed-in users with specified domains can join meetings.
option_alternative_hosts optional Alternative hosts.
option_alternative_host_ids optional Alternative hosts IDs.
option_use_pmi optional Use Personal Meeting ID. Only for scheduled meetings. Default: false
option_auto_record_type optional Automatically record type. Can be “local”, “cloud” or “none”. Default: local

List Meetings

List all the scheduled meetings on Zoom.

Definition

POST https://api.zoom.us/v1/meeting/list
Zoom.meeting.list();

Example Request

$ curl https://api.zoom.us/v1/meeting/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d host_id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var meeting = {
    host_id: "unique_id"
}

Zoom.meeting.list(meeting, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 5,
  "total_records": 235,
  "page_number": 1,
  "page_size": 50,
  "meetings": [
    {
      "uuid": "unique_id",
      "id": "123456789",
      "start_url": "https://zoom.us/s/123456789?zak=xxxxxx",
      "join_url": "https://zoom.us/j/123456789",
      "created_at": "2012-11-25T12:00:00Z",
      "host_id": "unique_id",
      "topic": "Topic for this meeting",
      "type": 2,
      "start_time": "2012-11-25T12:00:00Z",
      "duration": 30,
      "timezone": "America/Los_Angeles",
      "password": "123",
      "h323_password": "123456",
      "option_jbh": false,
      "option_start_type": "video",
      "option_host_video": false,
      "option_participants_video": false,
      "option_audio": "both",
      "option_enforce_login": false,
      "option_enforce_login_domains ": "",
      "option_alternative_hosts": "",
      "status": 0
    }
  ]
}
Arguments  
host_id required Meeting host user ID. Can be any user under this account.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 300 meetings. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

List Live Meetings

Lists the live meetings on Zoom.

Definition

POST https://api.zoom.us/v1/meeting/live
Zoom.meeting.listLive();

Example Request

$ curl https://api.zoom.us/v1/meeting/live \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.meeting.listLive(function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 5,
  "total_records": 235,
  "page_number": 1,
  "page_size": 50,
  "meetings": [
    {
      "uuid": "unique_id",
      "id": "123456789",
      "start_url": "https://zoom.us/s/123456789?zak=xxxxxx",
      "join_url": "https://zoom.us/j/123456789",
      "created_at": "2012-11-25T12:00:00Z",
      "host_id": "unique_id",
      "topic": "Topic for this meeting",
      "type": 2,
      "status": 0,
      "start_time": "2012-11-25T12:00:00Z",
      "duration": 30,
      "timezone": "America/Los_Angeles",
      "password": "123",
      "h323_password": "123456",
      "option_jbh": false,
      "option_start_type": "video",
      "option_host_video": false,
      "option_participants_video": false,
      "option_audio": "both",
      "option_enforce_login": false,
      "option_enforce_login_domains ": "",
      "option_alternative_hosts": ""
    }
  ]
}
Arguments  
page_size optional The amount of records returns within a single API call. Max of 300 meetings. Default: 30
page_number optional Current page number of returned records. Default: 1

Get Meeting Info

Get a meeting on Zoom via meeting ID, return the meeting info.

Definition

POST https://api.zoom.us/v1/meeting/get
Zoom.meeting.end();

Example Request

$ curl https://api.zoom.us/v1/meeting/get \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=123456789 \
    -d host_id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var meeting = {
    id: 123456789,
    host_id: "unique_id"
}

Zoom.meeting.get(meeting, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "uuid": "unique_id",
  "id": 123456789,
  "host_id": "unique_id",
  "topic": "Zoom Meeting",
  "password": "",
  "h323_password": "",
  "status": 0,
  "option_jbh": false,
  "option_start_type": "video",
  "option_host_video": true,
  "option_participants_video": true,
  "option_cn_meeting": false,
  "option_enforce_login": false,
  "option_enforce_login_domains": "",
  "option_in_meeting": false,
  "option_audio": "both",
  "option_alternative_hosts": "",
  "option_use_pmi": false,
  "type": 8,
  "start_time": "",
  "duration": 0,
  "timezone": "Asia/Hong_Kong",
  "start_url": "https://www.zoom.us/s/123456789?zak=xxxxxx",
  "join_url": "https://www.zoom.us/j/123456789",
  "created_at": "2016-12-20T02:51:42Z",
  "occurrences": [
    {
      "occurrence_id": "1483210260000",
      "start_time": "2017-01-01T02:51:00Z",
      "duration": 60,
      "status": "available"
    }
  ]
}
Arguments  
id required Meeting ID.
host_id required Meeting host user ID. Can be any user under this account.

Update Meeting Info

Update meeting info on Zoom via meeting ID.

Definition

POST https://api.zoom.us/v1/meeting/update
Zoom.meeting.update();

Example Request

$ curl https://api.zoom.us/v1/meeting/update \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id \
    -d host_id=unique_id \
    -d type=1
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var meeting = {
    id: "unique_id",
    host_id: "unique_id",
    type: 1
}

Zoom.meeting.update(meeting, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "updated_at": "2012-11-25T12:00:00Z"
}
Arguments  
id required Meeting ID.
host_id required Meeting host user ID. Can be any user under this account. Used to retrieve a meeting, cannot be updated.
type required Meeting type: 1 means instant meeting (Only used for host to start it as soon as created). 2 means normal scheduled meeting. 3 means a recurring meeting with no fixed time. 8 means a recurring meeting with fixed time. Default: 2
topic optional Meeting topic. Max of 300 characters.
start_time optional Meeting start time in ISO datetime format. For scheduled meeting only. Should be UTC time, such as 2012-11-25T12:00:00Z.
duration optional Meeting duration (minutes). For scheduled meeting only.
timezone optional Timezone to format start_time, like “America/Los_Angeles”. For scheduled meeting only. For this parameter value please refer to the id value in timezone list.
password optional Meeting password. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters.
recurrence optional Recurrence Meeting Settings. For recurring meeting with fixed time only. See Recurrence Object for more details.
option_registration optional Registration required. Default: false
registration_type optional Registration type. 1 means Attendees register once and can attend any of the occurrences, 2 means Attendees need to register for each occurrence to attend, 3 means Attendees register once and can choose one or more occurrences to attend. For recurring meeting with fixed time only. Default: 1
option_jbh optional Join meeting before host start the meeting. Only for scheduled or recurring meetings. Default: false
option_start_type optional Meeting start type. Can be “video” or “screen_share”. (deprecated) Default: video
option_host_video optional Start video when host join meeting. Default: true
option_participants_video optional Start video when participants join meeting. Default: true
option_cn_meeting optional Host meeting in China. Default: false
option_in_meeting optional Host meeting in India. Default: false
option_audio optional Meeting audio options. Can be “both”, “telephony”, “voip”. Default: both
option_enforce_login optional Only signed-in users can join this meeting. Default: false
option_enforce_login_domains optional Only signed-in users with specified domains can join meetings.
option_alternative_hosts optional Alternative hosts.
option_alternative_host_ids optional Alternative hosts IDs.
option_use_pmi optional Use Personal Meeting ID. Only for scheduled meetings. Default: false
option_auto_record_type optional Automatically record type. Can be “local”, “cloud” or “none”. Default: local

Delete A Meeting

Delete a meeting on Zoom, return the deleted meeting ID.

Definition

POST https://api.zoom.us/v1/meeting/delete
Zoom.meeting.delete();

Example Request

$ curl https://api.zoom.us/v1/meeting/delete \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id \
    -d host_id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var meeting = {
    id: unique_id,
    host_id: "unique_id"
}

Zoom.meeting.delete(meeting, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": 123456789,
  "deleted_at": "2012-11-25T12:00:00Z"
}
Arguments  
id required Meeting ID.
host_id required Meeting host user ID. Can be any user under this account.
occurrence_id optional Occurrence ID, could get this value from Meeting Get API.

End A Meeting

End a meeting on Zoom, return the deleted meeting ID.

Definition

POST https://api.zoom.us/v1/meeting/end
Zoom.meeting.end();

Example Request

$ curl https://api.zoom.us/v1/meeting/end \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id \
    -d host_id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var meeting = {
    id: unique_id,
    host_id: "unique_id"
}

Zoom.meeting.end(meeting, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": 123456789,
  "ended_at": "2012-11-25T12:00:00Z"
}
Arguments  
id required Meeting ID.
host_id required Meeting host user ID. Can be any user under this account.

Meeting Registration

Register for a meeting.

Definition

POST https://api.zoom.us/v1/meeting/register
Zoom.meeting.register();

Example Request

$ curl https://api.zoom.us/v1/meeting/register \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id \
    -d email="user@company.com" \
    -d first_name=Zoomie \
    -d last_name=Userton
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var registration = {
    id: "unique_id",
    email: "user@company.com",
    first_name: "Zoomie",
    last_name: "Userton"
}

Zoom.meeting.register(registration, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "registrant_id": "unique_id",
  "id": 123456789,
  "topic": "meeting registration",
  "start_time": "2016-02-21T04:00:00Z",
  "join_url": "https://www.zoom.us/w/869275230?tk=2DsQiu6nZVsZVATrPLvXgqPvw8mmKyxgAGaDMizLv34.DQEAAAAAM9AWXhZ2Nm5vRjIyMlRoUzE3ZktWM3l4cHVRAA"
}
Arguments  
id required Meeting ID.
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. For this parameter value please refer to the id value in country list
zip optional Zip/Postal Code.
state optional State/Province.
phone optional Phone.
industry optional Industry.
org optional Organization.
job_title optional Job Title.
purchasing_time_frame optional Purchasing Time Frame, should be “Within a month”, “1-3 months”, “4-6 months”, “More than 6 months”, “No timeframe”.
role_in_purchase_process optional Role in Purchase Process, should be “Decision Maker”, “Evaluator/Recommender”, “Influencer”, “Not involved”.
no_of_employees optional Number of Employees, should be “1-20”, “21-50”, “51-100”, “101-250”, “251-500”, “501-1,000”, “1,001-5,000”, “5,001-10,000”, “More than 10,000”.
comments optional Questions & Comments.
custom_questions optional Custom Questions, should be JSON format: [{“title”:“field_name1”,“value”:“xxx”},{“title”:“field_name2”,“value”:“xxx”}].
language optional Language setting of email. This value should be “en-US”, “en”, “zh-CN”, “zh”, “en-ES”, “es”, “fr-FR” or “fr”.
occurrence_ids optional Occurrence IDs, could get this value from Meeting Get API.

Webinar

The following API calls go over the creation, management, and deleting of Webinars through Zooms REST API calls.

Create A Webinar

Create a webinar on Zoom, return the created webinar start and join URL.

Definition

POST https://api.zoom.us/v1/webinar/create
Zoom.webinar.create();

Example Request

$ curl https://api.zoom.us/v1/webinar/create \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d host_id="unique_id" \
    -d topic="Meeting Topic" \
    -d type=1
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    host_id: "unique_id",
    topic: "Meeting Topic",
    type: 1
}

Zoom.webinar.create(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "uuid": "unique_id",
  "id": "123456789",
  "host_id": "unique_id",
  "topic": "create webinar via rest api",
  "agenda": "",
  "status": 0,
  "option_start_type": "video",
  "option_audio": "both",
  "option_enforce_login": false,
  "option_enforce_login_domains ": "",
  "option_alternative_hosts": "",
  "type": 5,
  "start_time": " 2015-02-08T12:50:30Z",
  "duration": 0,
  "timezone": "America/Los_Angeles",
  "start_url": "https://zoom.us/s/123456789?zak=xxxxxx",
  "join_url": "https://zoom.us/j/123456789",
  "registration_url": "",
  "created_at": "2015-01-22T07:09:49Z"
}
Arguments  
host_id required Webinar host user ID. Can be any user under this account. Cannot be updated after creation.
topic required Webinar topic. Max of 300 characters.
type required 5 webinar, 6 recurrence webinar, 9 recurring webinar(With Fixed Time) Default: 5
start_time optional Webinar start time in ISO datetime format. For scheduled webinar only. Should be UTC time, such as 2012-11-25T12:00:00Z.
duration optional Webinar duration (minutes). For scheduled webinar only.
timezone optional Timezone to format start_time, like “America/Los_Angeles”. For scheduled Webinar only. For this parameter value please refer to the id value in timezone list.
password optional Webinar password. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters.
recurrence optional Recurrence Webinar Settings. For recurring webinar with fixed time only. See Recurrence Object for more details.
approval_type optional Approval type. 0 means Automatically Approve. 1 means Manually Approve. 2 means No Registration Required. Default: 2
registration_type optional Registration type. 1 means Attendees register once and can attend any of the occurrences, 2 means Attendees need to register for each occurrence to attend, 3 means Attendees register once and can choose one or more occurrences to attend. For recurring meeting with fixed time only. Default: 1
agenda optional Webinar description.
option_audio optional Webinar audio options. Can be “both”, “telephony”, “voip”. Default: both
option_host_video optional Start video when host join Webinar. Default: true
option_panelist_video optional Start video when panelist join Webinar. Default: true
option_practice_session optional Enable Practice Session. Default: false
option_enforce_login optional Only signed-in users can join this Webinar. Default: false
option_enforce_login_domains optional Only signed-in users with specified domains can join Webinar.
option_alternative_hosts optional Alternative hosts.
option_alternative_host_ids optional Alternative hosts IDs.
option_auto_record_type optional Automatically record type. Can be “local”, “cloud” or “none”. Default: local
option_panelists_reminder optional Invitation Email to Panelists
option_close_registration optional Close registration after event date.
option_show_share_button optional Show social share buttons on registration page.
option_allow_multiple_devices optional Allow attendees to join from multiple devices.
panelists optional Webinar Panelists, should be JSON format: [{“name”:“xxx”,“email”:“test1@zoom.us”}, {“name”:“xxx”,“email”:“test2@zoom.us”}].
language optional Language setting of email to panelists. This value should be “en-US”, “en”, “zh-CN”, “zh”, “en-ES”, “es”, “fr-FR” or “fr”.

List Webinars

List all registrationless Webinars on Zoom

Definition

POST https://api.zoom.us/v1/webinar/list
Zoom.webinar.list();

Example Request

$ curl https://api.zoom.us/v1/webinar/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d host_id="unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    host_id: "unique_id"
}

Zoom.webinar.list(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 5,
  "total_records": 235,
  "page_number": 1,
  "page_size": 50,
  "webinars": [
    {
      "uuid": "unique_id",
      "id": "123456789",
      "start_url": "https://zoom.us/s/123456789?zak=xxxxxx",
      "join_url": "https://zoom.us/j/123456789",
      "created_at": "2012-11-25T12:00:00Z",
      "host_id": "unique_id",
      "topic": "Topic for this meeting",
      "type": 5,
      "start_time": "2012-11-25T12:00:00Z",
      "duration": 30,
      "timezone": "America/Los_Angeles",
      "agenda": "",
      "option_start_type": "video",
      "option_audio": "both",
      "option_enforce_login": false,
      "option_enforce_login_domains ": "",
      "option_alternative_hosts": "",
      "status": 0
    }
  ]
}
Arguments  
host_id required Webinar host user ID. Can be any user who enabled webinar under this account.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 300 meetings. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Get Webinar Info

Get a Webinar on Zoom via Webinar ID, return the Webinar info

Definition

POST https://api.zoom.us/v1/webinar/get
Zoom.webinar.get();

Example Request

$ curl https://api.zoom.us/v1/webinar/get \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d host_id="unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    id: "unique_id",
    host_id: "unique_id"
}

Zoom.webinar.get(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "uuid": "unique_id",
  "id": "123456789",
  "start_url": "https://zoom.us/s/123456789?zak=xxxxxx",
  "join_url": "https://zoom.us/j/123456789",
  "registration_url": "",
  "created_at": "2012-11-25T12:00:00Z",
  "host_id": "unique_id",
  "topic": "Topic for this meeting",
  "type": 5,
  "start_time": "2012-11-25T12:00:00Z",
  "duration": 30,
  "timezone": "America/Los_Angeles",
  "agenda": "",
  "option_start_type": "video",
  "option_audio": "both",
  "option_enforce_login": false,
  "option_enforce_login_domains ": "",
  "option_alternative_hosts": "",
  "status": 0,
  "occurrences": [
    {
      "occurrence_id": "1483210260000",
      "start_time": "2017-01-01T02:51:00Z",
      "duration": 60,
      "status": "available"
    }
  ]
}
Arguments  
id required Webinar ID.
host_id required Webinar host user ID. Can be any user who enabled webinar under this account.

Update Webinar Info

Update Webinar info on Zoom via Webinar ID

Definition

POST https://api.zoom.us/v1/webinar/update
Zoom.webinar.update();

Example Request

$ curl https://api.zoom.us/v1/webinar/update \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d host_id="unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    id: "unique_id",
    host_id: "unique_id"
}

Zoom.webinar.update(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": 123456789,
  "updated_at": "2012-11-25T12:00:00Z"
}
Arguments  
id required Webinar ID.
host_id required Webinar host user ID. Can be any user under this account. Cannot be updated after creation.
topic optional Webinar topic. Max of 300 characters.
type optional 5 webinar, 6 recurrence webinar, 9 recurring webinar(With Fixed Time) Default: 5
start_time optional Webinar start time in ISO datetime format. For scheduled webinar only. Should be UTC time, such as 2012-11-25T12:00:00Z.
duration optional Webinar duration (minutes). For scheduled webinar only.
timezone optional Timezone to format start_time, like “America/Los_Angeles”. For scheduled Webinar only. For this parameter value please refer to the id value in timezone list.
password optional Webinar password. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters.
recurrence optional Recurrence Webinar Settings. For recurring webinar with fixed time only. See Recurrence Object for more details.
approval_type optional Approval type. 0 means Automatically Approve. 1 means Manually Approve. 2 means No Registration Required. Default: 2
registration_type optional Registration type. 1 means Attendees register once and can attend any of the occurrences, 2 means Attendees need to register for each occurrence to attend, 3 means Attendees register once and can choose one or more occurrences to attend. For recurring meeting with fixed time only. Default: 1
agenda optional Webinar description.
option_audio optional Webinar audio options. Can be “both”, “telephony”, “voip”. Default: both
option_host_video optional Start video when host join Webinar. Default: true
option_panelist_video optional Start video when panelist join Webinar. Default: true
option_practice_session optional Enable Practice Session.
option_enforce_login optional Only signed-in users can join this Webinar. Default: false
option_enforce_login_domains optional Only signed-in users with specified domains can join Webinar.
option_alternative_hosts optional Alternative hosts.
option_alternative_host_ids optional Alternative hosts IDs.
option_auto_record_type optional Automatically record type. Can be “local”, “cloud” or “none”. Default: local
option_panelists_reminder optional Invitation Email to Panelists
option_close_registration optional Close registration after event date.
option_show_share_button optional Show social share buttons on registration page.
option_allow_multiple_devices optional Allow attendees to join from multiple devices.
panelists optional Webinar Panelists, should be JSON format: [{“name”:“xxx”,“email”:“test1@zoom.us”}, {“name”:“xxx”,“email”:“test2@zoom.us”}].
language optional Language setting of email to panelists. This value should be “en-US”, “en”, “zh-CN”, “zh”, “en-ES”, “es”, “fr-FR” or “fr”.

Delete A Webinar

Delete a webinar on Zoom, return the deleted webinar ID.

Definition

POST https://api.zoom.us/v1/webinar/delete
Zoom.webinar.delete();

Example Request

$ curl https://api.zoom.us/v1/webinar/delete \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d host_id="unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    id: "unique_id",
    host_id: "unique_id"
}

Zoom.webinar.delete(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": 123456789,
  "deleted_at": "2012-11-25T12:00:00Z"
}
Arguments  
id required Webinar ID.
host_id required webinar host user ID. Can be any user who enabled webinar under this account.
occurrence_id optional Occurrence ID, could get this value from Webinar Get API.

End A Webinar

End a Webinar on Zoom, return the deleted Webinar ID

Definition

POST https://api.zoom.us/v1/webinar/end
Zoom.webinar.end();

Example Request

$ curl https://api.zoom.us/v1/webinar/end \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d host_id="unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    id: "unique_id",
    host_id: "unique_id"
}

Zoom.webinar.end(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "",
  "ended_at": "2012-11-25T12:00:00Z"
}
Arguments  
id required Webinar ID.
host_id required Webinar host user ID. Can be any user who enabled webinar under this account.

Register for Webinar

Register for a webinar

Definition

POST https://api.zoom.us/v1/webinar/register
Zoom.webinar.register();

Example Request

$ curl https://api.zoom.us/v1/webinar/register \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d email="user@company.com" \
    -d first_name="Zoomie" \
    -d last_name="Userton"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var registration = {
    id: "unique_id",
    email: "user@company.com",
    first_name: "Zoomie",
    last_name: "Userton"
}

Zoom.webinar.register(registration, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "registrant_id": "unique_id",
  "id": 123456789,
  "topic": "webinar registration",
  "start_time": "2016-02-21T04:00:00Z",
  "join_url": "https://www.zoom.us/w/123456789?tk=2DsQiu6nZVsZVATrPLvXgqPvw8mmKyxgAGaDMizLv34.DQEAAAAAM9AWXhZ2Nm5vRjIyMlRoUzE3ZktWM3l4cHVRAA"
}
Arguments  
id required Webinar ID.
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. For this parameter value please refer to the id value in country list
zip optional Zip/Postal Code.
state optional State/Province.
phone optional Phone.
industry optional Industry.
org optional Organization.
job_title optional Job Title.
purchasing_time_frame optional Purchasing Time Frame, should be “Within a month”, “1-3 months”, “4-6 months”, “More than 6 months”, “No timeframe”.
role_in_purchase_process optional Role in Purchase Process, should be “Decision Maker”, “Evaluator/Recommender”, “Influencer”, “Not involved”.
no_of_employees optional Number of Employees, should be “1-20”, “21-50”, “51-100”, “101-250”, “251-500”, “501-1,000”, “1,001-5,000”, “5,001-10,000”, “More than 10,000”.
comments optional Questions & Comments.
custom_questions optional Custom Questions, should be JSON format: [{“title”:“field_name1”,“value”:“xxx”},{“title”:“field_name2”,“value”:“xxx”}].
language optional Language setting of email. This value should be “en-US”, “en”, “zh-CN”, “zh”, “en-ES”, “es”, “fr-FR” or “fr”.
occurrence_ids optional Occurrence IDs, could get this value from Webinar Get API.

List Registration Webinars

List all the upcoming registration-based Webinars on Zoom

Definition

POST https://api.zoom.us/v1/webinar/list/registration
Zoom.webinar.listRegistration();

Example Request

$ curl https://api.zoom.us/v1/webinar/list/registration \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d host_id="unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    host_id: "unique_id"
}

Zoom.webinar.listRegistration(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 5,
  "total_records": 235,
  "page_number": 1,
  "page_size": 50,
  "webinars": [
    {
      "uuid": "unique_id",
      "id": "123456789",
      "start_url": "https://zoom.us/s/123456789?zak=xxxxxx",
      "join_url": "https://zoom.us/j/123456789",
      "created_at": "2012-11-25T12:00:00Z",
      "host_id": "unique_id",
      "topic": "Topic for this Webinar",
      "type": 5,
      "start_time": "2012-11-25T12:00:00Z",
      "duration": 30,
      "timezone": "America/Los_Angeles",
      "agenda": "",
      "option_start_type": "video",
      "option_audio": "both",
      "status": 0
    }
  ]
}
Arguments  
host_id required Webinar host user ID. Can be any user who enabled webinar under this account.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 300 meetings. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Get Webinar Registration Info

Gather Webinar registrants info

Definition

POST https://api.zoom.us/v1/webinar/registration
Zoom.webinar.getRegistration();

Example Request

$ curl https://api.zoom.us/v1/webinar/registration \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d host_id="unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    id: "unique_id",
    host_id: "unique_id"
}

Zoom.webinar.getRegistration(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "total_records": 1,
  "attendees": [
    {
      "id": "unique_id",
      "first_name": "Zoomie",
      "last_name": "Userton",
      "create_time": "2015-08-23T03:03:48Z",
      "approval": "approved",
      "email": "user@company.com",
      "registration_url": "https://api.zoom.us/w/206388466?tk=n8-qbK4ocC73mPjIRlheMksYPxeWAhnktoUZq_xAqg8.DQEAAAAADE088hZKTXcxTllpelFjZXNfNDg0NlNKQ3lRAA"
    }
  ]
}
Arguments  
id required Webinar ID.
host_id required Webinar host user ID. Can be any user who enabled webinar under this account.
occurrence_id optional Occurrence ID, could get this value from Webinar Get API.
page_size optional The amount of records returns within a single API call. Defaults to 30. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Cancel Webinar Registration

Cancel Webinar Registration

Definition

POST https://api.zoom.us/v1/webinar/registration/cancel
Zoom.webinar.cancelRegistration();

Example Request

$ curl https://api.zoom.us/v1/webinar/registration/cancel \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d host_id="unique_id"
    -d registrants_ids="unique_id,unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    id: "unique_id",
    host_id: "unique_id",
    registrants_ids: "unique_id,unique_id"
}

Zoom.webinar.cancelRegistration(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "844495467",
  "updated_at": "2016-11-29T01:26:43Z"
}
Arguments  
id required Webinar ID.
host_id required Webinar host user ID. Can be any user who enabled webinar under this account.
occurrence_id optional Occurrence ID, could get this value from Webinar Get API.
registrant_ids required Webinar registrant IDs, separated by comma. Max of 15 registrants.

List Webinar Registrants

List webinar registrants on Zoom, include pending approval registrants and approved registrants.

Definition

POST https://api.zoom.us/v1/webinar/registrants/list
Zoom.webinar.listRegistrations();

Example Request

$ curl https://api.zoom.us/v1/webinar/registrants/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d host_id="unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    id: "unique_id",
    host_id: "unique_id"
}

Zoom.webinar.listRegistrations(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "total_records": 1,
  "type": 0,
  "users": [
    {
      "id": "unique_id",
      "first_name": "Zoomie",
      "last_name": "Userton",
      "email": "user@company.com",
      "registration_time": "2016-08-18T01:45:26Z"
    }
  ]
}
Arguments  
id required Webinar ID.
host_id required Webinar host user ID. Can be any user who enabled webinar under this account.
type optional 0 means pending approval registrants, 1 means approved registrants. Default: 0
page_size optional The amount of records returns within a single API call. Defaults to 30. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Approve Pending Registrants

Approve pending registrants on Zoom Webinar.

Definition

POST https://api.zoom.us/v1/webinar/registrants/approve
Zoom.webinar.approveRegistration();

Example Request

$ curl https://api.zoom.us/v1/webinar/registrants/approve \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d host_id="unique_id" \
    -d registrants_ids="unique_id,unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    id: "unique_id",
    host_id: "unique_id",
    registrants_ids: "unique_id,unique_id"
}

Zoom.webinar.approveRegistration(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "421431292",
  "updated_at": "2016-08-18T02:11:40Z"
}
Arguments  
id required Webinar ID.
host_id required Webinar host user ID. Can be any user who enabled webinar under this account.
registrant_ids required Pending approval registrant ids.

Get Webinar Panelists

Get all the Webinar Panelists on Zoom

Definition

POST https://api.zoom.us/v1/webinar/panelists
Zoom.webinar.listPanelists();

Example Request

$ curl https://api.zoom.us/v1/webinar/panelists \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d host_id="unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    id: "unique_id",
    host_id: "unique_id"
}

Zoom.webinar.listPanelists(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "total_records": 1,
  "panelists": [
    {
      "name": "Zoomie Userton",
      "email": "user@company.com",
      "join_url": "https://www.zoom.us/w/552681828?tk=TMnju_IjiU7Fx3eSkrajn2irvyMBNQ4XCW6cutSPntg.DQEAAAAAIPFBZBYwbzhKUUlXVVN3bW9Ed05QUmdvU2hBAA"
    }
  ]
}
Arguments  
id required Webinar ID.
host_id required Webinar host user ID. Can be any user who enabled webinar under this account.

Get Ended Webinar UUID

Get ended webinar UUID.

Definition

POST https://api.zoom.us/v1/webinar/uuid/list
Zoom.webinar.getUUID();

Example Request

$ curl https://api.zoom.us/v1/webinar/uuid/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d host_id="unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    id: "unique_id",
    host_id: "unique_id"
}

Zoom.webinar.getUUID(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "webinars": [
    {
      "uuid": "unique_id",
      "start_time": "2015-08-23T03:03:48Z"
    }
  ]
}
Arguments  
id required Webinar ID.
host_id required Webinar host user ID. Can be any user who enabled webinar under this account.

Get Ended Webinar Attendees

Get ended webinar attendees

Definition

POST https://api.zoom.us/v1/webinar/attendees/list
Zoom.webinar.getAttendees();

Example Request

$ curl https://api.zoom.us/v1/webinar/attendees/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d host_id="unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    id: "unique_id",
    host_id: "unique_id"
}

Zoom.webinar.getAttendees(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "attendees": [
    {
      "first_name": "Zoomie",
      "last_name": "Userton",
      "email": "user@company.com",
      "join_time": "2015-09-18T09:41:39Z",
      "leave_time": "2015-09-18T09:42:12Z",
      "time_in_session": "8",
      "attended": "Yes",
      "custom_questions": {
        "ssssss": " sssss",
        "which one do you like?": "sss"
      },
      "questions": {
        "country": "US",
        "address": "1234 Some Street",
        "city": "Zoomville"
      }
    }
  ]
}
Arguments  
id required Webinar ID.
host_id required Webinar host user ID. Can be any user who enabled webinar under this account.
uuid optional Webinar uuid. It can be fetched by /v1/webinar/uuid/list.

Get Ended Webinar Polls

Get Ended Webinar Polls

Definition

POST https://api.zoom.us/v1/webinar/polls
Zoom.webinar.getPolls();

Example Request

$ curl https://api.zoom.us/v1/webinar/polls \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d host_id="unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    id: "unique_id",
    host_id: "unique_id"
}

Zoom.webinar.getPolls(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": 123456789,
  "uuid": "unique_id",
  "start_time": "2017-02-09T07:15:48Z",
  "questions": [
    {
      "name": "Zoomie Userton",
      "email": "user@company.com",
      "question_details": [
        {
          "question": "question?",
          "answer": "answer"
        }
      ]
    }
  ]
}
Arguments  
id required Webinar ID.
host_id required Webinar host user ID. Can be any user who enabled webinar under this account.
uuid optional Webinar uuid. It can be fetched by /v1/webinar/uuid/list.

Get Ended Webinar Q&A

Get Ended Webinar Q&A

Definition

POST https://api.zoom.us/v1/webinar/questions
Zoom.webinar.getQuestions();

Example Request

$ curl https://api.zoom.us/v1/webinar/questions \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d host_id="unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var webinar = {
    id: "unique_id",
    host_id: "unique_id"
}

Zoom.webinar.getQuestions(webinar, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": 123456789,
  "uuid": "unique_id",
  "start_time": "2017-02-09T07:15:48Z",
  "questions": [
    {
      "name": "Zoomie Userton",
      "email": "user@company.com",
      "question_details": [
        {
          "question": "question?",
          "answer": "answer"
        }
      ]
    }
  ]
}
Arguments  
id required Webinar ID.
host_id required Webinar host user ID. Can be any user who enabled webinar under this account.
uuid optional Webinar uuid. It can be fetched by /v1/webinar/uuid/list.

Group

The following API calls go over the creation, management, and deleting of Groups through Zooms REST API calls.

Create A Group

Create a group on Zoom, return the new group info.

Definition

POST https://api.zoom.us/v1/group/create
Zoom.group.create();

Example Request

$ curl https://api.zoom.us/v1/group/create \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d name="New Group Test"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var group = {
    name: "Group Name"
}

Zoom.group.create(group, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "group_id": "unique_id",
  "account_id": "unique_id",
  "name": "New Group Test",
  "total_members": 0
}
Arguments  
name required Group name, must be unique in one account.

List Groups

List all groups on your Zoom account.

Definition

POST https://api.zoom.us/v1/group/list
Zoom.group.list();

Example Request

$ curl https://api.zoom.us/v1/group/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.group.list(function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "total_records": 1,
  "groups": [
    {
      "group_id": "unique_id",
      "account_id": "unique_id",
      "name": "Group Test1",
      "total_members": 40
    }
  ]
}
Arguments  

Get Group Info

Get a group on Zoom via ID, return the group info.

Definition

POST https://api.zoom.us/v1/group/get
Zoom.group.get();

Example Request

$ curl https://api.zoom.us/v1/group/get \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var group = {
    id: "unique_id"
}

Zoom.group.get(group, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "group_id": "unique_id",
  "account_id": "unique_id",
  "name": "Group Test",
  "total_members": 2
}
Arguments  
id required Group ID.

Edit A Group

Edit a group on Zoom, return the new group info.

Definition

POST https://api.zoom.us/v1/group/edit
Zoom.group.update();

Example Request

$ curl https://api.zoom.us/v1/group/edit \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var group = {
    id: "unique_id",
    ame: "Group Name"
}

Zoom.group.update(group, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "group_id": "unique_id",
  "account_id": "unique_id",
  "name": "New Group Test",
  "total_members": 0
}
Arguments  
id required Group ID.
name optional Group name, must be unique in one account.

Delete A Group

Delete a group on Zoom, return the deleted group ID.

Definition

POST https://api.zoom.us/v1/group/delete
Zoom.group.delete();

Example Request

$ curl https://api.zoom.us/v1/group/delete \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var group = {
    id: "unique_id"
}

Zoom.group.delete(group, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "deleted_at": "2015-08-20T08:41:58Z",
  "deleted_count": 1
}
Arguments  
id required Group ID.

List Group Members

Lists the members of a group on Zoom.

Definition

POST https://api.zoom.us/v1/group/member/list
Zoom.group.memberList();

Example Request

$ curl https://api.zoom.us/v1/group/member/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var group = {
    id: "unique_id"
}

Zoom.group.memberList(group, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "total_records": 1,
  "members": [
    {
      "id": "unique_id",
      "email": "user@company.com",
      "first_name": "Zoomie",
      "last_name": "Userton",
      "pic_url": "https://ssotest.zoom.us/p/6EoubcvJR7eF2grNXJkrHA/f2003a9c-3095-4865-8536-03cc6f211e86-9569"
    }
  ]
}
Arguments  
id required Group ID.
page_size optional The amount of records returns within a single API call. Defaults to 30. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Add Group Members

Add members to a group on Zoom.

Definition

POST https://api.zoom.us/v1/group/member/add
Zoom.group.memberAdd();

Example Request

$ curl https://api.zoom.us/v1/group/member/add \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d member_ids="unique_id,unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var group = {
    id: "unique_id",
    member_ids: "unique_id,unique_id"
}

Zoom.group.memberAdd(group, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "add_at": "2015-08-20T08:57:38Z",
  "add_count": 2
}
Arguments  
id required Group ID.
member_ids required The member IDs, separated by comma

Delete Group Members

Delete members of a group on Zoom.

Definition

POST https://api.zoom.us/v1/group/member/delete
Zoom.group.memberDelete();

Example Request

$ curl https://api.zoom.us/v1/group/member/delete \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d member_ids="unique_id,unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var group = {
    id: "unique_id",
    member_ids: "unique_id,unique_id"
}

Zoom.group.memberDelete(group, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "deleted_at": "2015-08-20T08:57:38Z",
  "deleted_count": 2
}
Arguments  
id required Group ID.
member_ids required The member IDs, separated by comma

IM Group

The following API calls go over the creation, management, and deleting of Groups through Zooms REST API calls.

Create IM Group

Create a IM group on Zoom, return the new group info.

Definition

POST https://api.zoom.us/v1/im/group/create
Zoom.imGroup.create();

Example Request

$ curl https://api.zoom.us/v1/im/group/create \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d name="New Group Test"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var group = {
    name: "Group Name"
}

Zoom.imGroup.create(group, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
    "group_id": "unique_id",
    "account_id": "unique_id",
    "name": "New Group Test",
    "total_members": 0,
    "option_search_by_domain": false,
    "option_search_by_account": false,
    "option_search_by_ma_account": false
}
Arguments  
name required Group name, must be unique in one account.
type optional Group type, Normal: normal group, Restricted: Restricted group, Shared: Shared group. Default: Normal
option_search_by_domain optional Others in the same email domain can search members. Default: false
option_search_by_account optional Others under same account can search members. Default: false
option_search_by_ma optional Others under same master account, including all sub accounts can search members. Default: false

List IM Groups

List all IM groups on your Zoom account.

Definition

POST https://api.zoom.us/v1/im/group/list
Zoom.imGroup.list();

Example Request

$ curl https://api.zoom.us/v1/im/group/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.imGroup.list(function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "total_records": 1,
  "groups": [
    {
        "group_id": "unique_id",
        "account_id": "unique_id",
        "name": "Group Test1",
        "total_members": 40,
        "option_search_by_domain": false,
        "option_search_by_account": true,
        "option_search_by_ma_account": false,
        "last_modified_time": "2016-04-16T07:45:41Z"
    }
  ]
}
Arguments  

Get IM Group Info

Get a IM group on Zoom via ID, return the group info.

Definition

POST https://api.zoom.us/v1/im/group/get
Zoom.imGroup.get();

Example Request

$ curl https://api.zoom.us/v1/im/group/get \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var group = {
    id: "unique_id"
}

Zoom.imGroup.get(group, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
    "group_id": "unique_id",
    "account_id": "unique_id",
    "name": "Group Test",
    "total_members": 2,
    "option_search_by_domain": false,
    "option_search_by_account": true,
    "option_search_by_ma_account": false
}
Arguments  
id required Group ID.

Edit A IM Group

Edit a IM group on Zoom, return the new group info.

Definition

POST https://api.zoom.us/v1/im/group/edit
Zoom.imGroup.update();

Example Request

$ curl https://api.zoom.us/v1/im/group/edit \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var group = {
    id: "unique_id",
    ame: "Group Name"
}

Zoom.imGroup.update(group, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
    "group_id": "unique_id",
    "account_id": "unique_id",
    "name": "New Group Test",
    "total_members": 0,
    "option_search_by_domain": false,
    "option_search_by_account": true,
    "option_search_by_ma_account": false
}
Arguments  
id required Group ID.
name optional Group name, must be unique in one account.
type optional Group type, Normal: normal group, Restricted: Restricted group, Shared: Shared group. Default: Normal
option_search_by_domain optional Others in the same email domain can search members. Default: false
option_search_by_account optional Others under same account can search members. Default: false
option_search_by_ma optional Others under same master account, including all sub accounts can search members. Default: false

Delete IM Group

Delete a IM group on Zoom, return the deleted group ID.

Definition

POST https://api.zoom.us/v1/im/group/delete
Zoom.imGroup.delete();

Example Request

$ curl https://api.zoom.us/v1/im/group/delete \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var group = {
    id: "unique_id"
}

Zoom.imGroup.delete(group, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "deleted_at": "2015-08-20T08:41:58Z",
  "deleted_count": 1
}
Arguments  
id required Group ID.

List IM Group Members

Lists the members of a IM group on Zoom.

Definition

POST https://api.zoom.us/v1/im/group/member/list
Zoom.imGroup.memberList();

Example Request

$ curl https://api.zoom.us/v1/im/group/member/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var group = {
    id: "unique_id"
}

Zoom.imGroup.memberList(group, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "total_records": 1,
  "members": [
    {
      "id": "unique_id",
      "email": "user@company.com",
      "first_name": "Zoomie",
      "last_name": "Userton",
      "pic_url": "https://ssotest.zoom.us/p/6EoubcvJR7eF2grNXJkrHA/f2003a9c-3095-4865-8536-03cc6f211e86-9569"
    }
  ]
}
Arguments  
id required Group ID.
page_size optional The amount of records returns within a single API call. Defaults to 30. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Add Group Members

Add members to a group on Zoom.

Definition

POST https://api.zoom.us/v1/group/member/add
Zoom.imGroup.memberAdd();

Example Request

$ curl https://api.zoom.us/v1/group/member/add \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d member_ids="unique_id,unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var group = {
    id: "unique_id",
    member_ids: "unique_id,unique_id"
}

Zoom.imGroup.memberAdd(group, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "add_at": "2015-08-20T08:57:38Z",
  "add_count": 2
}
Arguments  
id required Group ID.
member_ids required The member IDs, separated by comma

Delete IM Group Members

Delete members of a IM group on Zoom.

Definition

POST https://api.zoom.us/v1/im/group/member/delete
Zoom.imGroup.memberDelete();

Example Request

$ curl https://api.zoom.us/v1/im/group/member/delete \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id" \
    -d member_ids="unique_id,unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var group = {
    id: "unique_id",
    member_ids: "unique_id,unique_id"
}

Zoom.imGroup.memberDelete(group, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "deleted_at": "2015-08-20T08:57:38Z",
  "deleted_count": 2
}
Arguments  
id required Group ID.
member_ids required The member IDs, separated by comma

Cloud Recording

The following API calls go over the management and deleting of Cloud Recordings through Zooms REST API calls.

List Recording

List all the cloud recording meetings on Zoom.

Definition

POST https://api.zoom.us/v1/recording/list
Zoom.recording.list();

Example Request

$ curl https://api.zoom.us/v1/recording/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d host_id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var recording = {
    host_id: "unique_id"
}

Zoom.recording.list(recording, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 1,
  "page_number": 1,
  "page_size": 15,
  "total_records": 1,
  "meetings": [
    {
      "uuid": "unique_id",
      "meeting_number": 123456789,
      "host_id": "unique_id",
      "account_id": "unique_id",
      "topic": "Meeting Topic",
      "start_time": "2014-11-06T04:10:10Z",
      "timezone": "America/Los_Angeles",
      "duration": 999,
      "total_size": 4324324324,
      "recording_count": 1,
      "recording_files": [
        {
          "id": "unique_id",
          "meeting_id": "unique_id",
          "recording_start": "2014-11-06T04:14:10Z",
          "recording_end": "2014-11-06T04:24:10Z",
          "file_type": "M4A",
          "file_size": 432432,
          "status" : "completed",
          "play_url": "https://brand.zoom.us/recording/play/HzMyuI23bqxlJLVJLrww3L9ZuFeZEvYtG0vQ6pHhp6Twr6GPjX4Qks_CJak7jrU2",
          "download_url": "https://brand.zoom.us/recording/download/HzMyuI23bqxlJLVJLrww3L9ZuFeZEvYtG0vQ6pHhp6Twr6GPjX4Qks_CJak7jrU2"
        }
      ]
    }
  ]
}
Arguments  
host_id required Meeting host user ID. Can be any user under this account.
meeting_number optional The meeting number.
from optional The meeting start time after this date, MM/dd/yyyy hh:mm a. For example: 11/05/2014 09:05 pm. Use the host’s time zone, if host has not set time zone, will use GMT.
to optional The meeting start time before this date, MM/dd/yyyy hh:mm a.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 300 meetings. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

List Recording For MC (On Premise)

Lists all the cloud recordings meetings on a Meeting Connector

Definition

POST https://api.zoom.us/v1/mc/recording/list

Example Request

$ curl https://api.zoom.us/v1/mc/recording/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d host_id=unique_id

Example Response

{
  "page_count": 1,
  "page_number": 1,
  "page_size": 15,
  "total_records": 1,
  "meetings": [
    {
      "uuid": "unique_id",
      "meeting_number": 123456789,
      "host_id": "unique_id",
      "account_id": "unique_id",
      "topic": "Meeting Topic",
      "start_time": "2014-11-06T04:10:10Z",
      "timezone": "America/Los_Angeles",
      "duration": 999,
      "total_size": 4324324324,
      "recording_count": 1,
      "recording_files": [
        {
          "id": "unique_id",
          "meeting_id": "unique_id",
          "recording_start": "2014-11-06T04:14:10Z",
          "recording_end": "2014-11-06T04:24:10Z",
          "file_type": "M4A",
          "file_size": 432432,
          "status" : "completed",
          "play_url": "https://brand.zoom.us/recording/play/HzMyuI23bqxlJLVJLrww3L9ZuFeZEvYtG0vQ6pHhp6Twr6GPjX4Qks_CJak7jrU2",
          "download_url": "https://brand.zoom.us/recording/download/HzMyuI23bqxlJLVJLrww3L9ZuFeZEvYtG0vQ6pHhp6Twr6GPjX4Qks_CJak7jrU2"
        }
      ]
    }
  ]
}
Arguments  
host_id required Meeting host user ID. Can be any user under this account.
meeting_number optional The meeting number.
from optional The meeting start time after this date, MM/dd/yyyy hh:mm a. For example: 11/05/2014 09:05 pm. Use the host’s time zone, if host has not set time zone, will use GMT.
to optional The meeting start time before this date, MM/dd/yyyy hh:mm a.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 300 meetings. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Get Recording

Get the recorded meeting on either Zoom cloud or on-prem.

Definition

POST https://api.zoom.us/v1/recording/get
Zoom.recording.get();

Example Request

$ curl https://api.zoom.us/v1/recording/get \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d meeting_id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var recording = {
    meeting_id: "unique_id"
}

Zoom.recording.get(recording, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "uuid": "unique_id",
  "meeting_number": 123456789,
  "host_id": "unique_id",
  "account_id": "unique_id",
  "topic": "Meeting Topic",
  "start_time": "2015-04-13T01:06:04Z",
  "timezone": "UTC",
  "duration": 1,
  "total_size": 686496,
  "recording_count": 3,
  "recording_files": [
    {
      "id": "unique_id",
      "meeting_id": "unique_id",
      "recording_start": "2015-04-13T01:06:36Z",
      "recording_end": "2015-04-13T01:06:47Z",
      "file_type": "MP4",
      "file_size": 438482,
      "status" : "completed",
      "play_url": "https://brand.zoom.us/recording/play/HzMyuI23bqxlJLVJLrww3L9ZuFeZEvYtG0vQ6pHhp6Twr6GPjX4Qks_CJak7jrU2",
      "download_url": "https://brand.zoom.us/recording/download/HzMyuI23bqxlJLVJLrww3L9ZuFeZEvYtG0vQ6pHhp6Twr6GPjX4Qks_CJak7jrU2"
    }
  ]
}
Arguments  
meeting_id required The meeting ID.

Delete Recording

Delete recorded meeting either on Zoom cloud or on-premise.

Definition

POST https://api.zoom.us/v1/recording/delete
Zoom.recording.delete();

Example Request

$ curl https://api.zoom.us/v1/recording/delete \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d meeting_id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var recording = {
    meeting_id: "unique_id"
}

Zoom.recording.delete(recording, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "deleted_at": "2012-11-25T12:00:00Z"
}
Arguments  
meeting_id required The meeting ID. Example: ucc69C82Q5mTNyCRWE29Aw== Or B9C73AF4-2F36-4399-9337-2091584DBD03
file_id optional The file ID, if given this, will only delete this one file, if not given this, will delete all files of the meeting

Device

The following API calls go over the creation, management, and deleting of H.323/SIP Devices through Zooms REST API calls.

Create a H.323/SIP Device

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

Definition

POST https://api.zoom.us/v1/h323/device/create
Zoom.device.create();

Example Request

$ curl https://api.zoom.us/v1/h323/device/create \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d name="New Device" \
    -d ip="192.168.1.10" \
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var device = {
    name: "Device Name",
    ip: "192.168.1.10"
}

Zoom.device.create(device, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "name": "New Device",
  "ip": "192.168.1.10",
  "protocol_type": 1,
  "encryption_type": 2
}
Arguments  
name required Display Name.
ip required IP Address or H.323 Extension.
protocol_type optional Protocol type. 1 means H.323, 2 means SIP. Default: 1
encryption_type optional Encryption type. 0 means No, 1 means Yes, 2 means Auto. Default: 2

List H.323/SIP Devices

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

Definition

POST https://api.zoom.us/v1/h323/device/list
Zoom.device.list();

Example Request

$ curl https://api.zoom.us/v1/h323/device/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.device.list(function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "total_records": 1,
  "devices": [
    {
      "id": "unique_id",
      "name": "New Device",
      "ip": "192.168.1.10",
      "protocol_type": 1,
      "encryption_type": 2
    }
  ]
}
Arguments  
page_size optional The amount of records returns within a single API call. Defaults to 30. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Update a H.323/SIP Device

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

Definition

POST https://api.zoom.us/v1/h323/device/update
Zoom.device.update();

Example Request

$ curl https://api.zoom.us/v1/h323/device/update \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret
    -d id=unique_id
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var device = {
    id: "unique_id",
}

Zoom.device.update(device, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "updated_at": "2017-03-14T09:27:03Z"
}
Arguments  
id required Device ID.
name optional Display Name.
ip optional IP Address or H.323 Extension.
protocol_type optional Protocol type. 1 means H.323, 2 means SIP. Default: 1
encryption_type optional Encryption type. 0 means No, 1 means Yes, 2 means Auto. Default: 2

Delete a H.323/SIP Device

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

Definition

POST https://api.zoom.us/v1/h323/device/delete
Zoom.device.delete();

Example Request

$ curl https://api.zoom.us/v1/h323/device/delete \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id="unique_id"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var device = {
    id: "unique_id",
}

Zoom.device.delete(device, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "id": "unique_id",
  "deleted_at": "2017-03-14T09:27:15Z"
}
Arguments  
id required Device ID.

Archived Chat

The following API calls go over the creation of Chat Reports through Zooms REST API calls.

Get Chat History List

Get chat history list for a specified time period.

Definition

POST https://api.zoom.us/v1/chat/list
Zoom.chat.list();

Example Request

$ curl https://api.zoom.us/v1/chat/list \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d access_token=unique_id \
    -d from="2017-03-10" \
    -d to="2-17-03-10"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var chat = {
    access_token: "unique_id",
    from: "2013-01-11T08:18:09Z",
    to: "2013-02-11T08:18:09Z"
}

Zoom.chat.list(chat, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "from": "2016-01-16",
  "to": "2016-01-22",
  "page_size": 30,
  "page_count": 1,
  "next_page_token": "",
  "chat_list": [
    {
      "session_id": "unique_id",
      "type": "Group",
      "participants": "",
      "group_name": "zoom test1",
      "last_message_send_time": "2016-01-18T06:40:56Z"
    }
  ]
}
Arguments  
access_token required Archived chat messages access token. Admin who has the view privilege of Archived chat messages will get it.
from required Start date.
to required End date.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 30 records. Default: 30
email optional Email query condition.
next_page_token optional Used to paginate through large result sets. A next page token will be returned whenever the set of available chat history list exceeds 100. The expiration period is 30 minutes.

Get Chat Messages

Get chat messages for a specified period.

Definition

POST https://api.zoom.us/v1/chat/get
Zoom.chat.get();

Example Request

$ curl https://api.zoom.us/v1/chat/get \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d access_token=unique_id \
    -d session_id=unique_id \
    -d from="2017-03-10" \
    -d to="2-17-03-10"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var chat = {
    access_token: "unique_id",
    session_id: "unique_id",
    from: "2013-01-11T08:18:09Z",
    to: "2013-02-11T08:18:09Z"
}

Zoom.chat.get(chat, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "session_id": "unique_id",
  "group_name": "zoom",
  "from": "2016-01-16",
  "to": "2016-01-22",
  "page_size": 30,
  "page_count": 1,
  "next_page_token": "",
  "chat_messages": [
    {
      "message": "test1",
      "sender": "",
      "date_time": "2016-01-18T06:40:56Z"
    }
  ]
}
Arguments  
access_token required Archived chat messages access token. Admin who has the view privilege of Archived chat messages will get it.
session_id required Session Id of chat messages.
from required Start date.
to required End date.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 30 records. Default: 30
next_page_token optional Used to paginate through large result sets. A next page token will be returned whenever the set of available chat history list exceeds 100. The expiration period is 30 minutes.
Analytics

Report

The following API calls go over the creation of Reports through Zooms REST API calls

Get Account Report

Get account report for a specified period.

Definition

POST https://api.zoom.us/v1/report/getaccountreport
Zoom.report.getAccount();

Example Request

$ curl https://api.zoom.us/v1/report/getaccountreport \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d from="2013-01-11T08:18:09Z" \
    -d to="2013-02-11T08:18:09Z"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var report = {
    from: "2013-01-11T08:18:09Z",
    to: "2013-02-11T08:18:09Z"
}

Zoom.report.getAccount(report, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "total_records": 5,
  "from": "2013-5-19",
  "to": "2013-5-20",
  "total_meetings": 50,
  "total_participants": 100,
  "total_meeting_minutes": 100,
  "users": [
    {
      "user_id": "bNsPi5hCQ-qOzWn2EeCXJA",
      "email": "john@sample.com",
      "type": 2,
      "meetings": 10,
      "participants": 56,
      "meeting_minutes": 300,
      "last_client_version": "1.0.18584.0225",
      "last_login_time": "2013-02-11T08:18:09Z"
    }
  ]
}
Arguments  
from required Start date.
to required End date.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 300 meetings. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Get Audio Report

Get user report for a specified period.

Definition

POST https://api.zoom.us/v1/report/getaudioreport
Zoom.report.getAudio();

Example Request

$ curl https://api.zoom.us/v1/report/getaudioreport \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d from="2013-01-11T08:18:09Z" \
    -d to="2013-02-11T08:18:09Z"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var report = {
    from: "2013-01-11T08:18:09Z",
    to: "2013-02-11T08:18:09Z"
}

Zoom.report.getAudio(report, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "from": "2016-01-08",
  "to": "2016-01-21",
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "total_records": 1,
  "telephony_usage": [
    {
      "meeting_id": 2932547621,
      "phone_number": "+86 8208",
      "type": "call-out",
      "host_name": "test",
      "host_email": "zoom.test@zoom.us",
      "department": "",
      "start_time": "2016-01-12T02:25:34Z",
      "end_time": "2016-01-12T02:26:48Z",
      "duration": 2,
      "total": 0.12
    }
  ]
}
Arguments  
from required Start date.
to required End date.
type optional Audio type: 1 means Toll-free Call-in & Call-out. 2 means Toll. Default: 1
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 300 meetings. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Get Daily Report

Get daily report for one month, can only get daily report for recent 3 months.

Definition

POST https://api.zoom.us/v1/report/getdailyreport
Zoom.report.getDaily();

Example Request

$ curl https://api.zoom.us/v1/report/getdailyreport \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d year=2013 \
    -d month=5
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var report = {
    year: 2017,
    month: 6
}

Zoom.report.getDaily(report, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "year": 2013,
  "month": 5,
  "dates": [
    {
      "meetings": 0,
      "date": "2013-05-01",
      "new_user": 0,
      "participants": 0,
      "meeting_minutes": 0
    }
  ]
}
Arguments  
year required Year for this report.
month required Month for this report.

Get User Report

Get user report for a specified period.

Definition

POST https://api.zoom.us/v1/report/getuserreport
Zoom.report.getUser();

Example Request

$ curl https://api.zoom.us/v1/report/getuserreport \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d user_id=unique_id \
    -d from="2013-01-11T08:18:09Z" \
    -d to="2013-02-11T08:18:09Z"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var report = {
    user_id: "unique_id",
    from: "2013-01-11T08:18:09Z",
    to: "2013-02-11T08:18:09Z"
}

Zoom.report.getUser(report, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "total_records": 5,
  "from": "2013-5-19",
  "to": "2013-5-20",
  "meetings": [
    {
      "number": 111111111,
      "topic": "Meeting Topic",
      "start_time": "2013-02-11T08:18:09Z",
      "end_time": "2013-02-11T09:18:09Z",
      "duration": 60,
      "participants": [
        {
          "name": "John",
          "join_time": "2013-02-11T08:30:09Z",
          "leave_time": "2013-02-11T08:50:09Z"
        }
      ]
    }
  ]
}
Arguments  
user_id required The user to generate the report.
from required Start date.
to required End date.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 300 meetings. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Dashboard

The following API calls go over the creation of Dashboard Reports through Zooms REST API calls. Please see our Dashboard documentation for pre-requisites for Dashboard API access.

Get Meeting List

Get Live Meetings and past meetings for a specified period

Definition

POST https://api.zoom.us/v1/metrics/meetings
Zoom.dashboard.meetings();

Example Request

$ curl https://api.zoom.us/v1/metrics/meetings \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d type=1 \
    -d from="2015-03-12" \
    -d to="2015-03-12"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var dashboard = {
    type: 1,
    from: "2013-01-11T08:18:09Z",
    to: "2013-02-11T08:18:09Z"
}

Zoom.dashboard.meetings(dashboard, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "from": "2015-08-02",
  "to": "2015-09-02",
  "page_count": 2,
  "page_number": 1,
  "page_size": 30,
  "total_records": 49,
  "type": "Past Meetings",
  "meetings": [
    {
      "uuid": "unique_id",
      "id": 123456789,
      "host": "Zoomie Userton",
      "email": "user@company.com",
      "user_type": "Pro",
      "start_time": "2015-08-29T05:36:56Z",
      "end_time": "2015-08-29T06:36:56Z",
      "duration": "4 mins",
      "participants": 2,
      "has_pstn": false,
      "has_voip": true,
      "has_3rd_party_audio": false,
      "has_video": true,
      "has_screen_share": false,
      "recording": 0
    }
  ]
}
Arguments  
type required Meeting list type. 1 means live meetings. 2 means past meetings. 3 means past one meetings Default: 1
from required Start date. Only for past meetings.
to required End date. Only for past meetings.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 100 meetings. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Get Meeting Detail

Get live and past meeting details

Definition

POST https://api.zoom.us/v1/metrics/meetingdetail
Zoom.dashboard.meeting();

Example Request

$ curl https://api.zoom.us/v1/metrics/meetingdetail \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d meeting_id="unique_id" \
    -d type=1
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var dashboard = {
    meeting_id: "unique_id",
    type: 1
}

Zoom.dashboard.meeting(dashboard, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "uuid": "unique_id",
  "id": 123456789,
  "type": "Past Meeting",
  "host": "Zoomie Userton",
  "email": "user@company.com",
  "user_type": "Pro",
  "start_time": "2015-08-30T05:36:56Z",
  "end_time": "2015-08-30T06:36:56Z",
  "duration": "4 mins",
  "has_pstn": false,
  "has_voip": true,
  "has_3rd_party_audio": false,
  "has_video": true,
  "has_screen_share": false,
  "recording": 0,
  "participants_count": 2,
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "participants": [
    {
      "id": "unique_id",
      "user_id": "unique_id",
      "user_name": "Zoomie Userton",
      "device": "Mac",
      "ip_address": "117.83.222.228",
      "cn": "CN",
      "city": "Nanjing",
      "network_type": "Wifi",
      "join_time": "2017-02-18T01:44:47Z",
      "leave_time": "2017-02-18T01:45:58Z",
      "share_application": true,
      "share_desktop": true,
      "share_whiteboard": true,
      "recording": true
    }
  ]
}
Arguments  
meeting_id required The meeting ID Example: ucc69C82Q5mTNyCRWE29Aw== Or B9C73AF4-2F36-4399-9337-2091584DBD03
type required Meeting type. 1 means live meeting. 2 means past meeting. 3 means past one meetings.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 100 records. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Get Webinar List

Get live webinars and past webinars for a specified period.

Definition

POST https://api.zoom.us/v1/metrics/webinars
Zoom.dashboard.webinars();

Example Request

$ curl https://api.zoom.us/v1/metrics/webinars \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d type=1 \
    -d from="2017-03-01" \
    -d to="2017-03-01"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var dashboard = {
    type: 1,
    from: "2013-01-11T08:18:09Z",
    to: "2013-02-11T08:18:09Z"
}

Zoom.dashboard.webinars(dashboard, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "from": "2015-08-02",
  "to": "2015-09-02",
  "page_count": 2,
  "page_number": 1,
  "page_size": 30,
  "total_records": 49,
  "type": "Past Webinars",
  "meetings": [
    {
      "uuid": "unique_id",
      "id": 123456789,
      "host": "Zoomie Userton",
      "email": "user@company.com",
      "user_type": "Pro",
      "start_time": "2015-08-29T05:36:56Z",
      "end_time": "2015-08-29T06:36:56Z",
      "duration": "4 mins",
      "participants": 2,
      "has_pstn": false,
      "has_voip": true,
      "has_3rd_party_audio": false,
      "has_video": true,
      "has_screen_share": false,
      "recording": 0
    }
  ]
}
Arguments  
type required Webinar list type. 1 means live webinars. 2 means past webinars. Default: 1
from required Start date. Only for past webinars.
to required End date. Only for past webinars.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 100 webinars. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Get Webinar Detail

Get live and past webinar details

Definition

POST https://api.zoom.us/v1/metrics/webinardetail
Zoom.dashboard.webinar();

Example Request

$ curl https://api.zoom.us/v1/metrics/webinardetail \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d meeting_id=unique_id \
    -d type=1
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var dashboard = {
    meeting_id: "unique_id",
    type: 1
}

Zoom.dashboard.webinar(dashboard, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "uuid": "unique_id",
  "id": 123456789,
  "type": "Past Webinar",
  "host": "Zoomie Userton",
  "email": "user@company.com",
  "user_type": "Pro",
  "start_time": "2015-08-30T05:36:56Z",
  "end_time": "2015-08-30T06:36:56Z",
  "duration": "4 mins",
  "has_pstn": false,
  "has_voip": true,
  "has_3rd_party_audio": false,
  "has_video": true,
  "has_screen_share": false,
  "recording": 0,
  "participants_count": 2,
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "participants": [
    {
      "id": "unique_id",
      "user_id": "unique_id",
      "user_name": "Zoomie Userton",
      "device": "Mac",
      "ip_address": "117.83.222.228",
      "cn": "CN",
      "city": "Nanjing",
      "network_type": "Wifi",
      "join_time": "2017-02-18T01:44:47Z",
      "leave_time": "2017-02-18T01:45:58Z",
      "share_application": true,
      "share_desktop": true,
      "share_whiteboard": true,
      "recording": true
    }
  ]
}
Arguments  
meeting_id required The meeting ID Example: ucc69C82Q5mTNyCRWE29Aw== Or B9C73AF4-2F36-4399-9337-2091584DBD03
type required Meeting type. 1 means live webinar. 2 means past webinar.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 100 records. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Get Meeting Share Details

Get meeting share/recording details.

Definition

POST https://api.zoom.us/v1/metrics/sharerecorddetail

Example Request

$ curl https://api.zoom.us/v1/metrics/sharerecorddetail \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d meeting_id="unique_id"

Example Response

{  
  "page_count": 1,
  "page_number": 10,
  "page_size": 1,
  "total_records": 1,
  "participants": [
      {
          "id": "unique_id",
          "user_id": "16778240",
          "user_name": "Zoomie Userton",
          "details": [
              { 
                  "content": "desktop",
                  "start_time": "2017-08-09T06:59:05Z",
                  "end_time": "2017-08-09T06:59:12Z" 
               },
              { 
                  "content": "cloud_recording",
                  "start_time": "2017-08-09T06:58:50Z",
                  "end_time": "2017-08-09T06:58:48Z"
               }
          ]
      }
  ]
}
Arguments  
meeting_id required Meeting ID.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 300 meetings. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

List Zoom Rooms

List all Zoom Rooms on Zoom.

Definition

POST https://api.zoom.us/v1/metrics/zoomrooms
Zoom.dashboard.rooms();

Example Request

$ curl https://api.zoom.us/v1/metrics/zoomrooms \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

Zoom.dashboard.rooms(function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "total_records": 2,
  "zoom_rooms": [
    {
      "id": "unique_id",
      "room_name": "zoom room1",
      "email": "zoomroom1@zoom.us",
      "account_type": "Work Email",
      "passcode": "123",
      "status": "Available",
      "messages": {
        "last_started_time": "",
        "running_time": "",
        "selected_microphone": "",
        "selected_speaker": "",
        "selected_camera": ""
      },
      "meeting_id": ""
    }
  ]
}
Arguments  
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 30 records. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Get Zoom Room Detail

Get a Zoom Room on Zoom via Zoom ID, return the Zoom Room info.

Definition

POST https://api.zoom.us/v1/metrics/zoomroomdetail
Zoom.dashboard.room();

Example Request

$ curl https://api.zoom.us/v1/metrics/zoomroomdetail \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d id=unique_id \
    -d from="2017-03-01" \
    -d to="2017-03-01"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var dashboard = {
    id: "unique_id",
    from: "2013-01-11T08:18:09Z",
    to: "2013-02-11T08:18:09Z"
}

Zoom.dashboard.room(dashboard, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "from": "2016-04-12",
  "to": "2016-04-13",
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "total_records": 1,
  "zoom_room": {
    "id": "unique_id",
    "room_name": "zoom room",
    "email": "zoomroom@zoom.us",
    "account_type": "Work Email",
    "passcode": "123",
    "status": "Available",
    "messages": {
      "last_started_time": "",
      "running_time": "",
      "selected_microphone": "",
      "selected_speaker": "",
      "selected_camera": ""
    },
    "meeting_id": ""
  },
  "live_meeting": {
    "uuid": "",
    "id": 0,
    "host": "",
    "email": "",
    "user_type": "",
    "start_time": "",
    "end_time": "",
    "duration": "",
    "participants": 0,
    "has_pstn": false,
    "has_voip": false,
    "has_3rd_party_audio": false,
    "has_video": false,
    "has_screen_share": false,
    "recording": 0
  },
  "past_meetings": [
    {
      "uuid": "unique_id",
      "id": 123456789,
      "host": "Zoomie Userton",
      "email": "user@company.com",
      "user_type": "",
      "start_time": "",
      "end_time": "",
      "duration": "",
      "participants": 1,
      "has_pstn": false,
      "has_voip": false,
      "has_3rd_party_audio": false,
      "has_video": false,
      "has_screen_share": false,
      "recording": 0
    }
  ]
}
Arguments  
id required The zoom room ID. Example: ucc69C82Q5mTNyCRWE29Aw== Or B9C73AF4-2F36-4399-9337-2091584DBD03
from required Start date.
to required End date.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 30 records. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1

Get User QoS

Get the users quality of service in a Zoom Meeting

Definition

POST https://api.zoom.us/v1/metrics/qos
Zoom.dashboard.qos();

Example Request

$ curl https://api.zoom.us/v1/metrics/qos \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d meeting_id=unique_id \
    -d type=1
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var dashboard = {
    meeting_id: "unique_id",
    type: 1
}

Zoom.dashboard.qos(dashboard, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "meeting_id": "unique_id",
  "user_id": "unique_id",
  "type": "Past Meeting",
  "device": "Mac",
  "ip_address": "112.80.63.6",
  "cn": "CN",
  "city": "Nanjing",
  "version": "3.5.35288.1217",
  "user_qos": [
    {
      "dateTime": "2015-08-30T06:40:56Z",
      "audio_input": {
        "bitrate": "29 kbps",
        "latency": "39 ms",
        "jitter": "11 ms",
        "avg_loss": "2.5%",
        "max_loss": "5.0%"
      },
      "audio_output": {
        "bitrate": "",
        "latency": "",
        "jitter": "",
        "avg_loss": "",
        "max_loss": ""
      },
      "video_input": {
        "bitrate": "77 kbps",
        "latency": "84 ms",
        "jitter": "4 ms",
        "avg_loss": "28.3%",
        "max_loss": "28.3%",
        "resolution": "480*270",
        "frame_rate": "3 fps"
      },
      "video_output": {
        "bitrate": "",
        "latency": "",
        "jitter": "",
        "avg_loss": "",
        "max_loss": "",
        "resolution": "",
        "frame_rate": ""
      },
      "as_input": {
        "bitrate": "",
        "latency": "",
        "jitter": "",
        "avg_loss": "",
        "max_loss": "",
        "resolution": "",
        "frame_rate": ""
      },
      "as_output": {
        "bitrate": "",
        "latency": "",
        "jitter": "",
        "avg_loss": "",
        "max_loss": "",
        "resolution": "",
        "frame_rate": ""
      },
      "cpu_usage": {
        "zoom_min_cpu_usage": "1%",
        "zoom_avg_cpu_usage": "3%",
        "zoom_max_cpu_usage": "5%",
        "system_max_cpu_usage": "20%"
      }
    }
  ]
}
Arguments  
meeting_id required The meeting ID.
type required Meeting type. 1 means live meeting. 2 means past meeting.
user_id optional The user ID to get user qos.
page_size optional The amount of records returns within a single API call. Defaults to 10. Max of 10 records. Default: 10
page_number optional Current page number of returned records. Default to 1. Default: 1

Get CRC Port Usage

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

Definition

POST https://api.zoom.us/v1/metrics/crc
Zoom.dashboard.crc();

Example Request

$ curl https://api.zoom.us/v1/metrics/crc \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d from="2015-03-12" \
    -d to="2015-03-12"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var dashboard = {
    from: "2013-01-11T08:18:09Z",
    to: "2013-02-11T08:18:09Z"
}

Zoom.dashboard.crc(dashboard, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "from": "2015-03-12",
  "to": "2015-03-12",
  "crc_ports_usage": [
    {
      "date_time": "2015-03-12",
      "crc_ports_hour_usage": [
        {
          "hour": "00",
          "max_usage": 1,
          "total_usage": 3
        }
      ]
    }
  ]
}
Arguments  
from required Start date.
to required End date.

Get IM

Get statistics of Zoom IM

Definition

POST https://api.zoom.us/v1/metrics/im
Zoom.dashboard.im();

Example Request

$ curl https://api.zoom.us/v1/metrics/im \
    -X POST \
    -d api_key=your_api_key \
    -d api_secret=your_api_secret \
    -d from="2015-03-12" \
    -d to="2015-03-12"
var Zoom = require("zoomus")({
    key : "your_api_key",
    secret : "your_api_secret"
});

var dashboard = {
    from: "2013-01-11T08:18:09Z",
    to: "2013-02-11T08:18:09Z"
}

Zoom.dashboard.im(dashboard, function(res){
    if(res.error){
      //handle error
    } else {
      console.log(res);
    }
});

Example Response

{
  "from": "2016-04-12",
  "to": "2016-04-13",
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "total_records": 10,
  "users": [
    {
      "user_id": "unique_id",
      "user_name": "Zoomie Userton",
      "email": "user@company.com",
      "total_send": 0,
      "total_receive": 0,
      "group_send": 0,
      "group_receive": 0,
      "calls_send": 0,
      "calls_receive": 0,
      "files_send": 0,
      "files_receive": 0,
      "images_send": 0,
      "images_receive": 0,
      "voice_send": 0,
      "voice_receive": 0,
      "videos_send": 0,
      "videos_receive": 0,
      "emoji_send": 0,
      "emoji_receive": 0
    }
  ]
}
Arguments  
from required Start date.
to required End date.
page_size optional The amount of records returns within a single API call. Defaults to 30. Max of 30 records. Default: 30
page_number optional Current page number of returned records. Default to 1. Default: 1
Appendix

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

Zoom Room Plans

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

H.323/SIP Device Room Connector Plans

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

Large Meeting Plans

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

Webinar Plans

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

Cloud Recording Plans

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

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

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

Audio Conferencing Plans

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

Lists

States

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

Countries

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

Timezones

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

Toll Free Countries

ID Name
AR Argentina
AU Australia
AT Austria
BH Bahrain
BE Belgium
BR Brazil
BG Bulgaria
CA Canada
CL Chile
CN China
CO Colombia
HR Croatia
CY Cyprus
CZ Czech Republic
DK Denmark
DO Dominican Republic
FI Finland
FR France
DE Germany
GH Ghana
GR Greece
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
MY Malaysia
MT Malta
MX Mexico
NL Netherlands
NZ New Zealand
NO Norway
OM Oman
PA Panama
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
TR Turkey
UA Ukraine
AE United Arab Emirates
GB United Kingdom
US United States
VE Venezuela

Premium Countries

ID Name
IN India
ID Indonesia
PH Philippines
TW Taiwan
TH Thailand
AE United Arab Emirates
VN Vietnam