openapi: 3.0.0
servers:
- url: https://api.zoom.us/v2
info:
contact:
email: developersupport@zoom.us
name: Zoom Developers
url: https://developer.zoom.us/
x-twitter: zoom_us
description: |-
The Zoom API allows developers to access information from Zoom. You can use this API to build private services or public applications on the [Zoom App Marketplace](http://marketplace.zoom.us). To learn how to get your credentials and create private/public applications, read our [Authorization Guide](https://marketplace.zoom.us/docs/guides/authorization/credentials).
All endpoints are available via `https` and are located at `api.zoom.us/v2/`.
For instance you can list all users on an account via `https://api.zoom.us/v2/users/`.
license:
name: MIT for OAS 2.0
url: https://opensource.org/licenses/MIT
termsOfService: https://zoom.us/docs/en-us/zoom_api_license_and_tou.html
title: Zoom API
version: 2.0.0
x-apisguru-categories:
- telecom
x-logo:
url: https://twitter.com/zoom_us/profile_image?size=original
x-origin:
- format: openapi
url: https://marketplace.zoom.us/docs/api-reference/zoom-api/Zoom%20API.oas2.json
version: "3.0"
x-providerName: zoom.us
security:
- OAuth: []
tags:
- description: Account operations
name: Accounts
- description: Billing operations
name: Billing
- name: Chat Channels
- name: Chat Channels (Account-level)
- description: Chat Messages operations
name: Chat Messages
- name: Chatbot Messages
- description: Contacts operations
name: Contacts
- description: Cloud Recording operations
name: Cloud Recording
- description: Dashboard operations
name: Dashboards
- name: Data Compliance
- description: H323 Device operations
name: Devices
- description: Group operations
name: Groups
- description: IM Chat operations
name: IM Chat
- description: IM Group operations
name: IM Groups
- description: Meeting operations
name: Meetings
- description: PAC operations
name: PAC
- name: Phone
- name: Phone Auto Receptionists
- name: Phone Blocked List
- name: Phone Call Queues
- name: Phone Devices
- name: Phone Reports
- name: Phone Shared Line Groups
- name: Phone Site
- name: Common Area Phones
- description: Report operations
name: Reports
- description: User Roles
name: Roles
- description: ZoomRooms operations
name: Rooms
- name: Rooms Account
- name: Rooms Location
- name: SIP Phone
- description: Tracking Field operations
name: TrackingField
- description: TSP operations
name: TSP
- description: User operations
name: Users
- description: Webhook operations
name: Webhooks
- description: Webinar operations
name: Webinars
- description: APIs available to the master account for a Zoom account.
name: master account APIs
- name: Rooms Devices
- name: SIP Connected Audio
- name: Deprecated API Endpoints
paths:
/accounts:
get:
description: |+
List all the sub accounts that have been created by a master account.
Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts. Email the partner programs team at **partner-success@zoom.us** for more details.
**Prerequisites:**
* Pro or a higher paid account with master account option enabled.
**Scope**: `account:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: accounts
parameters:
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: |-
**Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
The page number of the current page in the returned records.
in: query
name: page_number
schema:
default: 1
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
accounts:
- account_name: string
account_type: string
created_at: string [date-time]
id: string [uuid]
owner_email: string
seats: integer
subscription_end_time: string [date-time]
subscription_start_time: string [date-time]
page_count: integer
page_number: integer
page_size: integer
total_records: integer
schema:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- description: Account object in the account list.
properties:
accounts:
description: List of Account objects.
items:
properties:
account_name:
description: Account name.
type: string
account_number:
description: Account Number of the account.
type: string
account_type:
description: Account type.
type: string
created_at:
description: Account creation date and time.
format: date-time
type: string
id:
description: Account ID.
type: string
owner_email:
description: Account owner email.
example: john.doe@zoom.us
type: string
seats:
description: Account seats.
type: integer
subscription_end_time:
description: Account subscription end date and time.
format: date-time
type: string
subscription_start_time:
description: Account subscription start date and time.
format: date-time
type: string
type: object
type: array
type: object
description: List of Accounts.
title: Account List
type: object
application/xml:
schema:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- description: Account object in the account list.
properties:
accounts:
description: List of Account objects.
items:
properties:
account_name:
description: Account name.
type: string
account_number:
description: Account Number of the account.
type: string
account_type:
description: Account type.
type: string
created_at:
description: Account creation date and time.
format: date-time
type: string
id:
description: Account ID.
type: string
owner_email:
description: Account owner email.
example: john.doe@zoom.us
type: string
seats:
description: Account seats.
type: integer
subscription_end_time:
description: Account subscription end date and time.
format: date-time
type: string
subscription_start_time:
description: Account subscription start date and time.
format: date-time
type: string
type: object
type: array
type: object
description: List of Accounts.
title: Account List
type: object
description: Account list returned.
summary: List sub accounts
tags:
- Accounts
post:
description: "Create a sub account under a master account. Your account must be a master account in order to create sub accounts.\
Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts. Email the partner programs team at partner-success@zoom.us. for more details. Please note that the created account user will receive a confirmation email.
**Prerequisites:**
* Pro or a higher paid account with master account option enabled.
**Scope**: `account:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
\ "
operationId: accountCreate
requestBody:
content:
application/json:
schema:
description: The account object represents an account on Zoom. The account owner is the user who created the account or had an account created for them. You can read more about the Zoom account structure here.
properties:
account_name:
description: 'Name of the account. If you do not provide a value for this field, by default, the value will be set as a concatenation of "first_name" and "last_name". '
maxLength: 64
type: string
email:
description: User's email address.
maxLength: 128
type: string
first_name:
description: User's first name.
maxLength: 64
type: string
last_name:
description: User's last name.
maxLength: 64
type: string
options:
description: Account options object.
properties:
billing_auto_renew:
description: Toggle whether automatic billing renewal is on or off.
type: boolean
meeting_connector_list:
description: |-
Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_mc` is set to `true`.
items:
type: string
type: array
pay_mode:
default: master
description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
enum:
- master
- sub
type: string
x-enum-descriptions:
- master account holder pays
- Sub account holder pays
room_connector_list:
description: |-
Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_rc` is set to `true`.
items:
type: string
type: array
share_mc:
default: false
description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
type: boolean
share_rc:
default: false
description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
type: boolean
type: object
password:
description: |-
User's password.
**Note:** If the account owner or admin has enabled [enhanced password requirements](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_fa9186e4-6818-4f7a-915c-2e25c19f0acd), the value provided in this field must meet those requirements. These requirements can be retrieved by calling the [Get Account Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) and referring to the `password_requirement` field present in the `security` object.
minimum: 8
type: string
required:
- first_name
- last_name
- email
- password
type: object
multipart/form-data:
schema:
description: The account object represents an account on Zoom. The account owner is the user who created the account or had an account created for them. You can read more about the Zoom account structure here.
properties:
account_name:
description: 'Name of the account. If you do not provide a value for this field, by default, the value will be set as a concatenation of "first_name" and "last_name". '
maxLength: 64
type: string
email:
description: User's email address.
maxLength: 128
type: string
first_name:
description: User's first name.
maxLength: 64
type: string
last_name:
description: User's last name.
maxLength: 64
type: string
options:
description: Account options object.
properties:
billing_auto_renew:
description: Toggle whether automatic billing renewal is on or off.
type: boolean
meeting_connector_list:
description: |-
Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_mc` is set to `true`.
items:
type: string
type: array
pay_mode:
default: master
description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
enum:
- master
- sub
type: string
x-enum-descriptions:
- master account holder pays
- Sub account holder pays
room_connector_list:
description: |-
Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_rc` is set to `true`.
items:
type: string
type: array
share_mc:
default: false
description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
type: boolean
share_rc:
default: false
description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
type: boolean
type: object
password:
description: |-
User's password.
**Note:** If the account owner or admin has enabled [enhanced password requirements](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_fa9186e4-6818-4f7a-915c-2e25c19f0acd), the value provided in this field must meet those requirements. These requirements can be retrieved by calling the [Get Account Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) and referring to the `password_requirement` field present in the `security` object.
minimum: 8
type: string
required:
- first_name
- last_name
- email
- password
type: object
description: Account.
required: true
x-examples:
application/json:
email: fhjdhf@djhfjdf.ff
first_name: Harry
last_name: Ghim
options:
meeting_connectors:
- 100.0.0.1
- 100.1.1.0
pay_mode: master
room_connectors:
- 127.0.0.1
- 127.1.1.0
share_mc: true
share_rc: true
password: bdkfhds1e3r
responses:
"201":
content:
application/json:
examples:
response:
value:
created_at: string
id: string
owner_email: string
owner_id: string
schema:
properties:
created_at:
description: Account created date time.
type: string
id:
description: Account ID.
type: string
owner_email:
description: Account owner email.
type: string
owner_id:
description: Account owner ID.
type: string
type: object
application/xml:
schema:
properties:
created_at:
description: Account created date time.
type: string
id:
description: Account ID.
type: string
owner_email:
description: Account owner email.
type: string
owner_id:
description: Account owner ID.
type: string
type: object
description: Account created.
headers:
Content-Location:
description: Location of the created account.
schema:
type: string
"400":
description: |+
**HTTP Status Code:** `400`
**Error Code:**`300` Your request could not be completed because the name contains an invalid word: {name}
**Error Code:** `1107`
Email domain is blocked.
**Error Code:** `1111`
Password should not contain repeated characters such as 'aaaaaa'.
Password should not contain consecutive characters such as 'abc','123'.
"409":
description: |-
**HTTP Status Code:** `409`
**Error Code:** `1005`
Email $email has already been used.
summary: Create a sub account
tags:
- Accounts
"/accounts/{accountId}":
delete:
description: "Disassociate a sub account from its master account. This will leave the sub account intact but it will no longer be associated with the master account. \
**Prerequisites:**
* Pro or a higher paid account with master account option enabled.
* The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis).
**Scope**: `account:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
\ "
operationId: accountDisassociate
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
responses:
"204":
description: "**HTTP Status Code**: `204` Account deleted."
"404":
description: |-
**HTTP Status Code**: `404`
**Error Code:** `2000` You cannot disassociate a paid account.
**Error Code:** `2001` Account does not exist: $subAccountId.
summary: Disassociate a sub account
tags:
- Accounts
get:
description: |+
Get details of a sub account that is listed under a master account. Your account must be a master account in order to retrieve sub accounts' details. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and create sub accounts. Email the partner programs team at **partner-success@zoom.us** for more details.
**Prerequisites:**
* Pro or a higher paid account with master account option enabled.
**Scope**: `account:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: account
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
created_at: string [date-time]
id: string
options:
meeting_connectors: string
pay_mode: string
room_connectors: string
share_mc: boolean
share_rc: boolean
owner_email: string
owner_id: string
schema:
properties:
created_at:
description: Account creation date and time.
format: date-time
type: string
id:
description: Account ID.
type: string
options:
description: Account options object.
properties:
billing_auto_renew:
description: Toggle whether automatic billing renewal is on or off.
type: boolean
meeting_connector_list:
description: |-
Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_mc` is set to `true`.
items:
type: string
type: array
pay_mode:
default: master
description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
enum:
- master
- sub
type: string
x-enum-descriptions:
- master account holder pays
- Sub account holder pays
room_connector_list:
description: |-
Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_rc` is set to `true`.
items:
type: string
type: array
share_mc:
default: false
description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
type: boolean
share_rc:
default: false
description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
type: boolean
type: object
owner_email:
description: Account owner email.
type: string
owner_id:
description: Account owner ID.
type: string
vanity_url:
description: Account Vanity URL
type: string
type: object
application/xml:
schema:
properties:
created_at:
description: Account creation date and time.
format: date-time
type: string
id:
description: Account ID.
type: string
options:
description: Account options object.
properties:
billing_auto_renew:
description: Toggle whether automatic billing renewal is on or off.
type: boolean
meeting_connector_list:
description: |-
Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_mc` is set to `true`.
items:
type: string
type: array
pay_mode:
default: master
description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
enum:
- master
- sub
type: string
x-enum-descriptions:
- master account holder pays
- Sub account holder pays
room_connector_list:
description: |-
Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_rc` is set to `true`.
items:
type: string
type: array
share_mc:
default: false
description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
type: boolean
share_rc:
default: false
description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
type: boolean
type: object
owner_email:
description: Account owner email.
type: string
owner_id:
description: Account owner ID.
type: string
vanity_url:
description: Account Vanity URL
type: string
type: object
description: |-
**HTTP Status Code**: `200`
Account object returned.
"404":
description: |-
**HTTP Status Code**: `404`
**Error Code:** `2001` Account does not exist: $subAccountId.
summary: Get sub account details
tags:
- Accounts
"/accounts/{accountId}/billing":
get:
description: |+
Get [billing information](https://support.zoom.us/hc/en-us/articles/201363263-About-Billing) of a sub account.
Only master accounts can use this API. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' billing information. Email the partner programs team at **partner-success@zoom.us** for more details.
**Prerequisites:**
* Pro or a higher paid account with master account option enabled.
**Scope**:`billing:master`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: accountBilling
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
address: string
apt: string
city: string
country: string
email: string
first_name: string
last_name: string
phone_number: string
state: string
zip: string
schema:
description: Billing Contact object.
properties:
address:
description: Billing Contact's address.
type: string
apt:
description: Billing Contact's apartment/suite.
type: string
city:
description: Billing Contact's city.
type: string
country:
description: Billing Contact's Country [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) in abbreviated format.
type: string
email:
description: Billing Contact's email address.
type: string
first_name:
description: Billing Contact's first name.
type: string
last_name:
description: Billing Contact's last name.
type: string
phone_number:
description: Billing Contact's phone number.
type: string
state:
description: Billing Contact's state.
type: string
zip:
description: Billing Contact's zip/postal code.
type: string
required:
- first_name
- last_name
- email
- phone_number
- address
- city
- state
- zip
- country
type: object
application/xml:
schema:
description: Billing Contact object.
properties:
address:
description: Billing Contact's address.
type: string
apt:
description: Billing Contact's apartment/suite.
type: string
city:
description: Billing Contact's city.
type: string
country:
description: Billing Contact's Country [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) in abbreviated format.
type: string
email:
description: Billing Contact's email address.
type: string
first_name:
description: Billing Contact's first name.
type: string
last_name:
description: Billing Contact's last name.
type: string
phone_number:
description: Billing Contact's phone number.
type: string
state:
description: Billing Contact's state.
type: string
zip:
description: Billing Contact's zip/postal code.
type: string
required:
- first_name
- last_name
- email
- phone_number
- address
- city
- state
- zip
- country
type: object
description: |-
**HTTP Status Code:** `200`
Account billing contact information returned.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `2100`
This sub account is on self pay mode.
"404":
description: |+
**HTTP Status Code:** `404`
**Error Code:** `2001`
Account does not exist: {subAccountId}.
summary: Get billing information
tags:
- Billing
patch:
description: |+
Update [billing information](https://support.zoom.us/hc/en-us/articles/201363263-About-Billing) of a sub account.
This API can only be used by master accounts that pay all billiing charges of their associated sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' billing information. Email the partner programs team at **partner-success@zoom.us** for more details.
**Prerequisites:**
* Pro or a higher paid account with master account option enabled.
**Scope**:`billing:master`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: accountBillingUpdate
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
description: Billing Contact object.
properties:
address:
description: Billing Contact's address.
type: string
apt:
description: Billing Contact's apartment/suite.
type: string
city:
description: Billing Contact's city.
type: string
country:
description: Billing Contact's country.
type: string
email:
description: Billing Contact's email address.
type: string
first_name:
description: Billing Contact's first name.
type: string
last_name:
description: Billing Contact's last name.
type: string
phone_number:
description: Billing Contact's phone number.
type: string
state:
description: Billing Contact's state.
type: string
zip:
description: Billing Contact's zip/postal code.
type: string
type: object
multipart/form-data:
schema:
description: Billing Contact object.
properties:
address:
description: Billing Contact's address.
type: string
apt:
description: Billing Contact's apartment/suite.
type: string
city:
description: Billing Contact's city.
type: string
country:
description: Billing Contact's country.
type: string
email:
description: Billing Contact's email address.
type: string
first_name:
description: Billing Contact's first name.
type: string
last_name:
description: Billing Contact's last name.
type: string
phone_number:
description: Billing Contact's phone number.
type: string
state:
description: Billing Contact's state.
type: string
zip:
description: Billing Contact's zip/postal code.
type: string
type: object
required: true
x-examples:
application/json:
address: string
apt: string
city: string
country: string
email: string
first_name: string
last_name: string
phone_number: string
state: string
zip: string
responses:
"200":
description: |-
**Error Code:** `200`
Please subscribe a plan for this sub account first.
"204":
description: |-
**HTTP Status Code:** `204`
Account billing contact information updated.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `2100`
This sub account is on self pay mode.
Invalid country parameter: {country}.
Invalid state parameter: {state}.
"404":
description: |+
**HTTP Status Code:** `404`
**Error Code:** `2001`
Account does not exist: {subAccountId}.
summary: Update billing information
tags:
- Billing
"/accounts/{accountId}/billing/invoices":
get:
description: |-
List [invoices](https://support.zoom.us/hc/en-us/articles/207276556-Viewing-your-invoice-history#h_6710542f-23cc-4059-9cc7-ff02bec7314e) of a Zoom account.
To list a regular Zoom account's invoices or a master account's invoices, provide `me` as the value of the `accountId` path parameter. To list a sub account's invoices, provide the account ID of the sub account in the `accountId` path parameter.
**Prerequisites:**
* Account must be enrolled in Pro or a higher plan.
**Scope**:`billing:master` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Additional Rate Limit:** You can make **one** API request per account(`accountId`) every **five** minutes until the daily limit is reached. This API has a daily limit of **6** requests per account(`accountId`).
operationId: accountBillingInvoices
parameters:
- description: |
Start date for the invoice query in `yyyy-mm-dd` format. The date range defined by the “from” and “to” parameters should not exceed one year. The range defined should fall within the past three years.
in: query
name: from
schema:
format: date
type: string
- description: End date for the invoice query in `yyyy-mm-dd` format
in: query
name: to
schema:
format: date
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
currency: USD
invoices:
- balance: 2039
due_date: 2020-08-07
id: 2c92c12348d07e0580
invoice_date: 2020-08-07
invoice_number: S8INsdf4534000001
status: Draft
target_date: 2020-08-07
tax_amount: 0
total_amount: 2039
schema:
properties:
currency:
description: Currency used in the invoice.
type: string
invoices:
items:
properties:
balance:
description: |+
The remaining balance of the invoice after all payments, adjustments, and refunds are applied.
format: double
type: number
due_date:
description: |+
The date by which the payment for this invoice is due.
type: string
id:
description: Unique identifier of the invoice.
type: string
invoice_date:
description: |
The date when the invoice was generated.
type: string
invoice_number:
description: Invoice number.
type: string
status:
default: '"Draft"'
description: Status of the invoice.
type: string
target_date:
description: |
This date is used to determine which charges are to be billed. All charges that are to be billed on this date or prior will be included in the invoice.
type: string
tax_amount:
description: Tax amount.
format: double
type: number
total_amount:
description: Total invoice amount.
format: double
type: number
type: object
type: array
type: object
application/xml:
schema:
properties:
currency:
description: Currency used in the invoice.
type: string
invoices:
items:
properties:
balance:
description: |+
The remaining balance of the invoice after all payments, adjustments, and refunds are applied.
format: double
type: number
due_date:
description: |+
The date by which the payment for this invoice is due.
type: string
id:
description: Unique identifier of the invoice.
type: string
invoice_date:
description: |
The date when the invoice was generated.
type: string
invoice_number:
description: Invoice number.
type: string
status:
default: '"Draft"'
description: Status of the invoice.
type: string
target_date:
description: |
This date is used to determine which charges are to be billed. All charges that are to be billed on this date or prior will be included in the invoice.
type: string
tax_amount:
description: Tax amount.
format: double
type: number
total_amount:
description: Total invoice amount.
format: double
type: number
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Account billing invoice information returned.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `200`
Only available for Paid account: {subAccountId}.
**Error Code:** `2001`
Account does not exist: {subAccountId}.
summary: List billing invoices
tags:
- Billing
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
"/accounts/{accountId}/billing/invoices/{invoiceId}":
get:
description: |-
Get detailed information about a specific [invoice](https://support.zoom.us/hc/en-us/articles/207276556-Viewing-your-invoice-history#h_6710542f-23cc-4059-9cc7-ff02bec7314e). To retrieve a regular Zoom account's invoice details or a master account's invoice details, provide `me` as the value of `accountId` path parameter. To list a sub account's invoice details, provide the account ID of the sub account in the `accountId` path parameter.
**Prerequisites:**
* Account must be enrolled in Pro or a higher plan.
**Scope**:`billing:master`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Additional Rate Limit:** You can make **one** API request every **thirty** minutes until the daily limit is reached. This API has a daily limit of **100** requests per **account**.
operationId: getAccountBillingInvoice
responses:
"200":
content:
application/json:
examples:
response:
value:
balance: 2039
currency: USD
due_date: 2020-08-07
id: 2c92fghvb0580
invoice_date: 2020-08-07
invoice_items:
- charge_name: Standard Biz Annual
charge_number: C-00000004
charge_type: Recurring
end_date: 2021-08-06
quantity: 10
start_date: 2020-08-07
tax_amount: 0
total_amount: 1999
- charge_name: Cloud Recording 100 GB
charge_number: C-00000005
charge_type: Recurring
end_date: 2020-09-06
quantity: 1
start_date: 2020-08-07
tax_amount: 0
total_amount: 40
invoice_number: Shjmr5INV00000001
status: Draft
target_date: 2020-08-07
tax_amount: 0
total_amount: 2039
schema:
properties:
balance:
description: |+
The remaining balance of the invoice after all payments, adjustments, and refunds are applied.
format: double
type: number
currency:
description: Billing currency.
type: string
due_date:
description: |+
The date by which the payment for this invoice is due.
type: string
id:
description: Unique identifier of the invoice.
type: string
invoice_date:
description: |
The date when the invoice was generated.
type: string
invoice_items:
items:
properties:
charge_name:
description: Description for the charge.
type: string
charge_number:
description: Identifier for the charge.
type: string
charge_type:
description: Charge type.
type: string
end_date:
description: Billing end date.
format: date
type: string
quantity:
description: Quantity.
type: integer
start_date:
description: Billing start date.
format: date
type: string
tax_amount:
description: Tax amount.
format: double
type: number
total_amount:
description: Total amount.
format: double
type: number
type: object
type: array
invoice_number:
description: Invoice number.
type: string
status:
default: '"Draft"'
description: Status of the invoice.
type: string
target_date:
description: |
This date is used to determine which charges are to be billed. All charges that are to be billed on this date or prior will be included in the invoice.
type: string
tax_amount:
description: Tax amount.
format: double
type: number
total_amount:
description: Total invoice amount.
format: double
type: number
type: object
application/xml:
schema:
properties:
balance:
description: |+
The remaining balance of the invoice after all payments, adjustments, and refunds are applied.
format: double
type: number
currency:
description: Billing currency.
type: string
due_date:
description: |+
The date by which the payment for this invoice is due.
type: string
id:
description: Unique identifier of the invoice.
type: string
invoice_date:
description: |
The date when the invoice was generated.
type: string
invoice_items:
items:
properties:
charge_name:
description: Description for the charge.
type: string
charge_number:
description: Identifier for the charge.
type: string
charge_type:
description: Charge type.
type: string
end_date:
description: Billing end date.
format: date
type: string
quantity:
description: Quantity.
type: integer
start_date:
description: Billing start date.
format: date
type: string
tax_amount:
description: Tax amount.
format: double
type: number
total_amount:
description: Total amount.
format: double
type: number
type: object
type: array
invoice_number:
description: Invoice number.
type: string
status:
default: '"Draft"'
description: Status of the invoice.
type: string
target_date:
description: |
This date is used to determine which charges are to be billed. All charges that are to be billed on this date or prior will be included in the invoice.
type: string
tax_amount:
description: Tax amount.
format: double
type: number
total_amount:
description: Total invoice amount.
format: double
type: number
type: object
description: |-
**HTTP Status Code:** `200`
Account billing invoice information returned.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `2001`
Account does not exist: {subAccountId}.
InvoiceId does not exist: {invoiceId}.
summary: Get invoice details
tags:
- Billing
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
- description: The invoice ID.
in: path
name: invoiceId
required: true
schema:
type: string
"/accounts/{accountId}/lock_settings":
get:
description: |-
[Account Locked Settings](https://support.zoom.us/hc/en-us/articles/115005269866) allow you turn settings on or off for all users in your account. No user except the account admin or account owner can change these settings. With lock settings, you force the settings on for all users.
Use this API to retrieve an account's locked settings.
**Note:** This API can be used by Zoom Accounts that are on a Pro or a higher plan as well accounts that have master and sub accounts options enabled.
**Prerequisites:**
* Pro or a higher paid account.
**Scope**: `account:read:admin`.
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Scope:** account:read:admin
operationId: getAccountLockSettings
parameters:
- description: Unique Identifier of the account. To retrieve locked settings of the master account or a regular account, provide "me" as the value of this field. To retrieve locked settings of a sub account, provide the Account ID of the sub account in this field.
in: path
name: accountId
required: true
schema:
type: string
- description: "`meeting_security`: Use this query parameter to view meeting security settings applied on the account. "
in: query
name: option
schema:
type: string
- description: |-
Provide the name of the field by which you would like to filter the response. For example, if you provide "host_video" as the value of this field, you will get a response similar to the following:
{
"schedule_meeting": {
"host_video": false
}
}
You can provide multiple values by separating them with commas(example: "host_video,participant_video”).
in: query
name: custom_query_fields
schema:
type: string
responses:
"200":
content:
application/json:
schema:
oneOf:
- properties:
email_notification:
properties:
alternative_host_reminder:
description: Notify the alternative host who is set or removed.
type: boolean
cancel_meeting_reminder:
description: Notify host and participants when the meeting is cancelled.
type: boolean
cloud_recording_available_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify host when participants join the meeting before them.
type: boolean
schedule_for_host_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
in_meeting:
properties:
alert_guest_join:
description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
type: boolean
allow_show_zoom_windows:
description: Show Zoom windows during screen share.
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
anonymous_question_answer:
description: ""
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send chat message visible to all participants.
type: boolean
closed_caption:
description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
type: boolean
co_host:
description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
type: boolean
custom_data_center_regions:
description: Displays whether or not custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) have been selected for meetings/webinars hosted by the account.
type: boolean
dscp_marking:
description: "Enable DSCP marking for signaling and media packets. (Default is 56 for audio, 40 for video, and 40 for signaling.) "
type: boolean
e2e_encryption:
description: Require that all meetings are encrypted using AES.
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave.
type: string
far_end_camera_control:
description: Allow another user to take control of the camera during a meeting.
type: boolean
feedback:
description: Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for all users on the account or not.
type: boolean
group_hd:
description: Enable higher quality video for host and participants. This will require more bandwidth.
type: boolean
original_audio:
description: Allow users to select original sound during a meeting.
type: boolean
polling:
description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
type: boolean
post_meeting_feedback:
description: Display end-of-meeting experience feedback survey.
type: boolean
private_chat:
description: Allow meeting participants to send a private 1:1 message to another participant.
type: boolean
remote_control:
description: During screen sharing, allow the person who is sharing to let others control the shared content.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option is enabled and locked for the account or not.
type: boolean
screen_sharing:
description: Allow host and participants to share their screen or content during meetings.
type: boolean
sending_default_email_invites:
description: Allow users to invite participants by email only by default.
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
stereo_audio:
description: Allow users to select stereo audio during a meeting.
type: boolean
use_html_format_email:
description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
type: boolean
virtual_background:
description: Enable virtual background.
type: boolean
webinar_question_answer:
description: Allow attendees to ask questions for the host and panelists to answer in the webinar.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
type: object
recording:
properties:
account_user_access_recording:
description: Make cloud recordings accessible to account members only.
type: boolean
auto_delete_cmr:
description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
type: boolean
auto_recording:
description: Record meetings automatically as they start.
type: string
cloud_recording:
description: Allow hosts to record and save the meeting / webinar in the cloud.
type: boolean
cloud_recording_download:
description: Allow anyone with a link to the cloud recording to download.
type: boolean
host_delete_cloud_recording:
description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting to a local file.
type: boolean
prevent_host_access_recording:
description: |+
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
recording_authentication:
description: Only authenticated users can view cloud recordings
type: string
type: object
schedule_meeting:
properties:
audio_type:
description: Determine how participants can join the audio portion of the meeting.
type: boolean
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
\ "
type: boolean
enforce_login:
description: |
Allow only signed-in users to join meetings.
type: boolean
enforce_login_domains:
description: |
Specify the domains from which users can join a meeting.
type: string
enforce_login_with_domains:
description: |
Allow only signed-in users with specified domains to join meetings.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives
type: boolean
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
not_store_meeting_topic:
description: Hide actual meeting topic and display "Zoom Meeting" for your scheduled meetings
type: boolean
participant_video:
description: Start meetings with participant video on.
type: boolean
require_password_for_instant_meetings:
description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: Require participants to enter password for PMI meetings. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_scheduling_new_meetings:
description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
type: object
telephony:
properties:
telephony_regions:
type: boolean
third_party_audio:
description: Allow users to join the meeting using the existing 3rd party audio configuration.
type: boolean
type: object
tsp:
properties:
call_out:
description: ""
type: boolean
show_international_numbers_link:
description: ""
type: boolean
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
type: object
application/xml:
schema:
oneOf:
- properties:
email_notification:
properties:
alternative_host_reminder:
description: Notify the alternative host who is set or removed.
type: boolean
cancel_meeting_reminder:
description: Notify host and participants when the meeting is cancelled.
type: boolean
cloud_recording_available_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify host when participants join the meeting before them.
type: boolean
schedule_for_host_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
in_meeting:
properties:
alert_guest_join:
description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
type: boolean
allow_show_zoom_windows:
description: Show Zoom windows during screen share.
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
anonymous_question_answer:
description: ""
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send chat message visible to all participants.
type: boolean
closed_caption:
description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
type: boolean
co_host:
description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
type: boolean
custom_data_center_regions:
description: Displays whether or not custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) have been selected for meetings/webinars hosted by the account.
type: boolean
dscp_marking:
description: "Enable DSCP marking for signaling and media packets. (Default is 56 for audio, 40 for video, and 40 for signaling.) "
type: boolean
e2e_encryption:
description: Require that all meetings are encrypted using AES.
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave.
type: string
far_end_camera_control:
description: Allow another user to take control of the camera during a meeting.
type: boolean
feedback:
description: Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for all users on the account or not.
type: boolean
group_hd:
description: Enable higher quality video for host and participants. This will require more bandwidth.
type: boolean
original_audio:
description: Allow users to select original sound during a meeting.
type: boolean
polling:
description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
type: boolean
post_meeting_feedback:
description: Display end-of-meeting experience feedback survey.
type: boolean
private_chat:
description: Allow meeting participants to send a private 1:1 message to another participant.
type: boolean
remote_control:
description: During screen sharing, allow the person who is sharing to let others control the shared content.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option is enabled and locked for the account or not.
type: boolean
screen_sharing:
description: Allow host and participants to share their screen or content during meetings.
type: boolean
sending_default_email_invites:
description: Allow users to invite participants by email only by default.
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
stereo_audio:
description: Allow users to select stereo audio during a meeting.
type: boolean
use_html_format_email:
description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
type: boolean
virtual_background:
description: Enable virtual background.
type: boolean
webinar_question_answer:
description: Allow attendees to ask questions for the host and panelists to answer in the webinar.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
type: object
recording:
properties:
account_user_access_recording:
description: Make cloud recordings accessible to account members only.
type: boolean
auto_delete_cmr:
description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
type: boolean
auto_recording:
description: Record meetings automatically as they start.
type: string
cloud_recording:
description: Allow hosts to record and save the meeting / webinar in the cloud.
type: boolean
cloud_recording_download:
description: Allow anyone with a link to the cloud recording to download.
type: boolean
host_delete_cloud_recording:
description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting to a local file.
type: boolean
prevent_host_access_recording:
description: |+
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
recording_authentication:
description: Only authenticated users can view cloud recordings
type: string
type: object
schedule_meeting:
properties:
audio_type:
description: Determine how participants can join the audio portion of the meeting.
type: boolean
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
\ "
type: boolean
enforce_login:
description: |
Allow only signed-in users to join meetings.
type: boolean
enforce_login_domains:
description: |
Specify the domains from which users can join a meeting.
type: string
enforce_login_with_domains:
description: |
Allow only signed-in users with specified domains to join meetings.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives
type: boolean
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
not_store_meeting_topic:
description: Hide actual meeting topic and display "Zoom Meeting" for your scheduled meetings
type: boolean
participant_video:
description: Start meetings with participant video on.
type: boolean
require_password_for_instant_meetings:
description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: Require participants to enter password for PMI meetings. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_scheduling_new_meetings:
description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
type: object
telephony:
properties:
telephony_regions:
type: boolean
third_party_audio:
description: Allow users to join the meeting using the existing 3rd party audio configuration.
type: boolean
type: object
tsp:
properties:
call_out:
description: ""
type: boolean
show_international_numbers_link:
description: ""
type: boolean
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
type: object
description: |+
**Error Code:** `200`
Only available for paid account:$accountId.
**HTTP Status Code:** `200`
Locked settings for the Account returned.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `2001`
Account does not exist: $subAccountId.
summary: Get locked settings
tags:
- Accounts
parameters:
- in: path
name: accountId
required: true
schema:
type: string
patch:
description: "[Account Locked Settings](https://support.zoom.us/hc/en-us/articles/115005269866) allow you turn settings on or off for all users in your account. No user except the account admin or account owner can change these settings. With lock settings, you force the settings on for all users. Use this API to update an account's locked settings.
**Note:** This API can be used by Zoom Accounts that are on a Pro or a higher plan as well accounts that have master and sub accounts options enabled.
**Prerequisites:**
* Pro or a higher paid account.
**Scope:** `account:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
\ "
operationId: updateAccountLockSettings
parameters:
- description: Unique Identifier of the account. To retrieve locked settings of the master account or a regular account, provide "me" as the value of this field. To retrieve locked settings of a sub account, provide the Account ID of the sub account in this field.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
oneOf:
- properties:
email_notification:
properties:
alternative_host_reminder:
description: Notify the alternative host who is set or removed.
type: boolean
cancel_meeting_reminder:
description: Notify host and participants when the meeting is cancelled.
type: boolean
cloud_recording_available_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify host when participants join the meeting before them.
type: boolean
schedule_for_host_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
in_meeting:
properties:
alert_guest_join:
description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
type: boolean
allow_show_zoom_windows:
description: Show Zoom windows during screen share.
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
anonymous_question_answer:
description: ""
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send chat message visible to all participants.
type: boolean
closed_caption:
description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
type: boolean
co_host:
description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
type: boolean
custom_data_center_regions:
description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field in the account settings. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
dscp_marking:
description: Allow users to select stereo audio during a meeting.
type: boolean
e2e_encryption:
description: Require that all meetings are encrypted using AES.
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave.
type: string
far_end_camera_control:
description: Allow another user to take control of the camera during a meeting.
type: boolean
feedback:
description: Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for all users on the account or not.
type: boolean
group_hd:
description: Enable higher quality video for host and participants. This will require more bandwidth.
type: boolean
original_audio:
description: Allow users to select original sound during a meeting.
type: boolean
polling:
description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
type: boolean
post_meeting_feedback:
description: Display end-of-meeting experience feedback survey.
type: boolean
private_chat:
description: Allow meeting participants to send a private 1:1 message to another participant.
type: boolean
remote_control:
description: During screen sharing, allow the person who is sharing to let others control the shared content.
type: boolean
request_permission_to_unmute:
description: Indicate whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option should be enabled and locked for the account or not.
type: boolean
screen_sharing:
description: Allow host and participants to share their screen or content during meetings.
type: boolean
sending_default_email_invites:
description: Allow users to invite participants by email only by default.
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
stereo_audio:
description: Allow users to select stereo audio during a meeting.
type: boolean
use_html_format_email:
description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
type: boolean
virtual_background:
description: Enable virtual background.
type: boolean
webinar_question_answer:
description: ""
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
type: object
recording:
properties:
account_user_access_recording:
description: Make cloud recordings accessible to account members only.
type: boolean
auto_delete_cmr:
description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
type: boolean
auto_recording:
description: Record meetings automatically as they start.
type: string
cloud_recording:
description: Allow hosts to record and save the meeting / webinar in the cloud.
type: boolean
cloud_recording_download:
description: Allow anyone with a link to the cloud recording to download.
type: boolean
host_delete_cloud_recording:
description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting to a local file.
type: boolean
prevent_host_access_recording:
description: |+
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
recording_authentication:
type: string
type: object
schedule_meeting:
properties:
audio_type:
description: Determine how participants can join the audio portion of the meeting.
type: boolean
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
\ "
type: boolean
enforce_login:
description: Participants must always sign in before joining the scheduled meeting.
type: boolean
enforce_login_domains:
type: string
enforce_login_with_domains:
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives
type: boolean
meeting_authentication:
type: boolean
not_store_meeting_topic:
type: boolean
participant_video:
description: Start meetings with participant video on.
type: boolean
personal_meeting:
description: |+
Turn the lock setting on or off for the **Enable Personal Meeting ID** setting for an entire account.
`true`: Turn the **"Enable Personal Meeting ID"** setting **on** for all users in the account. Users can choose to use personal meeting ID for their meetings.
`false`: Turn **off** the **"Enable Personal Meeting ID"** setting. **If this setting is [disabled](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link?flash_digest=eb7ac62d8c7fb4daf285916e3e15d87537806133#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a), meetings that were scheduled with PMI by the users in the account will be invalid. Users will have to update previously scheduled PMI meetings.**
For Zoom Phone only: If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
require_password_for_instant_meetings:
description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: Require participants to enter password for PMI meetings. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_scheduling_new_meetings:
description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
type: object
telephony:
properties:
telephony_regions:
type: boolean
third_party_audio:
description: Allow users to join the meeting using the existing 3rd party audio configuration.
type: boolean
type: object
tsp:
properties:
call_out:
description: ""
type: boolean
show_international_numbers_link:
description: ""
type: boolean
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
type: object
multipart/form-data:
schema:
oneOf:
- properties:
email_notification:
properties:
alternative_host_reminder:
description: Notify the alternative host who is set or removed.
type: boolean
cancel_meeting_reminder:
description: Notify host and participants when the meeting is cancelled.
type: boolean
cloud_recording_available_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify host when participants join the meeting before them.
type: boolean
schedule_for_host_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
in_meeting:
properties:
alert_guest_join:
description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
type: boolean
allow_show_zoom_windows:
description: Show Zoom windows during screen share.
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
anonymous_question_answer:
description: ""
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send chat message visible to all participants.
type: boolean
closed_caption:
description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
type: boolean
co_host:
description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
type: boolean
custom_data_center_regions:
description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field in the account settings. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
dscp_marking:
description: Allow users to select stereo audio during a meeting.
type: boolean
e2e_encryption:
description: Require that all meetings are encrypted using AES.
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave.
type: string
far_end_camera_control:
description: Allow another user to take control of the camera during a meeting.
type: boolean
feedback:
description: Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for all users on the account or not.
type: boolean
group_hd:
description: Enable higher quality video for host and participants. This will require more bandwidth.
type: boolean
original_audio:
description: Allow users to select original sound during a meeting.
type: boolean
polling:
description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
type: boolean
post_meeting_feedback:
description: Display end-of-meeting experience feedback survey.
type: boolean
private_chat:
description: Allow meeting participants to send a private 1:1 message to another participant.
type: boolean
remote_control:
description: During screen sharing, allow the person who is sharing to let others control the shared content.
type: boolean
request_permission_to_unmute:
description: Indicate whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option should be enabled and locked for the account or not.
type: boolean
screen_sharing:
description: Allow host and participants to share their screen or content during meetings.
type: boolean
sending_default_email_invites:
description: Allow users to invite participants by email only by default.
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
stereo_audio:
description: Allow users to select stereo audio during a meeting.
type: boolean
use_html_format_email:
description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
type: boolean
virtual_background:
description: Enable virtual background.
type: boolean
webinar_question_answer:
description: ""
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
type: object
recording:
properties:
account_user_access_recording:
description: Make cloud recordings accessible to account members only.
type: boolean
auto_delete_cmr:
description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
type: boolean
auto_recording:
description: Record meetings automatically as they start.
type: string
cloud_recording:
description: Allow hosts to record and save the meeting / webinar in the cloud.
type: boolean
cloud_recording_download:
description: Allow anyone with a link to the cloud recording to download.
type: boolean
host_delete_cloud_recording:
description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting to a local file.
type: boolean
prevent_host_access_recording:
description: |+
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
recording_authentication:
type: string
type: object
schedule_meeting:
properties:
audio_type:
description: Determine how participants can join the audio portion of the meeting.
type: boolean
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
\ "
type: boolean
enforce_login:
description: Participants must always sign in before joining the scheduled meeting.
type: boolean
enforce_login_domains:
type: string
enforce_login_with_domains:
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives
type: boolean
meeting_authentication:
type: boolean
not_store_meeting_topic:
type: boolean
participant_video:
description: Start meetings with participant video on.
type: boolean
personal_meeting:
description: |+
Turn the lock setting on or off for the **Enable Personal Meeting ID** setting for an entire account.
`true`: Turn the **"Enable Personal Meeting ID"** setting **on** for all users in the account. Users can choose to use personal meeting ID for their meetings.
`false`: Turn **off** the **"Enable Personal Meeting ID"** setting. **If this setting is [disabled](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link?flash_digest=eb7ac62d8c7fb4daf285916e3e15d87537806133#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a), meetings that were scheduled with PMI by the users in the account will be invalid. Users will have to update previously scheduled PMI meetings.**
For Zoom Phone only: If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
require_password_for_instant_meetings:
description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: Require participants to enter password for PMI meetings. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_scheduling_new_meetings:
description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
type: object
telephony:
properties:
telephony_regions:
type: boolean
third_party_audio:
description: Allow users to join the meeting using the existing 3rd party audio configuration.
type: boolean
type: object
tsp:
properties:
call_out:
description: ""
type: boolean
show_international_numbers_link:
description: ""
type: boolean
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
type: object
x-examples: {}
responses:
"200":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |
**Error Code:** `200`
Only available for Paid account: $accountId.
"204":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |-
**HTTP Status Code:** `204`
Account lock settings updated.
"404":
description: |
**HTTP Status Code:** `404`
**Error Code:** `2001`
TAccount does not exist: $subAccountId.
security:
- OAuth: []
summary: Update locked settings
tags:
- Accounts
"/accounts/{accountId}/managed_domains":
get:
description: |+
Get a sub account's [managed domains](https://support.zoom.us/hc/en-us/articles/203395207-What-is-Managed-Domain-).
**Note:** This API can be used by Zoom Accounts that are on a Pro or a higher plan as well accounts that have master and sub accounts options enabled.
To get managed domains of the master account, provide `me` as the value for accountId in the path parameter. Provide the sub account's Account ID as the value of accountId path parameter to get managed domains of the sub account.
**Prerequisites:**
* Pro or a higher paid account with master account option enabled.
**Scope:** `account:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: accountManagedDomain
parameters:
- description: Unique Identifier of the account. To retrieve locked settings of the master account or a regular account, provide "me" as the value of this field. To retrieve locked settings of a sub account, provide the Account ID of the sub account in this field.
in: path
name: accountId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
description: List of managed domains.
properties:
domains:
description: List of managed domain objects.
items:
allOf:
- properties:
domain:
description: Domain name.
type: string
status:
description: Domain status.
type: string
type: object
type: array
total_records:
description: Total records.
type: integer
type: object
application/xml:
schema:
description: List of managed domains.
properties:
domains:
description: List of managed domain objects.
items:
allOf:
- properties:
domain:
description: Domain name.
type: string
status:
description: Domain status.
type: string
type: object
type: array
total_records:
description: Total records.
type: integer
type: object
description: |+
**HTTP Status Code:** `200`
Account managed domains returned.
**Error Code:** `200`
Only available for paid account.
"404":
description: |
**HTTP Status Code:** `404`
**Error Code**: `2001`
Account does not exist: $subAccountId.
security:
- OAuth: []
summary: Get managed domains
tags:
- Accounts
"/accounts/{accountId}/options":
patch:
description: "Update a sub account's options under the master account.
**Prerequisites:**
* Pro or a higher paid account with master account option enabled.
* The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis).
**Scope**: `account:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
\ "
operationId: accountOptionsUpdate
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
description: Account options object.
properties:
billing_auto_renew:
description: Toggle whether automatic billing renewal is on or off.
type: boolean
meeting_connector_list:
description: |-
Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_mc` is set to `true`.
items:
type: string
type: array
pay_mode:
default: master
description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
enum:
- master
- sub
type: string
x-enum-descriptions:
- master account holder pays
- Sub account holder pays
room_connector_list:
description: |-
Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_rc` is set to `true`.
items:
type: string
type: array
share_mc:
default: false
description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
type: boolean
share_rc:
default: false
description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
type: boolean
type: object
multipart/form-data:
schema:
description: Account options object.
properties:
billing_auto_renew:
description: Toggle whether automatic billing renewal is on or off.
type: boolean
meeting_connector_list:
description: |-
Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_mc` is set to `true`.
items:
type: string
type: array
pay_mode:
default: master
description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
enum:
- master
- sub
type: string
x-enum-descriptions:
- master account holder pays
- Sub account holder pays
room_connector_list:
description: |-
Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_rc` is set to `true`.
items:
type: string
type: array
share_mc:
default: false
description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
type: boolean
share_rc:
default: false
description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
type: boolean
type: object
required: true
x-examples: {}
responses:
"200":
description: |-
**Error Code:** `200`
The pay mode cannot be updated for a sub account which already has an existing plan.
"204":
content:
application/json:
examples:
response:
value:
meeting_connectors: string
pay_mode: string
room_connectors: string
share_mc: boolean
share_rc: boolean
description: |-
**HTTP Status Code:** `204`
Account options updated.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `2100` The collection method cannot be changed after the purchase is complete.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `2001`
Account does not exist: $subAccountId.
security:
- OAuth: []
summary: Update options
tags:
- Accounts
"/accounts/{accountId}/owner":
parameters:
- in: path
name: accountId
required: true
schema:
type: string
put:
description: |-
The current account owner can [change the owner of an account](https://support.zoom.us/hc/en-us/articles/115005686983-Change-Account-Owner) to another user on the same account. Use this API to change the owner of a sub account.
**Prerequisites**:
* Account owner or admin permissions of an account.
* The account making this API request must be on a pro or a hiigher plan with [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) privilege.
**Scopes:** `account:write:admin` or `account:master` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: updateAccountOwner
parameters:
- description: Account Id of the account.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
email:
description: Email address of the new owner.
format: email
type: string
required:
- email
type: object
multipart/form-data:
schema:
properties:
email:
description: Email address of the new owner.
format: email
type: string
required:
- email
type: object
x-examples:
application/json:
email: AfRxe@ugAQaOgcbRq.vczy@somemailservice.com
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204`
Account owner updated.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `200`
User is not an admin or is an API user or doesn’t belong to this account: {accountId}.
Cannot make a user outside of your account an owner.
Cannot update the role of an account owner.
"404":
description: |
**HTTP Status Code:** `404`
**Error Code:** `2001`
Account does not exist: $subAccountId.
**Error Code:** `3201`
Cannot find a billing account for this: $accountId.
**Error Code:** `3211`
Cannot find a billing contact for this: $accountId.
security:
- OAuth: []
summary: Update the account owner
tags:
- Accounts
"/accounts/{accountId}/phone/settings":
parameters:
- in: path
name: accountId
required: true
schema:
type: string
patch:
description: |-
Only [master account owners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) can use this API to enable BYOC(Bring your own carrier) option for a sub account.
**Scope**:
* `phone:master`
**Prerequisites**:
* Business or enterprise Account.
operationId: updatePhoneSettings
parameters:
- description: Unique identifier of the sub account.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
byoc:
properties:
enable:
description: Set the value of this field to `true` to allow a sub account to add BYOC numbers from the Zoom web admin portal.
type: boolean
type: object
type: object
multipart/form-data:
schema:
properties:
byoc:
properties:
enable:
description: Set the value of this field to `true` to allow a sub account to add BYOC numbers from the Zoom web admin portal.
type: boolean
type: object
type: object
x-examples:
application/json:
byoc:
enable: true
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |+
**Response HTTP code**: `204` **No Content.**
Updated successfully.
"401":
description: |-
**HTTP Status Code:** `401`
**Error Code:** `124`
Account does not exist: {accountId}.
security:
- OAuth: []
summary: Update BYOC settings
tags:
- Phone
"/accounts/{accountId}/phone/setup":
post:
description: |+
After assigning a Zoom phone license to an account, an admin or account owner can proceed with the [initial Zoom phone set up](https://support.zoom.us/hc/en-us/articles/360001297663-Getting-started-with-Zoom-Phone-admin-#h_5ae26a3a-290c-4a8d-b3b0-6384ed267b13) using this API.
**Scope**:
* `phone:write:admin` `phone:write`
**Prerequisites**:
* Pro or a higher paid account with master account option enabled.
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: setUpAccount
parameters:
- description: Unique identifier of the account.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
emergency_address:
description: Specify emergency address for the account.
properties:
address_line1:
description: Specify the street address.
type: string
address_line2:
description: Specify any building number, floor number, or unit number.
type: string
city:
description: City of the emergency address. Required or optional dependent on different countries.
type: string
country:
description: Specify the two letter [country code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) (Alpha-2 code in ISO-3166).
type: string
state_code:
description: State code of the emergency address. Required or optional dependent on the country and state.
type: string
zip:
description: Zip code of the emergency address. Required or optional dependent on different countries.
type: string
required:
- country
- address_line1
type: object
extension_number:
default: "800"
description: Specify extension number that will be associated with the owner of the account.
type: string
required:
- extension_number
- emergency_address
type: object
multipart/form-data:
schema:
properties:
emergency_address:
description: Specify emergency address for the account.
properties:
address_line1:
description: Specify the street address.
type: string
address_line2:
description: Specify any building number, floor number, or unit number.
type: string
city:
description: City of the emergency address. Required or optional dependent on different countries.
type: string
country:
description: Specify the two letter [country code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) (Alpha-2 code in ISO-3166).
type: string
state_code:
description: State code of the emergency address. Required or optional dependent on the country and state.
type: string
zip:
description: Zip code of the emergency address. Required or optional dependent on different countries.
type: string
required:
- country
- address_line1
type: object
extension_number:
default: "800"
description: Specify extension number that will be associated with the owner of the account.
type: string
required:
- extension_number
- emergency_address
type: object
responses:
"201":
description: |-
**HTTP Status Codes** `201`
Created.
"400":
description: |-
**HTTP Response Code:** `400`
**Error Codes:** `300`
The extension number {0} that you entered is a reserved number and can not be used. Provide a different number and try again.
This account is not enrolled in a Zoom Phone plan. Subscribe to a Zoom Phone plan and try again.
The billing information could not be retrieved at this time. Retry the request again after a few seconds.
The country code you entered is invalid. Provide a valid country code and try again.
The state code you entered is invalid. Provide a valid state code and try again.
The city information you entered is invalid. Provide a valid city name and try again.
State code is required for this country.
City is required for this country.
Zip is required for this country.
"401":
description: |-
**HTTP Status Code:** `401`
Unauthorized.
**Error Code:**
`124` Account does not exist: {accountId}.
security:
- OAuth: []
summary: Set up a Zoom Phone account
tags:
- Phone
"/accounts/{accountId}/phone/sip_trunk/trunks":
post:
description: |+
Using this API, a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) owner can assign SIP trunk(s) to a sub account.
**Scope**:
* `phone:master`
**Prerequisites**:
* Business or enterprise Account.
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: postPhoneSIPTrunk
parameters:
- description: Unique identifier of the account.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
sip_trunks:
description: SIP trunk configurations.
items:
properties:
carrier_account:
description: The account associated to the carrier.
type: string
id:
description: Unique identifier of the master account's SIP trunk.
type: string
name:
default: master SIP Trunk name
description: |
The name of the SIP Trunk. If this is not used, the master SIP Trunk name will be the default.
type: string
type: object
maxItems: 3
type: array
type: object
multipart/form-data:
schema:
properties:
sip_trunks:
description: SIP trunk configurations.
items:
properties:
carrier_account:
description: The account associated to the carrier.
type: string
id:
description: Unique identifier of the master account's SIP trunk.
type: string
name:
default: master SIP Trunk name
description: |
The name of the SIP Trunk. If this is not used, the master SIP Trunk name will be the default.
type: string
type: object
maxItems: 3
type: array
type: object
x-examples:
application/json:
sip_trunks:
- carrier_account: "9866"
id: "1231"
name: test1
- carrier_account: "986677"
id: "1234"
name: test2
responses:
"201":
content:
application/json:
examples:
response:
value:
sip_trunks:
- carrier_account: "9866"
id: "123111"
name: test1
- carrier_account: "986677"
id: "123444"
name: test2
schema:
properties:
sip_trunks:
items:
properties:
carrier_account:
description: Carrier account.
type: string
id:
description: Unique identifier of the SIP trunk of the sub account.
type: string
name:
description: Name of the SIP trunk.
type: string
type: object
type: array
type: object
application/xml:
schema:
properties:
sip_trunks:
items:
properties:
carrier_account:
description: Carrier account.
type: string
id:
description: Unique identifier of the SIP trunk of the sub account.
type: string
name:
description: Name of the SIP trunk.
type: string
type: object
type: array
type: object
description: |+
**HTTP Status Code:** `201` **Created**
"404":
description: |-
**HTTP Status Code:** `404`
SIP Trunk does not exist: {sipTruniId}
security:
- OAuth: []
summary: Assign SIP trunks
tags:
- Phone
"/accounts/{accountId}/phone/sip_trunk/trunks/{sipTrunkId}":
patch:
description: |+
Update details of a SIP trunk that is assigned to a sub account.
**Scope**:
* `phone:master`
**Prerequisites**:
Business or Enterprise Account.
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: updatePhoneSIPTrunk
parameters:
- description: Unique identifier of the SIP trunk.
in: path
name: sipTrunkId
required: true
schema:
type: string
- description: Unique identifier of the sub account.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
carrier_account:
description: Account associated with the carrier.
type: string
name:
description: Name of the SIP Trunk.
type: string
type: object
multipart/form-data:
schema:
properties:
carrier_account:
description: Account associated with the carrier.
type: string
name:
description: Name of the SIP Trunk.
type: string
type: object
x-examples:
application/json:
carrier_account: re36fshedderit
name: Test123
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |
**HTTP Response Code**: `204` **No Content**
"404":
description: |-
**HTTP Status Code:** `404`
Sip trunk does not exist: {0}.
security:
- OAuth: []
summary: Update SIP trunk details
tags:
- Phone
"/accounts/{accountId}/plans":
get:
description: "Get plan information of a sub account that is managed by a master account.
This API can only be used by master accounts that pay all billiing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' billing information. Email the partner programs team at **partner-success@zoom.us** for more details.
**Scopes:** `billing:master`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
\ "
operationId: accountPlans
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
plan_audio:
callout_countries: string
ddi_numbers: integer
premium_countries: string
tollfree_countries: string
type: string
plan_base:
hosts: integer
type: string
plan_large_meeting:
- hosts: integer
type: string
plan_phone:
plan_base:
callout_countries: string
type: string
plan_calling:
- hosts: integer
type: string
plan_number:
- hosts: integer
type: string
plan_recording: string
plan_room_connector:
hosts: integer
type: string
plan_webinar:
- hosts: integer
type: string
plan_zoom_rooms:
hosts: integer
type: string
schema:
properties:
plan_audio:
description: Additional audio conferencing plan type.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
ddi_numbers:
description: Dedicated dial-In numbers.
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
premium_countries:
description: 'Premium countries: multiple values should be separated by commas. For a list of allowed values, refer to the "ID" field in the [Premium Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#premium-countries) table.'
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
tollfree_countries:
description: 'Toll-free countries: multiple values should separated by a comma. For a list of allowed values, refer to the "ID" field in the [Toll Free Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#toll-free-countries) table.'
type: string
type:
description: Additional audio conferencing plan type.
type: string
type: object
plan_base:
properties:
hosts:
description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Account base plan type.
type: string
type: object
plan_large_meeting:
items:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Account plan type.
type: string
type: object
type: array
plan_phone:
description: Phone Plan Object
properties:
plan_base:
description: Additional phone base plans.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Additional phone base plan type.
type: string
type: object
plan_calling:
description: Additional phone calling plans.
items:
properties:
hosts:
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Additional phone calling plan type.
type: string
type: object
type: array
plan_number:
description: Additional phone number plans.
items:
properties:
hosts:
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Additional phone number plan type.
type: string
type: object
type: array
title: PhonePlan
type: object
plan_recording:
description: Additional Cloud Recording plan.
type: string
plan_recording_next_invoice_date:
description: Next invoice date of Additional Cloud Recording plan.
type: string
plan_recording_service_effective_date:
description: Plan start date of Additional Cloud Recording plan.
type: string
plan_recording_status:
description: Status of additional Cloud Recording plan.
enum:
- Active
- Cancelled
type: string
plan_room_connector:
properties:
hosts:
description: Account plan number of hosts.
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Account plan type.
type: string
type: object
plan_webinar:
items:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Account plan type.
type: string
type: object
type: array
plan_zoom_rooms:
properties:
hosts:
description: Account plan number of hosts.
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Account plan type.
type: string
type: object
type: object
application/xml:
schema:
properties:
plan_audio:
description: Additional audio conferencing plan type.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
ddi_numbers:
description: Dedicated dial-In numbers.
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
premium_countries:
description: 'Premium countries: multiple values should be separated by commas. For a list of allowed values, refer to the "ID" field in the [Premium Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#premium-countries) table.'
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
tollfree_countries:
description: 'Toll-free countries: multiple values should separated by a comma. For a list of allowed values, refer to the "ID" field in the [Toll Free Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#toll-free-countries) table.'
type: string
type:
description: Additional audio conferencing plan type.
type: string
type: object
plan_base:
properties:
hosts:
description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Account base plan type.
type: string
type: object
plan_large_meeting:
items:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Account plan type.
type: string
type: object
type: array
plan_phone:
description: Phone Plan Object
properties:
plan_base:
description: Additional phone base plans.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Additional phone base plan type.
type: string
type: object
plan_calling:
description: Additional phone calling plans.
items:
properties:
hosts:
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Additional phone calling plan type.
type: string
type: object
type: array
plan_number:
description: Additional phone number plans.
items:
properties:
hosts:
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Additional phone number plan type.
type: string
type: object
type: array
title: PhonePlan
type: object
plan_recording:
description: Additional Cloud Recording plan.
type: string
plan_recording_next_invoice_date:
description: Next invoice date of Additional Cloud Recording plan.
type: string
plan_recording_service_effective_date:
description: Plan start date of Additional Cloud Recording plan.
type: string
plan_recording_status:
description: Status of additional Cloud Recording plan.
enum:
- Active
- Cancelled
type: string
plan_room_connector:
properties:
hosts:
description: Account plan number of hosts.
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Account plan type.
type: string
type: object
plan_webinar:
items:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Account plan type.
type: string
type: object
type: array
plan_zoom_rooms:
properties:
hosts:
description: Account plan number of hosts.
type: integer
next_invoice_date:
description: Next invoice date for the plan.
type: string
service_effective_date:
description: Date at which the plan became effective on the account.
type: string
status:
description: Status of the plan.
enum:
- active
- cancel
- expired
type: string
type:
description: Account plan type.
type: string
type: object
type: object
description: |
**HTTP Status Code:**`200`
Account's plans returned.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `2100`
This sub account is on self pay mode.
"404":
description: |-
**HTTP Status Code:**`404`
Account does not exist: {subAccountId}.
summary: Get plan Information
tags:
- Billing
post:
description: "Subscribe a sub account to a Zoom plan using your master account. This API can only be used by master accounts that pay all billiing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' subscriptions. Email the partner programs team at **partner-success@zoom.us** for more details.
**Scopes**: `billing:master`
\ "
operationId: accountPlanCreate
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
allOf:
- properties:
contact:
description: Billing Contact object.
properties:
address:
description: Billing Contact's address.
type: string
apt:
description: Billing Contact's apartment/suite.
type: string
city:
description: Billing Contact's city.
type: string
country:
description: Billing Contact's Country [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) in abbreviated format.
type: string
email:
description: Billing Contact's email address.
type: string
first_name:
description: Billing Contact's first name.
type: string
last_name:
description: Billing Contact's last name.
type: string
phone_number:
description: Billing Contact's phone number.
type: string
state:
description: Billing Contact's state.
type: string
zip:
description: Billing Contact's zip/postal code.
type: string
required:
- first_name
- last_name
- email
- phone_number
- address
- city
- state
- zip
- country
type: object
type: object
- description: Account Plans object.
properties:
plan_audio:
description: Additional audio conferencing plan type.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
ddi_numbers:
description: Dedicated dial-In numbers.
type: integer
premium_countries:
description: 'Premium countries: multiple values should be separated by commas. For a list of allowed values, refer to the "ID" field in the [Premium Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#premium-countries) table.'
type: string
tollfree_countries:
description: 'Toll-free countries: multiple values should separated by a comma. For a list of allowed values, refer to the "ID" field in the [Toll Free Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#toll-free-countries) table.'
type: string
type:
description: Additional audio conferencing plan type.
type: string
type: object
plan_base:
description: Account base plan object.
properties:
hosts:
description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
type: integer
type:
description: Account base plan type.
type: string
required:
- type
- hosts
type: object
plan_large_meeting:
description: Additional large meeting Plans.
items:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
type: array
plan_phone:
description: Phone Plan Object
properties:
plan_base:
description: Additional phone base plans.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
type:
description: Additional phone base plan type.
type: string
type: object
plan_calling:
description: Additional phone calling plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone calling plan type.
type: string
type: object
type: array
plan_number:
description: Additional phone number plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone number plan type.
type: string
type: object
type: array
title: PhonePlan
type: object
plan_recording:
description: Additional cloud recording plan.
type: string
plan_room_connector:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
plan_webinar:
description: Additional webinar plans.
items:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
type: array
plan_zoom_rooms:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
required:
- plan_base
type: object
multipart/form-data:
schema:
allOf:
- properties:
contact:
description: Billing Contact object.
properties:
address:
description: Billing Contact's address.
type: string
apt:
description: Billing Contact's apartment/suite.
type: string
city:
description: Billing Contact's city.
type: string
country:
description: Billing Contact's Country [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) in abbreviated format.
type: string
email:
description: Billing Contact's email address.
type: string
first_name:
description: Billing Contact's first name.
type: string
last_name:
description: Billing Contact's last name.
type: string
phone_number:
description: Billing Contact's phone number.
type: string
state:
description: Billing Contact's state.
type: string
zip:
description: Billing Contact's zip/postal code.
type: string
required:
- first_name
- last_name
- email
- phone_number
- address
- city
- state
- zip
- country
type: object
type: object
- description: Account Plans object.
properties:
plan_audio:
description: Additional audio conferencing plan type.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
ddi_numbers:
description: Dedicated dial-In numbers.
type: integer
premium_countries:
description: 'Premium countries: multiple values should be separated by commas. For a list of allowed values, refer to the "ID" field in the [Premium Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#premium-countries) table.'
type: string
tollfree_countries:
description: 'Toll-free countries: multiple values should separated by a comma. For a list of allowed values, refer to the "ID" field in the [Toll Free Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#toll-free-countries) table.'
type: string
type:
description: Additional audio conferencing plan type.
type: string
type: object
plan_base:
description: Account base plan object.
properties:
hosts:
description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
type: integer
type:
description: Account base plan type.
type: string
required:
- type
- hosts
type: object
plan_large_meeting:
description: Additional large meeting Plans.
items:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
type: array
plan_phone:
description: Phone Plan Object
properties:
plan_base:
description: Additional phone base plans.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
type:
description: Additional phone base plan type.
type: string
type: object
plan_calling:
description: Additional phone calling plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone calling plan type.
type: string
type: object
type: array
plan_number:
description: Additional phone number plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone number plan type.
type: string
type: object
type: array
title: PhonePlan
type: object
plan_recording:
description: Additional cloud recording plan.
type: string
plan_room_connector:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
plan_webinar:
description: Additional webinar plans.
items:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
type: array
plan_zoom_rooms:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
required:
- plan_base
type: object
required: true
x-examples:
application/json:
contact:
address: string
apt: string
city: string
country: string
email: string
first_name: string
last_name: string
phone_number: string
state: string
zip: string
plan_audio:
callout_countries: string
ddi_numbers: integer
premium_countries: string
tollfree_countries: string
type: string
plan_base:
hosts: integer
type: string
plan_large_meeting:
- hosts: integer
type: string
plan_phone:
plan_base:
callout_countries: string
type: string
plan_calling:
- hosts: integer
type: string
plan_number:
- hosts: integer
type: string
plan_recording: string
plan_room_connector:
hosts: integer
type: string
plan_webinar:
- hosts: integer
type: string
plan_zoom_rooms:
hosts: integer
type: string
responses:
"200":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**Error Code:** `200`
One zuora account only can have one active billing subscription.
Can’t subscribe 25-participants pro plan for this sub-account.
Can’t subscribe 50-participants pro plan for this sub-account.
In order to take advantage of your account’s special pricing, please add Pro host licenses instead and they will be assigned to your Zoom Rooms automatically.
"201":
content:
application/json:
examples:
response:
value:
plan_audio:
callout_countries: string
ddi_numbers: integer
premium_countries: string
tollfree_countries: string
type: string
plan_base:
hosts: integer
type: string
plan_large_meeting:
- hosts: integer
type: string
plan_recording: string
plan_room_connector:
hosts: integer
type: string
plan_webinar:
- hosts: integer
type: string
plan_zoom_rooms:
hosts: integer
type: string
schema:
description: Account Plans object.
properties:
plan_audio:
description: Additional audio conferencing plan type.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
ddi_numbers:
description: Dedicated dial-In numbers.
type: integer
premium_countries:
description: 'Premium countries: multiple values should be separated by commas. For a list of allowed values, refer to the "ID" field in the [Premium Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#premium-countries) table.'
type: string
tollfree_countries:
description: 'Toll-free countries: multiple values should separated by a comma. For a list of allowed values, refer to the "ID" field in the [Toll Free Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#toll-free-countries) table.'
type: string
type:
description: Additional audio conferencing plan type.
type: string
type: object
plan_base:
description: Account base plan object.
properties:
hosts:
description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
type: integer
type:
description: Account base plan type.
type: string
required:
- type
- hosts
type: object
plan_large_meeting:
description: Additional large meeting Plans.
items:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
type: array
plan_phone:
description: Phone Plan Object
properties:
plan_base:
description: Additional phone base plans.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
type:
description: Additional phone base plan type.
type: string
type: object
plan_calling:
description: Additional phone calling plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone calling plan type.
type: string
type: object
type: array
plan_number:
description: Additional phone number plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone number plan type.
type: string
type: object
type: array
title: PhonePlan
type: object
plan_recording:
description: Additional cloud recording plan.
type: string
plan_room_connector:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
plan_webinar:
description: Additional webinar plans.
items:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
type: array
plan_zoom_rooms:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
required:
- plan_base
type: object
application/xml:
schema:
description: Account Plans object.
properties:
plan_audio:
description: Additional audio conferencing plan type.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
ddi_numbers:
description: Dedicated dial-In numbers.
type: integer
premium_countries:
description: 'Premium countries: multiple values should be separated by commas. For a list of allowed values, refer to the "ID" field in the [Premium Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#premium-countries) table.'
type: string
tollfree_countries:
description: 'Toll-free countries: multiple values should separated by a comma. For a list of allowed values, refer to the "ID" field in the [Toll Free Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#toll-free-countries) table.'
type: string
type:
description: Additional audio conferencing plan type.
type: string
type: object
plan_base:
description: Account base plan object.
properties:
hosts:
description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
type: integer
type:
description: Account base plan type.
type: string
required:
- type
- hosts
type: object
plan_large_meeting:
description: Additional large meeting Plans.
items:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
type: array
plan_phone:
description: Phone Plan Object
properties:
plan_base:
description: Additional phone base plans.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
type:
description: Additional phone base plan type.
type: string
type: object
plan_calling:
description: Additional phone calling plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone calling plan type.
type: string
type: object
type: array
plan_number:
description: Additional phone number plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone number plan type.
type: string
type: object
type: array
title: PhonePlan
type: object
plan_recording:
description: Additional cloud recording plan.
type: string
plan_room_connector:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
plan_webinar:
description: Additional webinar plans.
items:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
type: array
plan_zoom_rooms:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
required:
- plan_base
type: object
description: |-
**HTTP Status Code:**`201`
Account plans updated.
"300":
description: "**Error Code**: `300` Account can’t buy this plan.
Buy hosts must equal or larger than {minBuyHost}.
Buy hosts must equal or smaller than {maxBuyHost}.
Buy hosts must equal or smaller than 9999.
Active hosts must be equal or larger than buy hosts.
Buy hosts/active hosts must be equal or larger than {MinActiveHost}.
This bundle plan doesn’t support active host.
Invalid free trial end date time.
Invalid free trial start/end time.
Too long trial duration.
\t"
"400":
description: |+
**HTTP Status Code:** `400` **Error Code:** `2100` Invalid parameter: first_name
Invalid parameter: last_name Invalid parameter: email Invalid parameter: country Invalid parameter: address
Invalid parameter: city Invalid parameter: phone_number Invalid parameter: state Invalid parameter: zip Invalid country parameter: {country} Invalid state parameter: {state} Invalid field: plan_bundle Can’t subscribe to base plan and bundle plan at the same time. Cannot add plan for a sub account which is paid by self. Cannot enable free trial again for sub account. You cannot add a sub account because your master account owner prevented you from adding one.
Cannot add plan for Sub account which is not free plan. Error getting bundle. Cannot process account. Invalid host number. Account doesn’t have the permission to purchase this plan. There was a conflict in processing this request. Zoom Room plan {planCode} is already included in the bundle plan. There was a conflict in processing this request. Room Connector plan {planCode} is already included in the bundle plan. There was a conflict in processing this request. Large meeting plan {planCode} is already included in bundle plan. There was a conflict in processing this request. Webinar plan {planCode} is already included in the bundle plan. Recording plan {planCode} conflict with bundle plan. Invalid Cloud Recording Plan: {plan_recording}
Audio conferencing plan {planCode} conflict with bundle plan. Invalid Audio Conferencing Plan: {planCode} At least one option from among the Toll-free, Premium and Call-out must be provided. Failed to add zuora plans Invalid Base Plan: {subAccountId} Master accounts with bulk licenses cannot provision, update, or cancel plans for sub accounts using APIs, please use the billing portal or contact Support.
"404":
description: |+
**HTTP Status Code:** `404` **Error Code:** `1001` User does not exist.
**Error Code:** `2001` Account does not exist: {subAccountId}.
summary: Subscribe plans
tags:
- Billing
"/accounts/{accountId}/plans/addons":
post:
description: |+
Subscribe a sub account to a Zoom addon plan. This API can only be used by master accounts that pay all billiing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' subscriptions. Email the partner programs team at **partner-success@zoom.us** for more details.
**Prerequisites:**
* Pro or a higher plan with master account option enabled.
* The sub account must be a paid account. The billing charges for the sub account must be paid by its master account.
**Scopes**: `billing:master`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: accountPlanAddonCreate
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
oneOf:
- description: Account plan object.
properties:
hosts:
description: Number of hosts for this plan.
type: integer
type:
description: Account plan type.
type: string
required:
- type
- hosts
type: object
- description: Zoom Phone Plan Object
properties:
plan_details:
description: Phone Plan Object
properties:
plan_base:
description: Additional phone base plans.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
type:
description: Additional phone base plan type.
type: string
type: object
plan_calling:
description: Additional phone calling plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone calling plan type.
type: string
type: object
type: array
plan_number:
description: Additional phone number plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone number plan type.
type: string
type: object
type: array
title: PhonePlan
type: object
type:
description: Zoom Phone Plan `plan_phone`
type: string
required:
- type
- plan_details
type: object
multipart/form-data:
schema:
oneOf:
- description: Account plan object.
properties:
hosts:
description: Number of hosts for this plan.
type: integer
type:
description: Account plan type.
type: string
required:
- type
- hosts
type: object
- description: Zoom Phone Plan Object
properties:
plan_details:
description: Phone Plan Object
properties:
plan_base:
description: Additional phone base plans.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
type:
description: Additional phone base plan type.
type: string
type: object
plan_calling:
description: Additional phone calling plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone calling plan type.
type: string
type: object
type: array
plan_number:
description: Additional phone number plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone number plan type.
type: string
type: object
type: array
title: PhonePlan
type: object
type:
description: Zoom Phone Plan `plan_phone`
type: string
required:
- type
- plan_details
type: object
required: true
x-examples:
application/json:
hosts: integer
type: string
responses:
"201":
description: Account plans updated.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `2100`
This sub account is on self pay mode.
Cannot update Additional plan for a sub account under free plan.
Additional Zoom Rooms plan cannot be added to a sub account that already has a Zoom Rooms base plan.
This sub account already has the additional plan: {planCode}.
Master accounts with bulk licenses cannot provision, update, or cancel plans for sub accounts using APIs, please use the billing portal or contact Support.
"404":
description: |
**HTTP Status Code:** `404`
**Error Code:** `1001`
User does not exist.
**Error Code:** `2001`
Account does not exist: {subAccountId}.
summary: Subscribe additional plan
tags:
- Billing
put:
description: "Update an additional plan for a sub account.
This API can only be used by master accounts that pay all billiing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' subscriptions. Email the partner programs team at **partner-success@zoom.us** for more details.
**Prerequisites:**
* Pro or a higher plan with master account enabled.
* The sub account must be a paid account. The billing charges for the sub account must be paid by the master account.
**Scopes**: `billing:master`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
\ "
operationId: accountPlanAddonUpdate
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
description: Account plan object.
properties:
hosts:
description: Number of hosts for this plan.
type: integer
type:
description: Account plan type.
type: string
required:
- type
- hosts
type: object
multipart/form-data:
schema:
description: Account plan object.
properties:
hosts:
description: Number of hosts for this plan.
type: integer
type:
description: Account plan type.
type: string
required:
- type
- hosts
type: object
required: true
x-examples:
application/json:
hosts: integer
type: string
responses:
"200":
description: |
**Error Code:** `200`
Free trial and VIP accounts can't update sub plans.
You don’t have subscription for ({oldPlanCode}) yet.
"204":
description: |-
**HTTP Status Code:** `204`
Additional plan updated for the account.
"300":
description: |-
**Error Code:** `300`
Plan types do not match, oldPlanType: {oldPlanType} newPlanType: {newPlanType}.
"400":
description: |
**HTTP Status Code:** `400`
**Error Code:** `2100`
This sub account is on self pay mode.
Invalid Additional Plan Type: {newPlanCode}.
Cannot update Additional plan for a sub account under free plan.
Invalid plan type.
Account can’t buy this product.
Can not subscribe/update additional Audio Conferencing Pay As You Go Plan for a sub account whose base plan is not Business/Education plan.
Master accounts with bulk licenses cannot provision, update, or cancel plans for sub accounts using APIs, please use the billing portal or contact Support.
**Error Code:** `3261`
Failed to change sub plan of account:{accountId}.
Must subscribe to a major plan first.
"404":
description: |
**HTTP Status Code:** `404`
**Error Code:** `2001`
Account does not exist: {subAccountId}.
**Error Code:** `3200`
Cannot find Zuora subscription for account:{subAccountId}.
summary: Update an additional plan
tags:
- Billing
"/accounts/{accountId}/plans/addons/status":
parameters:
- in: path
name: accountId
required: true
schema:
type: string
patch:
description: "[Cancel additional plan](https://support.zoom.us/hc/en-us/articles/203634215-How-Do-I-Cancel-My-Subscription-) of a sub account. The cancellation does not provide refund for the current subscription. The service remains active for the current session.
This API can only be used by master accounts that pay all billiing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' subscriptions. Email the partner programs team at **partner-success@zoom.us** for more details.
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Pro or a higher plan with master account option enabled.
* The sub account must be a paid account.
**Scope:** `billing:master`
\ "
operationId: accountPlanAddonCancel
requestBody:
content:
application/json:
schema:
description: Account plan object
properties:
action:
description: The action that needs to be taken for this sub account. Value must be set to "cancel".
enum:
- cancel
type: string
comment:
description: Additional comments about the cancellation decision.
type: string
reason:
description: The reason for the cancellation of plan. Reason options: `1` - I am no longer working remote. `2` - I had challenges getting the support I needed. `3` - Features in the Basic Free Plan are sufficient. `4` - The expense is too high. `5` - I purchased the wrong product. `6` - Paid purchase not needed right now, will repurchase in the future.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
type: integer
type:
description: Plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans).
type: string
type: object
multipart/form-data:
schema:
description: Account plan object
properties:
action:
description: The action that needs to be taken for this sub account. Value must be set to "cancel".
enum:
- cancel
type: string
comment:
description: Additional comments about the cancellation decision.
type: string
reason:
description: The reason for the cancellation of plan. Reason options: `1` - I am no longer working remote. `2` - I had challenges getting the support I needed. `3` - Features in the Basic Free Plan are sufficient. `4` - The expense is too high. `5` - I purchased the wrong product. `6` - Paid purchase not needed right now, will repurchase in the future.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
type: integer
type:
description: Plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans).
type: string
type: object
responses:
"200":
description: |-
**Error Code:** `200`
You cannot cancel plan for a sub account that is under a free plan.
You cannot perform this action because you do not have a Zoom Phone subscription for this account.
Free trial and VIP accounts can not cancel plans of a sub account. Contact the Zoom Support team for details.
You don't have a plan subscription for ({planCode}) yet..
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204`
Plan cancelled successfully.
"300":
description: |-
**Error Code:** `300`
Plan type is required.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `2100`
This sub account is on self pay mode.
You cannot make cancellation requests for a bundle plan. Contact the Zoom Support team for details.
Master accounts with bulk licenses cannot provision, update, or cancel plans for sub accounts using APIs, please use the billing portal or contact Support.
"404":
description: |+
**HTTP Status Code:** `404`
**Error Code:** `1001`
User does not exist.
**Error Code:** `2001`
Account does not exist: {subAccountId}.
security:
- OAuth: []
summary: Cancel additional plans
tags:
- Billing
"/accounts/{accountId}/plans/base":
put:
description: "Update a base plan of a sub account.\
This API can only be used by master accounts that pay all billiing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' subscriptions. Email the partner programs team at **partner-success@zoom.us** for more details.
**Scopes:** `billing:master`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* The sub account must have a Pro or a higher plan.
\ "
operationId: accountPlanBaseUpdate
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
description: Account base plan object.
properties:
hosts:
description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
type: integer
type:
description: Account base plan type.
type: string
required:
- type
- hosts
type: object
multipart/form-data:
schema:
description: Account base plan object.
properties:
hosts:
description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
type: integer
type:
description: Account base plan type.
type: string
required:
- type
- hosts
type: object
required: true
x-examples:
application/json:
hosts: integer
type: string
responses:
"200":
description: |+
**Error Code:** `200`
Free trial and VIP account can't update sub plan.
You do not have a subscription yet.
"204":
description: |-
**HTTPS Status Code:** `204`
Base plan updated.
"300":
description: |
**Error Code:** `300`
Insufficient number of hosts for business plan type.
Insufficient number of hosts for education plan type.
Plan types do not match, oldPlanType: {oldPlanType} newPlanType: {newPlanType}.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `2100`
This sub account is on self pay mode.
Cannot makes updates when account is subscribed to a bundle plan.
This account is not under a free trial plan.
The account currently has {0} paid users, you should change the user type to basic and reduce the number of paid users before performing this action.
Master accounts with bulk licenses cannot provision, update, or cancel plans for sub accounts using APIs, please use the billing portal or contact Support.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `1001`
User does not exist.
**Error Code:** `2001`
Account does not exist: {subAccountId}.
summary: Update a base plan
tags:
- Billing
"/accounts/{accountId}/plans/base/status":
patch:
description: "[Cancel a base plan](https://support.zoom.us/hc/en-us/articles/203634215-How-Do-I-Cancel-My-Subscription-) for a sub account.
This API can only be used by master accounts that pay all billiing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' subscriptions. Email the partner programs team at **partner-success@zoom.us** for more details.
**Scopes**: `billing:master` \
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* The sub account must have a Pro or a higher plan.
\ "
operationId: accountPlanBaseDelete
parameters:
- in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
action:
description: The action that needs to be taken for this sub account. Value must be set to "cancel".
type: string
comment:
description: Additional comments about the cancellation decision.
type: string
reason:
description: The reason for the cancellation of plan. Reason options: `1` - I am no longer working remote. `2` - I had challenges getting the support I needed. `3` - Features in the Basic Free Plan are sufficient. `4` - The expense is too high. `5` - I purchased the wrong product. `6` - Paid purchase not needed right now, will repurchase in the future.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
type: integer
required:
- action
type: object
multipart/form-data:
schema:
properties:
action:
description: The action that needs to be taken for this sub account. Value must be set to "cancel".
type: string
comment:
description: Additional comments about the cancellation decision.
type: string
reason:
description: The reason for the cancellation of plan. Reason options: `1` - I am no longer working remote. `2` - I had challenges getting the support I needed. `3` - Features in the Basic Free Plan are sufficient. `4` - The expense is too high. `5` - I purchased the wrong product. `6` - Paid purchase not needed right now, will repurchase in the future.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
type: integer
required:
- action
type: object
x-examples:
application/json:
action: cancel
comment: Amazing plan but I do not need it right now.
reason: 2
responses:
"200":
description: |-
**Error Code:** `200`
Cannot cancel plan for a sub account which is under free plan.
You don’t have a major subscription yet.
You should first cancel all additional subscriptions.
Free trial and VIP accounts can not cancel plans of a sub account. Contact the Zoom Support team for details.
You don't have a plan subscription for ({planCode}) yet.
"204":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |-
**HTTP Status Code:** `204`
Plan cancelled successfully.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `2100`
This sub account is paid by self.
You cannot make cancellation requests for a bundle plan. Contact the Zoom Support team for details.
Master accounts with bulk licenses cannot provision, update, or cancel plans for sub accounts using APIs, please use the billing portal or contact Support.
"404":
description: |+
**HTTP Status Code:** `404`
**Error Code:** `1001` User does not exist.
**Error Code:** `2001` This account does not exist or does not belong to this master account.
summary: Cancel a base plan
tags:
- Billing
"/accounts/{accountId}/plans/usage":
get:
description: |-
Get information on usage of [plans](https://marketplace.zoom.us/docs/api-reference/other-references/plans) of an account. This API supports regular accounts as well as master and sub accounts. To get plan usage of a regular account, use the `account:read:admin` scope and provide “me” as the value of the `accountId` path parameter.To get plan usage of a master account, provide the keyword "me" as the value of the `accountId` path parameter and use the `billing:master` scope. To get plan usage of a sub account, provide the actual account Id of the sub account as the value of the `accountId` path parameter and use the `billing:master` scope.
**Prerequisite**:
Account type: master account on a paid Pro, Business or Enterprise plan.
**Scope:** `billing:master` for master and sub accounts. `account:read:admin` for regular Zoom accounts.
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: getPlanUsage
responses:
"200":
content:
application/json:
examples:
response:
value:
plan_base:
hosts: 2
type: monthly
usage: 1
plan_large_meeting:
- hosts: 1
type: large500_monthly
usage: 1
plan_recording:
free_storage: 3 GB
free_storage_usage: "0"
plan_storage: "0"
plan_storage_exceed: "0"
plan_storage_usage: "0"
plan_webinar:
- hosts: 1
type: webinar100_monthly
usage: 1
plan_zoom_rooms:
hosts: 1
type: zroom_monthly
usage: 0
schema:
properties:
plan_base:
description: The base plan subscribed for the sub account.
items:
properties:
hosts:
description: Number of hosts under the base plan.
type: integer
type:
description: "Type of the base plan. "
type: string
usage:
description: Total number of usage of this plan.
type: integer
type: object
type: array
plan_large_meeting:
description: Large Meeting Plan
items:
properties:
hosts:
description: "Number of hosts in this plan. "
type: integer
type:
description: Large meeting Plan Type
type: string
usage:
description: Number of usages for this account plan.
type: integer
type: object
type: array
plan_recording:
description: Recording Plan
properties:
free_storage:
description: Recording free storage.
type: string
free_storage_usage:
description: Amount of free storage used.
type: string
plan_storage:
description: Recording plan storage.
type: string
plan_storage_exceed:
type: string
plan_storage_usage:
description: Recording storage usage.
type: string
type:
description: Recording plan type.
type: string
type: object
plan_united:
description: "[Zoom United](https://zoom.us/pricing/zoom-bundles) plan."
properties:
hosts:
description: Number of licenses purchased.
type: integer
name:
description: Name of the plan.
type: string
type:
description: Plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-united-plans).
type: string
usage:
description: Number of licenses that are already being used.
type: integer
type: object
plan_webinar:
description: Webinar Plan
items:
properties:
hosts:
description: The number of hosts in this plan.
type: integer
type:
description: The type of Webinar plan for the account.
type: string
usage:
description: The total number of plan usage.
type: integer
type: object
type: array
plan_zoom_rooms:
description: Zoom Rooms Plan
items:
properties:
hosts:
description: The number of hosts in this plan.
type: integer
type:
description: THe plan type for Zoom room plan.
type: string
usage:
description: The total number of usage for this plan.
type: integer
type: object
type: array
type: object
application/xml:
schema:
properties:
plan_base:
description: The base plan subscribed for the sub account.
items:
properties:
hosts:
description: Number of hosts under the base plan.
type: integer
type:
description: "Type of the base plan. "
type: string
usage:
description: Total number of usage of this plan.
type: integer
type: object
type: array
plan_large_meeting:
description: Large Meeting Plan
items:
properties:
hosts:
description: "Number of hosts in this plan. "
type: integer
type:
description: Large meeting Plan Type
type: string
usage:
description: Number of usages for this account plan.
type: integer
type: object
type: array
plan_recording:
description: Recording Plan
properties:
free_storage:
description: Recording free storage.
type: string
free_storage_usage:
description: Amount of free storage used.
type: string
plan_storage:
description: Recording plan storage.
type: string
plan_storage_exceed:
type: string
plan_storage_usage:
description: Recording storage usage.
type: string
type:
description: Recording plan type.
type: string
type: object
plan_united:
description: "[Zoom United](https://zoom.us/pricing/zoom-bundles) plan."
properties:
hosts:
description: Number of licenses purchased.
type: integer
name:
description: Name of the plan.
type: string
type:
description: Plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-united-plans).
type: string
usage:
description: Number of licenses that are already being used.
type: integer
type: object
plan_webinar:
description: Webinar Plan
items:
properties:
hosts:
description: The number of hosts in this plan.
type: integer
type:
description: The type of Webinar plan for the account.
type: string
usage:
description: The total number of plan usage.
type: integer
type: object
type: array
plan_zoom_rooms:
description: Zoom Rooms Plan
items:
properties:
hosts:
description: The number of hosts in this plan.
type: integer
type:
description: THe plan type for Zoom room plan.
type: string
usage:
description: The total number of usage for this plan.
type: integer
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Plan Usage returned.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `200`
Only available for paid account.
security:
- OAuth: []
summary: Get plan usage
tags:
- Billing
parameters:
- in: path
name: accountId
required: true
schema:
type: string
"/accounts/{accountId}/recordings":
get:
description: |
List [Cloud Recordings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-Recording) available on an Account.
> To access a password protected cloud recording, add an "access_token" parameter to the download URL and provide [JWT](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app) as the value of the "access_token".
**Prerequisites**:
* A Pro or a higher paid plan with Cloud Recording option enabled.
**Scopes**: `recording:read:admin` or `account:read:admin`
If the scope `recording:read:admin` is used, the Account ID of the Account must be provided in the `accountId` path parameter to list recordings that belong to the Account. This scope only works for sub accounts.
To list recordings of a master account, the scope must be `account:read:admin` and the value of `accountId` should be `me`. **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: getAccountCloudRecording
parameters:
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: The start date in UTC for the monthly range for which you would like to retrieve recordings. The maximum range can be a month. If no value is provided for this field, the default will be current date. For example, if you make the API request on June 30, 2020, without providing the “from” and “to” parameters, by default the value of 'from' field will be “2020-06-30” and the value of the 'to' field will be “2020-07-01”.
in: query
name: from
schema:
format: date-time
type: string
- description: The end date for the monthly range for which you would like to retrieve recordings. The maximum range can be a month.
in: query
name: to
schema:
format: date-time
type: string
- description: Unique identifier of the account.
in: path
name: accountId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
from: 2019-08-19
meetings:
- account_id: lq8QK_AAAAAAAAA
duration: 2
host_email: thehostemail@somemail.com
host_id: uLoABCDEF_qQGIsQ
id: 101010101
recording_count: 3
recording_files:
- download_url: https://zoom.us/recording/download/abcdEFgkkkkk
file_size: 26966
file_type: M4A
id: 2f6bbbb-0fd7-4691-af13-aaaaaa
meeting_id: i9zq0MR8S/abcdef==
play_url: https://zoomdev.us/recording/play/abcdEFgkkkkk
recording_end: 2019-08-20T00:53:16Z
recording_start: 2019-08-20T00:51:54Z
recording_type: audio_only
status: completed
- download_url: https://zoom.us/recording/download/JolGd4kUpBEo44Q31BVEXrGeCdbT4-MOAAAAA
file_size: 37
file_type: CHAT
id: 39362666-0fd7-4691-af13-aaaaaa
meeting_id: i9zq0MR8S/abcdef==
play_url: https://zoom.us/recording/play/UpBEo44Q31BVEXrGeCdbT4-MOAAAAAAA
recording_end: 2019-08-20T00:53:16Z
recording_start: 2019-08-20T00:51:54Z
recording_type: chat_file
status: completed
- download_url: https://zoom.us/recording/download/5Y2YnU-56ZY4lEA5AAAABBBBBCCCCCDDDDD
file_size: 101679
file_type: MP4
id: K809nk-014djkfsgf-00a98c13ec783
meeting_id: i9zq0MR8S/abcdef==
play_url: https://zoom.us/recording/play/5Y2YnU-56ZY4lEA5AAAABBBBBCCCCCDDDDD
recording_end: 2019-08-20T00:53:16Z
recording_start: 2019-08-20T00:51:54Z
recording_type: shared_screen_with_speaker_view
status: completed
share_url: https://zoom.us/recording/share/SBDDBJKsbjdAAAAA
start_time: 2019-08-20T00:52:13Z
timezone: America/Los_Angeles
topic: MyTestMeeting
total_size: 128682
type: 2
uuid: i9zq0MR8S/abcdef==
next_page_token: ""
page_size: 30
to: 2019-08-20
schema:
properties:
from:
description: The start date for the monthly range for which you would like to retrieve recordings. The maximum range can be a month. If no value is provided for this field, the default will be current date. For example, if you make the API request on June 30, 2020, without providing the “from” and “to” parameters, by default the value of 'from' field will be “2020-06-30” and the value of the 'to' field will be “2020-07-01”.
format: date-time
type: string
meetings:
description: Meetings Object
items:
properties:
duration:
description: The scheduled duration of the meeting.
type: integer
host_id:
description: User ID of the user who is set as the host of the meeting.
type: string
id:
description: Meeting ID - Unique Identifier of a meeting, also known as Meeting Number.
type: string
recording_count:
description: The total number of recordings retrieved from the account.
type: integer
recording_files:
description: Recording files object
items:
properties:
download_url:
description: The URL using which the recording can be downloaded
type: string
file_size:
description: The size of the recording file in bytes.
type: number
file_type:
description: |-
The recording file type. The value of this field could be one of the following:
* `MP4`: Video file of the recording.
* `M4A` Audio-only file of the recording.
* `TB`: Timestamp file of the recording in JSON format.
* `TRANSCRIPT`: Transcription file of the recording in VTT format.
* `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting.
* `CC`: File containing closed captions of the recording in VTT file format.
* `CSV`: File containing polling data in csv format.
A recording file object with file type of either `CC` or `TB` **does not have** the following properties:
`id`, `status`, `file_size`, `recording_type`, and `play_url`.
enum:
- MP4
- M4A
- CHAT
- TRANSCRIPT
- CC
- CSV
- TB
type: string
id:
description: Recording ID. Identifier for the recording.
type: string
meeting_id:
description: Universally unique identifier of the meeting instance that was being recorded.
type: string
play_url:
description: The URL using which recording can be played.
type: string
recording_end:
description: The date and time at which the recording ended.
type: string
recording_start:
description: The date and time at which the recording started.
type: string
recording_type:
description: |
The recording type. The value of this field can be one of the following:
* `shared_screen_with_speaker_view(CC)`
* `shared_screen_with_speaker_view`
* `shared_screen_with_gallery_view`
* `shared_screen`
* `active_speaker`
* `gallery_view`
* `audio_only`
* `audio_transcript`
* `chat_file`
* `host_video`
* `closed_caption`
* `poll`
* `timeline`
* `thumbnail`
enum:
- shared_screen_with_speaker_view(CC)
- shared_screen_with_speaker_view
- shared_screen_with_gallery_view
- active_speaker
- gallery_view
- shared_screen
- audio_only
- audio_transcript
- chat_file
- poll
- host_video
- closed_caption
- timeline
- thumbnail
type: string
status:
description: "The status of the recording, either `completed` or `processing`. "
enum:
- completed
- processing
type: string
type: object
type: array
start_time:
description: The date and time at which the meeting started.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_size:
description: The total size of the meeting in bytes.
type: integer
uuid:
description: Universally Unique Identifier of a meeting instance. Each meeting instance will have its own meeting UUID.
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
to:
description: The end date for the monthly range for which you would like to retrieve recordings. The maximum range can be a month.
format: date-time
type: string
total_records:
description: Total number of records found for this request across all pages.
type: integer
type: object
application/xml:
schema:
properties:
from:
description: The start date for the monthly range for which you would like to retrieve recordings. The maximum range can be a month. If no value is provided for this field, the default will be current date. For example, if you make the API request on June 30, 2020, without providing the “from” and “to” parameters, by default the value of 'from' field will be “2020-06-30” and the value of the 'to' field will be “2020-07-01”.
format: date-time
type: string
meetings:
description: Meetings Object
items:
properties:
duration:
description: The scheduled duration of the meeting.
type: integer
host_id:
description: User ID of the user who is set as the host of the meeting.
type: string
id:
description: Meeting ID - Unique Identifier of a meeting, also known as Meeting Number.
type: string
recording_count:
description: The total number of recordings retrieved from the account.
type: integer
recording_files:
description: Recording files object
items:
properties:
download_url:
description: The URL using which the recording can be downloaded
type: string
file_size:
description: The size of the recording file in bytes.
type: number
file_type:
description: |-
The recording file type. The value of this field could be one of the following:
* `MP4`: Video file of the recording.
* `M4A` Audio-only file of the recording.
* `TB`: Timestamp file of the recording in JSON format.
* `TRANSCRIPT`: Transcription file of the recording in VTT format.
* `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting.
* `CC`: File containing closed captions of the recording in VTT file format.
* `CSV`: File containing polling data in csv format.
A recording file object with file type of either `CC` or `TB` **does not have** the following properties:
`id`, `status`, `file_size`, `recording_type`, and `play_url`.
enum:
- MP4
- M4A
- CHAT
- TRANSCRIPT
- CC
- CSV
- TB
type: string
id:
description: Recording ID. Identifier for the recording.
type: string
meeting_id:
description: Universally unique identifier of the meeting instance that was being recorded.
type: string
play_url:
description: The URL using which recording can be played.
type: string
recording_end:
description: The date and time at which the recording ended.
type: string
recording_start:
description: The date and time at which the recording started.
type: string
recording_type:
description: |
The recording type. The value of this field can be one of the following:
* `shared_screen_with_speaker_view(CC)`
* `shared_screen_with_speaker_view`
* `shared_screen_with_gallery_view`
* `shared_screen`
* `active_speaker`
* `gallery_view`
* `audio_only`
* `audio_transcript`
* `chat_file`
* `host_video`
* `closed_caption`
* `poll`
* `timeline`
* `thumbnail`
enum:
- shared_screen_with_speaker_view(CC)
- shared_screen_with_speaker_view
- shared_screen_with_gallery_view
- active_speaker
- gallery_view
- shared_screen
- audio_only
- audio_transcript
- chat_file
- poll
- host_video
- closed_caption
- timeline
- thumbnail
type: string
status:
description: "The status of the recording, either `completed` or `processing`. "
enum:
- completed
- processing
type: string
type: object
type: array
start_time:
description: The date and time at which the meeting started.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_size:
description: The total size of the meeting in bytes.
type: integer
uuid:
description: Universally Unique Identifier of a meeting instance. Each meeting instance will have its own meeting UUID.
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
to:
description: The end date for the monthly range for which you would like to retrieve recordings. The maximum range can be a month.
format: date-time
type: string
total_records:
description: Total number of records found for this request across all pages.
type: integer
type: object
description: |+
**Response Error Code:** `200`
Only available for Paid account.
**HTTP Status Code:** `200`
Recording(s) listed successfully.
"404":
description: |
**HTTP Status Code:** `400`
Account not found.
**Response Error Code:** `2001`
This account does not exist or does not belong to you: {accountId}.
security:
- OAuth: []
summary: List recordings of an account
tags:
- Cloud Recording
parameters:
- in: path
name: accountId
required: true
schema:
type: string
"/accounts/{accountId}/settings":
get:
description: |-
Get the settings of an account.
To get the settings of a master account, use `me` as the value for the `accountId` path parameter.
**Prerequisites**:
* The account must be a paid account.
**Scopes**: `account:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: accountSettings
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
- allowEmptyValue: true
description: |-
`meeting_authentication`: Use this query parameter to view [meeting authentication configuration](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) applied on the account. `recording_authentication`: Use this query parameter to view [recording authentication configuration](https://support.zoom.us/hc/en-us/articles/360037756671-Authentication-Profiles-for-Cloud-Recordings) applied on the account. `security`: Use this query parameter to view security settings such as password requirements for user login, two factor authentication etc., applied on the account.
`meeting_security`: Use this query parameter to view meeting security settings applied on the account.
in: query
name: option
schema:
enum:
- meeting_authentication
- recording_authentication
type: string
- description: |-
Provide the name of the field by which you would like to filter the response. For example, if you provide "host_video" as the value of this field, you will get a response similar to the following:
{
"schedule_meeting": {
"host_video": false
}
}
You can provide multiple values by separating them with commas(example: "host_video,participant_video”).
in: query
name: custom_query_fields
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
email_notification:
alternative_host_reminder: boolean
cancel_meeting_reminder: boolean
cloud_recording_avaliable_reminder: boolean
jbh_reminder: boolean
low_host_count_reminder: boolean
schedule_for_reminder: boolean
feature:
meeting_capacity: integer
in_meeting:
alert_guest_join: boolean
allow_show_zoom_windows: boolean
annotation: boolean
anonymous_question_answer: boolean
attendee_on_hold: boolean
auto_answer: boolean
auto_saving_chat: boolean
breakout_room: boolean
chat: boolean
closed_caption: boolean
co_host: boolean
dscp_audio: integer
dscp_marking: boolean
dscp_video: integer
e2e_encryption: boolean
entry_exit_chime: string
far_end_camera_control: boolean
feedback: boolean
group_hd: boolean
original_audio: boolean
p2p_connetion: boolean
p2p_ports: boolean
polling: boolean
ports_range: string
post_meeting_feedback: boolean
private_chat: boolean
record_play_own_voice: boolean
remote_control: boolean
screen_sharing: boolean
sending_default_email_invites: boolean
show_meeting_control_toolbar: boolean
stereo_audio: boolean
use_html_format_email: boolean
virtual_background: boolean
watermark: boolean
webinar_question_answer: boolean
whiteboard: boolean
integration:
box: boolean
dropbox: boolean
google_calendar: boolean
google_drive: boolean
kubi: boolean
microsoft_one_drive: boolean
recording:
account_user_access_recording: boolean
auto_delete_cmr: boolean
auto_delete_cmr_days: integer
auto_recording: string
cloud_recording: boolean
cloud_recording_download: boolean
cloud_recording_download_host: boolean
local_recording: boolean
record_audio_file: boolean
record_gallery_view: boolean
record_speaker_view: boolean
recording_audio_transcript: boolean
save_chat_text: boolean
show_timestamp: boolean
schedule_meeting:
audio_type: string
enforce_login: boolean
enforce_login_domains: string
enforce_login_with_domains: boolean
force_pmi_jbh_password: boolean
host_video: boolean
join_before_host: boolean
not_store_meeting_topic: boolean
participant_video: boolean
require_password_for_instant_meetings: boolean
require_password_for_pmi_meetings: string
require_password_for_scheduled_meetings: boolean
require_password_for_scheduling_new_meetings: boolean
use_pmi_for_instant_meetings: boolean
use_pmi_for_scheduled_meetings: boolean
security:
admin_change_name_pic: boolean
hide_billing_info: boolean
import_photos_from_devices: boolean
telephony:
audio_conference_info: string
third_party_audio: boolean
tsp:
call_out: boolean
call_out_countries:
- string
display_toll_free_numbers: boolean
show_international_numbers_link: boolean
zoom_rooms:
auto_start_stop_scheduled_meetings: boolean
cmr_for_instant_meeting: boolean
force_private_meeting: boolean
hide_host_information: boolean
list_meetings_with_calendar: boolean
start_airplay_manually: boolean
ultrasonic: boolean
upcoming_meeting_alert: boolean
weekly_system_restart: boolean
zr_post_meeting_feedback: boolean
schema:
oneOf:
- properties:
email_notification:
description: "Account Settings: Notification."
properties:
alternative_host_reminder:
description: Notify when an alternative host is set or removed from a meeting.
type: boolean
cancel_meeting_reminder:
description: Notify the host and participants when a meeting is cancelled.
type: boolean
cloud_recording_avaliable_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify the host when participants join the meeting before them.
type: boolean
low_host_count_reminder:
description: Notify user when host licenses are running low.
type: boolean
schedule_for_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
feature:
description: "Account Settings: Feature."
properties:
meeting_capacity:
description: Set the maximum number of participants a host can have in a single meeting.
type: integer
type: object
in_meeting:
description: "Account Settings: In Meeting."
properties:
alert_guest_join:
description: Identify guest participants in a meeting or webinar.
type: boolean
allow_live_streaming:
description: Allow live streaming.
type: boolean
allow_participants_to_rename:
description: |
If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.
type: boolean
allow_show_zoom_windows:
description: "Show the Zoom desktop application when sharing screens. "
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
anonymous_question_answer:
description: Allow an anonymous Q&A in a webinar.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to the "auto-answer group" in the chat contact list. Any call from members of this group will automatically be answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send a message that is visible to all participants.
type: boolean
closed_caption:
description: "Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions. "
type: boolean
co_host:
description: Allow the host to add co-hosts.
type: boolean
custom_data_center_regions:
description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
custom_live_streaming_service:
description: Custom live streaming.
type: boolean
custom_service_instructions:
description: Custom service instructions.
type: string
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- EU
- HK
- AU
- IN
- TY
- CN
- US
- CA
items:
type: string
type: array
dscp_audio:
description: DSCP audio.
maximum: 63
minimum: 1
type: integer
dscp_marking:
description: DSCP marking.
type: boolean
dscp_video:
description: DSCP video.
maximum: 63
minimum: 1
type: integer
e2e_encryption:
description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.
enum:
- host
- all
- none
type: string
x-enum-descriptions:
- Heard by host only
- Heard by host and all attendees
- Disable
far_end_camera_control:
description: Allow another user to take control of your camera during a meeting.
type: boolean
feedback:
description: Add a "Feedback" tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.
type: boolean
group_hd:
description: |-
Activate higher quality video for host and participants.
Please note: This will use more bandwidth.
type: boolean
meeting_reactions:
description: |-
Enable or disable meeting reactions.
`true`: Allow meeting participants to communicate without interrupting by reacting with an emoji that shows on their video.
`false`: Do not enable meeting reactions.
type: boolean
original_audio:
description: Allow users to select original sound in their client settings.
type: boolean
p2p_connetion:
description: Peer to peer connection while only two people are in a meeting.
type: boolean
p2p_ports:
description: Peer to peer listening ports range.
type: boolean
polling:
description: Add "Polls" to the meeting controls.
type: boolean
ports_range:
default: ""
description: The listening ports range, separated by a comma (ex 55,56). The ports range must be between 1 to 65535.
type: string
post_meeting_feedback:
description: Display a thumbs up or down survey at the end of each meeting.
type: boolean
private_chat:
description: Allow a meeting participant to send a private message to another participant.
type: boolean
record_play_own_voice:
description: Record and play their own voice.
type: boolean
remote_control:
description: Allow users to request remote control.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the account or not.
type: boolean
screen_sharing:
description: Allow screen sharing.
type: boolean
sending_default_email_invites:
description: Only show the default email when sending email invites.
type: boolean
show_a_join_from_your_browser_link:
description: If the value of this field is set to `true`, you will allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is a workaround for participants who are unable to download, install, or run applications. Note that the meeting experience from the browser is limited.
type: boolean
show_meeting_control_toolbar:
description: Always show the meeting control toolbar.
type: boolean
stereo_audio:
description: Allow users to select stereo audio in their client settings.
type: boolean
use_html_format_email:
description: Use HTML formatted email for the Outlook plugin.
type: boolean
virtual_background:
description: Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow users to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
watermark:
description: Add a watermark when viewing a shared screen.
type: boolean
webinar_question_answer:
description: Allow a Q&A in a webinar.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
workplace_by_facebook:
description: Workplace by facebook.
type: boolean
type: object
integration:
description: "Account Settings: Integration."
properties:
box:
description: Enable users who join a meeting from their mobile device to share content from their Box account.
type: boolean
dropbox:
description: Enable users who join a meeting from their mobile device to share content from their Dropbox account.
type: boolean
google_calendar:
description: Enable meetings to be scheduled using Google Calendar.
type: boolean
google_drive:
description: Enable users who join a meeting from their mobile device to share content from their Google Drive.
type: boolean
kubi:
description: Enable users to control a connected Kubi device from within a Zoom meeting.
type: boolean
microsoft_one_drive:
description: Enable users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.
type: boolean
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
description: "Account Settings: Recording."
properties:
account_user_access_recording:
description: Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
type: boolean
allow_recovery_deleted_cloud_recordings:
description: |-
Allow recovery of deleted cloud recordings from trash.
If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.
type: boolean
archive:
description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team."
properties:
enable:
description: Enable the archiving feature.
type: boolean
settings:
properties:
audio_file:
description: Include in-meeting and/or in-webinar audio in the archive.
type: boolean
cc_transcript_file:
description: Include closed caption or transcript in the archive.
type: boolean
chat_file:
description: Include in-meeting chat in the archive.
type: boolean
chat_with_sender_email:
description: Include user email in in-meeting chat file.
type: boolean
video_file:
description: Include in-meeting and/or in-webinar video in the archive.
type: boolean
type: object
type:
description: |-
Archive types:
* `1`: Only meetings are archived.
* `2`: Only webinars are archived.
* `3`: Both meetings and webinars are archived.
enum:
- 1
- 2
- 3
type: integer
type: object
auto_delete_cmr:
description: Allow Zoom to permanantly delete recordings automatically after a specified number of days.
type: boolean
auto_delete_cmr_days:
description: When `auto_delete_cmr` function is 'true' this value will set the number of days before the auto deletion of cloud recordings.
type: integer
auto_recording:
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record on local
- Record on cloud
- Disabled
cloud_recording:
description: Allow hosts to record and save the meeting in the cloud.
type: boolean
cloud_recording_download:
description: Cloud recording downloads.
type: boolean
cloud_recording_download_host:
description: Only the host can download cloud recordings.
type: boolean
host_delete_cloud_recording:
description: |
If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting using a local file.
type: boolean
prevent_host_access_recording:
description: |
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
record_audio_file:
description: Record an audio only file.
type: boolean
record_gallery_view:
description: Record the gallery view with a shared screen.
type: boolean
record_speaker_view:
description: Record the active speaker with a shared screen.
type: boolean
recording_audio_transcript:
description: Automatically transcribe the audio of the meeting or webinar to the cloud.
type: boolean
recording_disclaimer:
description: |
Show a disclaimer to participants before a recording starts
type: boolean
recording_password_requirement:
description: This object represents the minimum password requirements set for recordings via Account Recording Settings.
properties:
have_letter:
description: Indicates whether or not password must contain at least one alphabetical letter (a, b, c..).
type: boolean
have_number:
description: Indicates whether or not password must contain at least one number(1, 2, 3..).
type: boolean
have_special_character:
description: "Indicates whether or not password must contain at least one special character(!, @, #..)."
type: boolean
length:
description: Minimum required length for the password.
maximum: 10
type: integer
only_allow_numeric:
description: Indicates whether or not password must contain only numeric characters.
type: boolean
type: object
required_password_for_existing_cloud_recordings:
description: Require a passcode to access existing cloud recordings.
type: boolean
save_chat_text:
description: Save the chat text from the meeting.
type: boolean
show_timestamp:
description: Add a timestamp to the recording.
type: boolean
type: object
schedule_meeting:
description: "Account Settings: Schedule Meeting."
properties:
audio_type:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.
enum:
- both
- telephony
- voip
- thirdParty
type: string
x-enum-descriptions:
- Telephony and VoIP
- Audio PSTN telephony only
- VoIP only
- 3rd party audio conference
enforce_login:
description: Only Zoom users who are signed in can join meetings.
type: boolean
enforce_login_domains:
description: "Only signed in users with a specified domain can join the meeting. "
type: string
enforce_login_with_domains:
description: Only signed in users with a specific domain can join meetings.
type: boolean
force_pmi_jbh_password:
description: Require a password for Personal Meetings if attendees can join before host.
type: boolean
host_video:
description: Start meetings with the host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives.
type: boolean
meeting_password_requirement:
description: Account wide meeting/webinar [password requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the password must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the password must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the password must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the password must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar password needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the password must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided password is weak.
type: boolean
type: object
not_store_meeting_topic:
description: Always display "Zoom Meeting" as the meeting topic.
type: boolean
participant_video:
description: Start meetings with the participant video on. Participants can change this setting during the meeting.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
require_password_for_instant_meetings:
description: |
Require a password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: |
Require a password for a meeting held using Personal Meeting ID (PMI) This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
enum:
- jbh_only
- all
- none
type: string
x-enum-descriptions:
- Only meetings with Join Before Host enabled
- All meetings using PMI
- Disabled
require_password_for_scheduled_meetings:
description: |
Require a password for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: Require a password when scheduling new meetings. This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
use_pmi_for_instant_meetings:
description: |
Use Personal Meeting ID (PMI) when starting an instant meeting
type: boolean
use_pmi_for_scheduled_meetings:
description: |
Use Personal Meeting ID (PMI) when scheduling a meeting
type: boolean
type: object
security:
description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
properties:
admin_change_name_pic:
description: Only account administrators can change a user's username and picture.
type: boolean
hide_billing_info:
description: Hide billing information.
type: boolean
import_photos_from_devices:
description: Allow users to import photos from a photo library on a device.
type: boolean
password_requirement:
description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
properties:
consecutive_characters_length:
description: |-
Specify the max length of consecutive characters(abcde...) that can be used in a password.
If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
type: integer
have_special_character:
description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
type: boolean
minimum_password_length:
description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
maximum: 14
minimum: 8
type: integer
weak_enhance_detection:
description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
type: boolean
type: object
sign_again_period_for_inactivity_on_client:
description: |
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`45`: 45 minutes
`60`: 60 minutes
`90`: 90 minutes
`120`: 120 minutes
type: integer
sign_again_period_for_inactivity_on_web:
description: |+
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`60`: 60 minutes
`120`: 120 minutes
type: integer
sign_in_with_two_factor_auth:
description: |
Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
`all`: Two factor authentication will be enabled for all users in the account.
`none`: Two factor authentication is disabled.
`group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
`role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
`sign_in_with_two_factor_auth_roles` field.
enum:
- all
- group
- role
- none
type: string
sign_in_with_two_factor_auth_groups:
description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
items:
type: string
type: array
sign_in_with_two_factor_auth_roles:
description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
items:
type: string
type: array
type: object
telephony:
description: "Account Settings: Telephony."
properties:
audio_conference_info:
description: Third party audio conference info.
type: string
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
allowed_values:
description: Telephony region options provided by Zoom to select from.
items:
type: string
type: array
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Users can join the meeting using the existing third party audio configuration.
type: boolean
type: object
tsp:
description: "Account Settings: TSP."
properties:
call_out:
description: Call Out
type: boolean
call_out_countries:
description: Call Out Countries/Regions
items: {}
type: array
display_toll_free_numbers:
description: Display toll-free numbers
type: boolean
show_international_numbers_link:
description: Show international numbers link on the invitation email
type: boolean
type: object
zoom_rooms:
description: "Account Settings: Zoom Rooms."
properties:
auto_start_stop_scheduled_meetings:
description: Automatic start and stop for scheduled meetings.
type: boolean
cmr_for_instant_meeting:
description: Cloud recording for instant meetings.
type: boolean
force_private_meeting:
description: Shift all meetings to private.
type: boolean
hide_host_information:
description: Hide host and meeting ID from private meetings.
type: boolean
list_meetings_with_calendar:
description: Display meeting list with calendar integration.
type: boolean
start_airplay_manually:
description: Start AirPlay service manually.
type: boolean
ultrasonic:
description: Automatic direct sharing using an ultrasonic proximity signal.
type: boolean
upcoming_meeting_alert:
description: Upcoming meeting alert.
type: boolean
weekly_system_restart:
description: Weekly system restart.
type: boolean
zr_post_meeting_feedback:
description: Zoom Room post meeting feedback.
type: boolean
type: object
title: Account settings
type: object
- oneOf:
- properties:
authentication_options:
description: Meeting Authentication Options
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
- properties:
authentication_options:
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: Authentication type
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
title: AccountSettingsAuthentication
type: object
- description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
properties:
admin_change_name_pic:
description: Only account administrators can change a user's username and picture.
type: boolean
hide_billing_info:
description: Hide billing information.
type: boolean
import_photos_from_devices:
description: Allow users to import photos from a photo library on a device.
type: boolean
password_requirement:
description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
properties:
consecutive_characters_length:
description: |-
Specify the max length of consecutive characters(abcde...) that can be used in a password.
If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
type: integer
have_special_character:
description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
type: boolean
minimum_password_length:
description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
maximum: 14
minimum: 8
type: integer
weak_enhance_detection:
description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
type: boolean
type: object
sign_again_period_for_inactivity_on_client:
description: |
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`45`: 45 minutes
`60`: 60 minutes
`90`: 90 minutes
`120`: 120 minutes
type: integer
sign_again_period_for_inactivity_on_web:
description: |+
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`60`: 60 minutes
`120`: 120 minutes
type: integer
sign_in_with_two_factor_auth:
description: |
Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
`all`: Two factor authentication will be enabled for all users in the account.
`none`: Two factor authentication is disabled.
`group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
`role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
`sign_in_with_two_factor_auth_roles` field.
enum:
- all
- group
- role
- none
type: string
sign_in_with_two_factor_auth_groups:
description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
items:
type: string
type: array
sign_in_with_two_factor_auth_roles:
description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
items:
type: string
type: array
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
application/xml:
schema:
oneOf:
- properties:
email_notification:
description: "Account Settings: Notification."
properties:
alternative_host_reminder:
description: Notify when an alternative host is set or removed from a meeting.
type: boolean
cancel_meeting_reminder:
description: Notify the host and participants when a meeting is cancelled.
type: boolean
cloud_recording_avaliable_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify the host when participants join the meeting before them.
type: boolean
low_host_count_reminder:
description: Notify user when host licenses are running low.
type: boolean
schedule_for_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
feature:
description: "Account Settings: Feature."
properties:
meeting_capacity:
description: Set the maximum number of participants a host can have in a single meeting.
type: integer
type: object
in_meeting:
description: "Account Settings: In Meeting."
properties:
alert_guest_join:
description: Identify guest participants in a meeting or webinar.
type: boolean
allow_live_streaming:
description: Allow live streaming.
type: boolean
allow_participants_to_rename:
description: |
If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.
type: boolean
allow_show_zoom_windows:
description: "Show the Zoom desktop application when sharing screens. "
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
anonymous_question_answer:
description: Allow an anonymous Q&A in a webinar.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to the "auto-answer group" in the chat contact list. Any call from members of this group will automatically be answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send a message that is visible to all participants.
type: boolean
closed_caption:
description: "Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions. "
type: boolean
co_host:
description: Allow the host to add co-hosts.
type: boolean
custom_data_center_regions:
description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
custom_live_streaming_service:
description: Custom live streaming.
type: boolean
custom_service_instructions:
description: Custom service instructions.
type: string
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- EU
- HK
- AU
- IN
- TY
- CN
- US
- CA
items:
type: string
type: array
dscp_audio:
description: DSCP audio.
maximum: 63
minimum: 1
type: integer
dscp_marking:
description: DSCP marking.
type: boolean
dscp_video:
description: DSCP video.
maximum: 63
minimum: 1
type: integer
e2e_encryption:
description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.
enum:
- host
- all
- none
type: string
x-enum-descriptions:
- Heard by host only
- Heard by host and all attendees
- Disable
far_end_camera_control:
description: Allow another user to take control of your camera during a meeting.
type: boolean
feedback:
description: Add a "Feedback" tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.
type: boolean
group_hd:
description: |-
Activate higher quality video for host and participants.
Please note: This will use more bandwidth.
type: boolean
meeting_reactions:
description: |-
Enable or disable meeting reactions.
`true`: Allow meeting participants to communicate without interrupting by reacting with an emoji that shows on their video.
`false`: Do not enable meeting reactions.
type: boolean
original_audio:
description: Allow users to select original sound in their client settings.
type: boolean
p2p_connetion:
description: Peer to peer connection while only two people are in a meeting.
type: boolean
p2p_ports:
description: Peer to peer listening ports range.
type: boolean
polling:
description: Add "Polls" to the meeting controls.
type: boolean
ports_range:
default: ""
description: The listening ports range, separated by a comma (ex 55,56). The ports range must be between 1 to 65535.
type: string
post_meeting_feedback:
description: Display a thumbs up or down survey at the end of each meeting.
type: boolean
private_chat:
description: Allow a meeting participant to send a private message to another participant.
type: boolean
record_play_own_voice:
description: Record and play their own voice.
type: boolean
remote_control:
description: Allow users to request remote control.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the account or not.
type: boolean
screen_sharing:
description: Allow screen sharing.
type: boolean
sending_default_email_invites:
description: Only show the default email when sending email invites.
type: boolean
show_a_join_from_your_browser_link:
description: If the value of this field is set to `true`, you will allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is a workaround for participants who are unable to download, install, or run applications. Note that the meeting experience from the browser is limited.
type: boolean
show_meeting_control_toolbar:
description: Always show the meeting control toolbar.
type: boolean
stereo_audio:
description: Allow users to select stereo audio in their client settings.
type: boolean
use_html_format_email:
description: Use HTML formatted email for the Outlook plugin.
type: boolean
virtual_background:
description: Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow users to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
watermark:
description: Add a watermark when viewing a shared screen.
type: boolean
webinar_question_answer:
description: Allow a Q&A in a webinar.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
workplace_by_facebook:
description: Workplace by facebook.
type: boolean
type: object
integration:
description: "Account Settings: Integration."
properties:
box:
description: Enable users who join a meeting from their mobile device to share content from their Box account.
type: boolean
dropbox:
description: Enable users who join a meeting from their mobile device to share content from their Dropbox account.
type: boolean
google_calendar:
description: Enable meetings to be scheduled using Google Calendar.
type: boolean
google_drive:
description: Enable users who join a meeting from their mobile device to share content from their Google Drive.
type: boolean
kubi:
description: Enable users to control a connected Kubi device from within a Zoom meeting.
type: boolean
microsoft_one_drive:
description: Enable users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.
type: boolean
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
description: "Account Settings: Recording."
properties:
account_user_access_recording:
description: Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
type: boolean
allow_recovery_deleted_cloud_recordings:
description: |-
Allow recovery of deleted cloud recordings from trash.
If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.
type: boolean
archive:
description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team."
properties:
enable:
description: Enable the archiving feature.
type: boolean
settings:
properties:
audio_file:
description: Include in-meeting and/or in-webinar audio in the archive.
type: boolean
cc_transcript_file:
description: Include closed caption or transcript in the archive.
type: boolean
chat_file:
description: Include in-meeting chat in the archive.
type: boolean
chat_with_sender_email:
description: Include user email in in-meeting chat file.
type: boolean
video_file:
description: Include in-meeting and/or in-webinar video in the archive.
type: boolean
type: object
type:
description: |-
Archive types:
* `1`: Only meetings are archived.
* `2`: Only webinars are archived.
* `3`: Both meetings and webinars are archived.
enum:
- 1
- 2
- 3
type: integer
type: object
auto_delete_cmr:
description: Allow Zoom to permanantly delete recordings automatically after a specified number of days.
type: boolean
auto_delete_cmr_days:
description: When `auto_delete_cmr` function is 'true' this value will set the number of days before the auto deletion of cloud recordings.
type: integer
auto_recording:
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record on local
- Record on cloud
- Disabled
cloud_recording:
description: Allow hosts to record and save the meeting in the cloud.
type: boolean
cloud_recording_download:
description: Cloud recording downloads.
type: boolean
cloud_recording_download_host:
description: Only the host can download cloud recordings.
type: boolean
host_delete_cloud_recording:
description: |
If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting using a local file.
type: boolean
prevent_host_access_recording:
description: |
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
record_audio_file:
description: Record an audio only file.
type: boolean
record_gallery_view:
description: Record the gallery view with a shared screen.
type: boolean
record_speaker_view:
description: Record the active speaker with a shared screen.
type: boolean
recording_audio_transcript:
description: Automatically transcribe the audio of the meeting or webinar to the cloud.
type: boolean
recording_disclaimer:
description: |
Show a disclaimer to participants before a recording starts
type: boolean
recording_password_requirement:
description: This object represents the minimum password requirements set for recordings via Account Recording Settings.
properties:
have_letter:
description: Indicates whether or not password must contain at least one alphabetical letter (a, b, c..).
type: boolean
have_number:
description: Indicates whether or not password must contain at least one number(1, 2, 3..).
type: boolean
have_special_character:
description: "Indicates whether or not password must contain at least one special character(!, @, #..)."
type: boolean
length:
description: Minimum required length for the password.
maximum: 10
type: integer
only_allow_numeric:
description: Indicates whether or not password must contain only numeric characters.
type: boolean
type: object
required_password_for_existing_cloud_recordings:
description: Require a passcode to access existing cloud recordings.
type: boolean
save_chat_text:
description: Save the chat text from the meeting.
type: boolean
show_timestamp:
description: Add a timestamp to the recording.
type: boolean
type: object
schedule_meeting:
description: "Account Settings: Schedule Meeting."
properties:
audio_type:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.
enum:
- both
- telephony
- voip
- thirdParty
type: string
x-enum-descriptions:
- Telephony and VoIP
- Audio PSTN telephony only
- VoIP only
- 3rd party audio conference
enforce_login:
description: Only Zoom users who are signed in can join meetings.
type: boolean
enforce_login_domains:
description: "Only signed in users with a specified domain can join the meeting. "
type: string
enforce_login_with_domains:
description: Only signed in users with a specific domain can join meetings.
type: boolean
force_pmi_jbh_password:
description: Require a password for Personal Meetings if attendees can join before host.
type: boolean
host_video:
description: Start meetings with the host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives.
type: boolean
meeting_password_requirement:
description: Account wide meeting/webinar [password requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the password must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the password must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the password must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the password must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar password needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the password must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided password is weak.
type: boolean
type: object
not_store_meeting_topic:
description: Always display "Zoom Meeting" as the meeting topic.
type: boolean
participant_video:
description: Start meetings with the participant video on. Participants can change this setting during the meeting.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
require_password_for_instant_meetings:
description: |
Require a password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: |
Require a password for a meeting held using Personal Meeting ID (PMI) This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
enum:
- jbh_only
- all
- none
type: string
x-enum-descriptions:
- Only meetings with Join Before Host enabled
- All meetings using PMI
- Disabled
require_password_for_scheduled_meetings:
description: |
Require a password for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: Require a password when scheduling new meetings. This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
use_pmi_for_instant_meetings:
description: |
Use Personal Meeting ID (PMI) when starting an instant meeting
type: boolean
use_pmi_for_scheduled_meetings:
description: |
Use Personal Meeting ID (PMI) when scheduling a meeting
type: boolean
type: object
security:
description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
properties:
admin_change_name_pic:
description: Only account administrators can change a user's username and picture.
type: boolean
hide_billing_info:
description: Hide billing information.
type: boolean
import_photos_from_devices:
description: Allow users to import photos from a photo library on a device.
type: boolean
password_requirement:
description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
properties:
consecutive_characters_length:
description: |-
Specify the max length of consecutive characters(abcde...) that can be used in a password.
If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
type: integer
have_special_character:
description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
type: boolean
minimum_password_length:
description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
maximum: 14
minimum: 8
type: integer
weak_enhance_detection:
description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
type: boolean
type: object
sign_again_period_for_inactivity_on_client:
description: |
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`45`: 45 minutes
`60`: 60 minutes
`90`: 90 minutes
`120`: 120 minutes
type: integer
sign_again_period_for_inactivity_on_web:
description: |+
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`60`: 60 minutes
`120`: 120 minutes
type: integer
sign_in_with_two_factor_auth:
description: |
Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
`all`: Two factor authentication will be enabled for all users in the account.
`none`: Two factor authentication is disabled.
`group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
`role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
`sign_in_with_two_factor_auth_roles` field.
enum:
- all
- group
- role
- none
type: string
sign_in_with_two_factor_auth_groups:
description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
items:
type: string
type: array
sign_in_with_two_factor_auth_roles:
description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
items:
type: string
type: array
type: object
telephony:
description: "Account Settings: Telephony."
properties:
audio_conference_info:
description: Third party audio conference info.
type: string
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
allowed_values:
description: Telephony region options provided by Zoom to select from.
items:
type: string
type: array
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Users can join the meeting using the existing third party audio configuration.
type: boolean
type: object
tsp:
description: "Account Settings: TSP."
properties:
call_out:
description: Call Out
type: boolean
call_out_countries:
description: Call Out Countries/Regions
items: {}
type: array
display_toll_free_numbers:
description: Display toll-free numbers
type: boolean
show_international_numbers_link:
description: Show international numbers link on the invitation email
type: boolean
type: object
zoom_rooms:
description: "Account Settings: Zoom Rooms."
properties:
auto_start_stop_scheduled_meetings:
description: Automatic start and stop for scheduled meetings.
type: boolean
cmr_for_instant_meeting:
description: Cloud recording for instant meetings.
type: boolean
force_private_meeting:
description: Shift all meetings to private.
type: boolean
hide_host_information:
description: Hide host and meeting ID from private meetings.
type: boolean
list_meetings_with_calendar:
description: Display meeting list with calendar integration.
type: boolean
start_airplay_manually:
description: Start AirPlay service manually.
type: boolean
ultrasonic:
description: Automatic direct sharing using an ultrasonic proximity signal.
type: boolean
upcoming_meeting_alert:
description: Upcoming meeting alert.
type: boolean
weekly_system_restart:
description: Weekly system restart.
type: boolean
zr_post_meeting_feedback:
description: Zoom Room post meeting feedback.
type: boolean
type: object
title: Account settings
type: object
- oneOf:
- properties:
authentication_options:
description: Meeting Authentication Options
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
- properties:
authentication_options:
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: Authentication type
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
title: AccountSettingsAuthentication
type: object
- description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
properties:
admin_change_name_pic:
description: Only account administrators can change a user's username and picture.
type: boolean
hide_billing_info:
description: Hide billing information.
type: boolean
import_photos_from_devices:
description: Allow users to import photos from a photo library on a device.
type: boolean
password_requirement:
description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
properties:
consecutive_characters_length:
description: |-
Specify the max length of consecutive characters(abcde...) that can be used in a password.
If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
type: integer
have_special_character:
description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
type: boolean
minimum_password_length:
description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
maximum: 14
minimum: 8
type: integer
weak_enhance_detection:
description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
type: boolean
type: object
sign_again_period_for_inactivity_on_client:
description: |
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`45`: 45 minutes
`60`: 60 minutes
`90`: 90 minutes
`120`: 120 minutes
type: integer
sign_again_period_for_inactivity_on_web:
description: |+
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`60`: 60 minutes
`120`: 120 minutes
type: integer
sign_in_with_two_factor_auth:
description: |
Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
`all`: Two factor authentication will be enabled for all users in the account.
`none`: Two factor authentication is disabled.
`group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
`role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
`sign_in_with_two_factor_auth_roles` field.
enum:
- all
- group
- role
- none
type: string
sign_in_with_two_factor_auth_groups:
description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
items:
type: string
type: array
sign_in_with_two_factor_auth_roles:
description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
items:
type: string
type: array
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
description: |-
**HTTP Status Code:** `200` Account settings returned.
**Error Code:** `200`
Only available for Paid account.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `2001`
Account does not exist: $subAccountId.
summary: Get settings
tags:
- Accounts
patch:
description: |-
Update the settings of a sub account that is under a master account. To update the settings of the master account, use `me` as the value of the `accountId` path parameter.
**Prerequisites**:
* The sub account must be a paid account.
**Scopes**: `account:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: accountSettingsUpdate
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
- allowEmptyValue: true
in: query
name: option
schema:
enum:
- meeting_authentication
- recording_authentication
- security
- meeting_security
type: string
requestBody:
content:
application/json:
schema:
oneOf:
- properties:
email_notification:
description: "Account Settings: Notification."
properties:
alternative_host_reminder:
description: Notify when an alternative host is set or removed from a meeting.
type: boolean
cancel_meeting_reminder:
description: Notify the host and participants when a meeting is cancelled.
type: boolean
cloud_recording_avaliable_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify the host when participants join the meeting before them.
type: boolean
low_host_count_reminder:
description: Notify user when host licenses are running low.
type: boolean
schedule_for_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
feature:
description: "Account Settings: Feature."
properties:
meeting_capacity:
description: Set the maximum number of participants a host can have in a single meeting.
type: integer
type: object
in_meeting:
description: "Account Settings: In Meeting."
properties:
alert_guest_join:
description: Identify guest participants in a meeting or webinar.
type: boolean
allow_live_streaming:
description: Allow live streaming.
type: boolean
allow_participants_to_rename:
description: |
If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.
type: boolean
allow_show_zoom_windows:
description: "Show the Zoom desktop application when sharing screens. "
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
anonymous_question_answer:
description: Allow an anonymous Q&A in a webinar.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to the "auto-answer group" in the chat contact list. Any call from members of this group will automatically be answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send a message that is visible to all participants.
type: boolean
closed_caption:
description: "Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions. "
type: boolean
co_host:
description: Allow the host to add co-hosts.
type: boolean
custom_data_center_regions:
description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
custom_live_streaming_service:
description: Custom live streaming.
type: boolean
custom_service_instructions:
description: Custom service instructions.
type: string
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- EU
- HK
- AU
- IN
- TY
- CN
- US
- CA
items:
type: string
type: array
dscp_audio:
description: DSCP audio.
maximum: 63
minimum: 1
type: integer
dscp_marking:
description: DSCP marking.
type: boolean
dscp_video:
description: DSCP video.
maximum: 63
minimum: 1
type: integer
e2e_encryption:
description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.
enum:
- host
- all
- none
type: string
x-enum-descriptions:
- Heard by host only
- Heard by host and all attendees
- Disable
far_end_camera_control:
description: Allow another user to take control of your camera during a meeting.
type: boolean
feedback:
description: Add a "Feedback" tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.
type: boolean
group_hd:
description: |-
Activate higher quality video for host and participants.
Please note: This will use more bandwidth.
type: boolean
meeting_reactions:
description: |-
Enable or disable meeting reactions.
`true`: Allow meeting participants to communicate without interrupting by reacting with an emoji that shows on their video.
`false`: Do not enable meeting reactions.
type: boolean
original_audio:
description: Allow users to select original sound in their client settings.
type: boolean
p2p_connetion:
description: Peer to peer connection while only two people are in a meeting.
type: boolean
p2p_ports:
description: Peer to peer listening ports range.
type: boolean
polling:
description: Add "Polls" to the meeting controls.
type: boolean
ports_range:
default: ""
description: The listening ports range, separated by a comma (ex 55,56). The ports range must be between 1 to 65535.
type: string
post_meeting_feedback:
description: Display a thumbs up or down survey at the end of each meeting.
type: boolean
private_chat:
description: Allow a meeting participant to send a private message to another participant.
type: boolean
record_play_own_voice:
description: Record and play their own voice.
type: boolean
remote_control:
description: Allow users to request remote control.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the account or not.
type: boolean
screen_sharing:
description: Allow screen sharing.
type: boolean
sending_default_email_invites:
description: Only show the default email when sending email invites.
type: boolean
show_a_join_from_your_browser_link:
description: If the value of this field is set to `true`, you will allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is a workaround for participants who are unable to download, install, or run applications. Note that the meeting experience from the browser is limited.
type: boolean
show_meeting_control_toolbar:
description: Always show the meeting control toolbar.
type: boolean
stereo_audio:
description: Allow users to select stereo audio in their client settings.
type: boolean
use_html_format_email:
description: Use HTML formatted email for the Outlook plugin.
type: boolean
virtual_background:
description: Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow users to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
watermark:
description: Add a watermark when viewing a shared screen.
type: boolean
webinar_question_answer:
description: Allow a Q&A in a webinar.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
workplace_by_facebook:
description: Workplace by facebook.
type: boolean
type: object
integration:
description: "Account Settings: Integration."
properties:
box:
description: Enable users who join a meeting from their mobile device to share content from their Box account.
type: boolean
dropbox:
description: Enable users who join a meeting from their mobile device to share content from their Dropbox account.
type: boolean
google_calendar:
description: Enable meetings to be scheduled using Google Calendar.
type: boolean
google_drive:
description: Enable users who join a meeting from their mobile device to share content from their Google Drive.
type: boolean
kubi:
description: Enable users to control a connected Kubi device from within a Zoom meeting.
type: boolean
microsoft_one_drive:
description: Enable users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.
type: boolean
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
description: "Account Settings: Recording."
properties:
account_user_access_recording:
description: Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
type: boolean
allow_recovery_deleted_cloud_recordings:
description: |-
Allow recovery of deleted cloud recordings from trash.
If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.
type: boolean
archive:
description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team."
properties:
enable:
description: Enable the archiving feature.
type: boolean
settings:
properties:
audio_file:
description: Include in-meeting and/or in-webinar audio in the archive.
type: boolean
cc_transcript_file:
description: Include closed caption or transcript in the archive.
type: boolean
chat_file:
description: Include in-meeting chat in the archive.
type: boolean
chat_with_sender_email:
description: Include user email in in-meeting chat file.
type: boolean
video_file:
description: Include in-meeting and/or in-webinar video in the archive.
type: boolean
type: object
type:
description: |-
Archive types:
* `1`: Only meetings are archived.
* `2`: Only webinars are archived.
* `3`: Both meetings and webinars are archived.
enum:
- 1
- 2
- 3
type: integer
type: object
auto_delete_cmr:
description: Allow Zoom to permanantly delete recordings automatically after a specified number of days.
type: boolean
auto_delete_cmr_days:
description: When `auto_delete_cmr` function is 'true' this value will set the number of days before the auto deletion of cloud recordings.
type: integer
auto_recording:
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record on local
- Record on cloud
- Disabled
cloud_recording:
description: Allow hosts to record and save the meeting in the cloud.
type: boolean
cloud_recording_download:
description: Cloud recording downloads.
type: boolean
cloud_recording_download_host:
description: Only the host can download cloud recordings.
type: boolean
host_delete_cloud_recording:
description: |
If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting using a local file.
type: boolean
prevent_host_access_recording:
description: |
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
record_audio_file:
description: Record an audio only file.
type: boolean
record_gallery_view:
description: Record the gallery view with a shared screen.
type: boolean
record_speaker_view:
description: Record the active speaker with a shared screen.
type: boolean
recording_audio_transcript:
description: Automatically transcribe the audio of the meeting or webinar to the cloud.
type: boolean
recording_disclaimer:
description: |
Show a disclaimer to participants before a recording starts
type: boolean
recording_password_requirement:
description: This object represents the minimum password requirements set for recordings via Account Recording Settings.
properties:
have_letter:
description: Indicates whether or not password must contain at least one alphabetical letter (a, b, c..).
type: boolean
have_number:
description: Indicates whether or not password must contain at least one number(1, 2, 3..).
type: boolean
have_special_character:
description: "Indicates whether or not password must contain at least one special character(!, @, #..)."
type: boolean
length:
description: Minimum required length for the password.
maximum: 10
type: integer
only_allow_numeric:
description: Indicates whether or not password must contain only numeric characters.
type: boolean
type: object
required_password_for_existing_cloud_recordings:
description: Require a passcode to access existing cloud recordings.
type: boolean
save_chat_text:
description: Save the chat text from the meeting.
type: boolean
show_timestamp:
description: Add a timestamp to the recording.
type: boolean
type: object
schedule_meeting:
description: "Account Settings: Schedule Meeting."
properties:
audio_type:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.
enum:
- both
- telephony
- voip
- thirdParty
type: string
x-enum-descriptions:
- Telephony and VoIP
- Audio PSTN telephony only
- VoIP only
- 3rd party audio conference
enforce_login:
description: Only Zoom users who are signed in can join meetings.
type: boolean
enforce_login_domains:
description: "Only signed in users with a specified domain can join the meeting. "
type: string
enforce_login_with_domains:
description: Only signed in users with a specific domain can join meetings.
type: boolean
force_pmi_jbh_password:
description: Require a password for Personal Meetings if attendees can join before host.
type: boolean
host_video:
description: Start meetings with the host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives.
type: boolean
meeting_password_requirement:
description: Account wide meeting/webinar [password requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the password must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the password must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the password must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the password must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar password needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the password must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided password is weak.
type: boolean
type: object
not_store_meeting_topic:
description: Always display "Zoom Meeting" as the meeting topic.
type: boolean
participant_video:
description: Start meetings with the participant video on. Participants can change this setting during the meeting.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
require_password_for_instant_meetings:
description: |
Require a password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: |
Require a password for a meeting held using Personal Meeting ID (PMI) This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
enum:
- jbh_only
- all
- none
type: string
x-enum-descriptions:
- Only meetings with Join Before Host enabled
- All meetings using PMI
- Disabled
require_password_for_scheduled_meetings:
description: |
Require a password for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: Require a password when scheduling new meetings. This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
use_pmi_for_instant_meetings:
description: |
Use Personal Meeting ID (PMI) when starting an instant meeting
type: boolean
use_pmi_for_scheduled_meetings:
description: |
Use Personal Meeting ID (PMI) when scheduling a meeting
type: boolean
type: object
security:
description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
properties:
admin_change_name_pic:
description: Only account administrators can change a user's username and picture.
type: boolean
hide_billing_info:
description: Hide billing information.
type: boolean
import_photos_from_devices:
description: Allow users to import photos from a photo library on a device.
type: boolean
password_requirement:
description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
properties:
consecutive_characters_length:
description: |-
Specify the max length of consecutive characters(abcde...) that can be used in a password.
If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
type: integer
have_special_character:
description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
type: boolean
minimum_password_length:
description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
maximum: 14
minimum: 8
type: integer
weak_enhance_detection:
description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
type: boolean
type: object
sign_again_period_for_inactivity_on_client:
description: |
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`45`: 45 minutes
`60`: 60 minutes
`90`: 90 minutes
`120`: 120 minutes
type: integer
sign_again_period_for_inactivity_on_web:
description: |+
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`60`: 60 minutes
`120`: 120 minutes
type: integer
sign_in_with_two_factor_auth:
description: |
Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
`all`: Two factor authentication will be enabled for all users in the account.
`none`: Two factor authentication is disabled.
`group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
`role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
`sign_in_with_two_factor_auth_roles` field.
enum:
- all
- group
- role
- none
type: string
sign_in_with_two_factor_auth_groups:
description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
items:
type: string
type: array
sign_in_with_two_factor_auth_roles:
description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
items:
type: string
type: array
type: object
telephony:
description: "Account Settings Update: Telephony."
properties:
audio_conference_info:
description: Third party audio conference info.
type: string
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Users can join the meeting using the existing third party audio configuration.
type: boolean
type: object
tsp:
description: "Account Settings: TSP."
properties:
call_out:
description: Call Out
type: boolean
call_out_countries:
description: Call Out Countries/Regions
items: {}
type: array
display_toll_free_numbers:
description: Display toll-free numbers
type: boolean
show_international_numbers_link:
description: Show international numbers link on the invitation email
type: boolean
type: object
zoom_rooms:
description: "Account Settings: Zoom Rooms."
properties:
auto_start_stop_scheduled_meetings:
description: Automatic start and stop for scheduled meetings.
type: boolean
cmr_for_instant_meeting:
description: Cloud recording for instant meetings.
type: boolean
force_private_meeting:
description: Shift all meetings to private.
type: boolean
hide_host_information:
description: Hide host and meeting ID from private meetings.
type: boolean
list_meetings_with_calendar:
description: Display meeting list with calendar integration.
type: boolean
start_airplay_manually:
description: Start AirPlay service manually.
type: boolean
ultrasonic:
description: Automatic direct sharing using an ultrasonic proximity signal.
type: boolean
upcoming_meeting_alert:
description: Upcoming meeting alert.
type: boolean
weekly_system_restart:
description: Weekly system restart.
type: boolean
zr_post_meeting_feedback:
description: Zoom Room post meeting feedback.
type: boolean
type: object
title: Update account settings
type: object
- oneOf:
- description: Set/ update [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars).
The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
properties:
authentication_option:
description: Meeting Authentication Options
properties:
action:
description: |-
Specify the action that you would like to take via this API request:
* `add` : Choose this value if you are adding an authentication option.
* `update`: Choose this value if you are updating an existing authentication option.
* `delete`: Choose this value if you are deleting an existing authentication option.
enum:
- update
- delete
- add
type: string
default_option:
description: Specify whether you would like to set this authentication option as the default option or not.
type: boolean
domains:
description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to join your meetings or webinars. "
type: string
id:
description: |2-
Authentication ID. If you are creating an authentication profile, you do not need to provide this field. The id field will be generated in the response once this API request is completed successfully. You can also use the Get Account Settings API with query parameter set to `meeting_authentication` to list the authentication id.
Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.
type: string
name:
description: Unique name for the authentication option.
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
type: object
meeting_authentication:
description: 'If set to "true", only authenticated users can join meetings. The method for authentication can be defined in the "authentication_option". '
type: boolean
- description: Set/Update [authentication profile for Cloud Recordings](https://support.zoom.us/hc/en-us/articles/360037756671-Authentication-Profiles-for-Cloud-Recordings).
properties:
authentication_option:
description: Specify the authentication options for this account.
properties:
action:
description: |-
Specify the action that you would like to take via this API request:
* `add` : Choose this value if you are adding an authentication option.
* `update`: Choose this value if you are updating an existing authentication option.
* `delete`: Choose this value if you are deleting an existing authentication option.
enum:
- update
- delete
- add
type: string
default_option:
description: Specify whether you would like to set this authentication option as the default option or not.
type: boolean
domains:
description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to view the recordings. "
type: string
id:
description: |2-
Authentication ID. If you are creating an authentication profile, you do not need to provide this field. The id field will be generated in the response once this API request is completed successfully. You can also use the Get Account Settings API with query parameter set to `meeting_authentication` to list the authentication id.
Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.
type: string
name:
description: Unique name for the authentication option.
type: string
type:
description: |+
Specify one authentication type that is to be associated with this authentication configuration:
* `internally`: This option allows you specify a rule that only signed in users within your account can view the recording.
* `enforce_login`: This option allows any users to view the recording, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can view the recording. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
type: object
recording_authentication:
description: |-
If set to `true`, only authenticated users can view the cloud recordings.
The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
type: boolean
title: AccountSettingsAuthenticationUpdate
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
multipart/form-data:
schema:
oneOf:
- properties:
email_notification:
description: "Account Settings: Notification."
properties:
alternative_host_reminder:
description: Notify when an alternative host is set or removed from a meeting.
type: boolean
cancel_meeting_reminder:
description: Notify the host and participants when a meeting is cancelled.
type: boolean
cloud_recording_avaliable_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify the host when participants join the meeting before them.
type: boolean
low_host_count_reminder:
description: Notify user when host licenses are running low.
type: boolean
schedule_for_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
feature:
description: "Account Settings: Feature."
properties:
meeting_capacity:
description: Set the maximum number of participants a host can have in a single meeting.
type: integer
type: object
in_meeting:
description: "Account Settings: In Meeting."
properties:
alert_guest_join:
description: Identify guest participants in a meeting or webinar.
type: boolean
allow_live_streaming:
description: Allow live streaming.
type: boolean
allow_participants_to_rename:
description: |
If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.
type: boolean
allow_show_zoom_windows:
description: "Show the Zoom desktop application when sharing screens. "
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
anonymous_question_answer:
description: Allow an anonymous Q&A in a webinar.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to the "auto-answer group" in the chat contact list. Any call from members of this group will automatically be answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send a message that is visible to all participants.
type: boolean
closed_caption:
description: "Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions. "
type: boolean
co_host:
description: Allow the host to add co-hosts.
type: boolean
custom_data_center_regions:
description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
custom_live_streaming_service:
description: Custom live streaming.
type: boolean
custom_service_instructions:
description: Custom service instructions.
type: string
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- EU
- HK
- AU
- IN
- TY
- CN
- US
- CA
items:
type: string
type: array
dscp_audio:
description: DSCP audio.
maximum: 63
minimum: 1
type: integer
dscp_marking:
description: DSCP marking.
type: boolean
dscp_video:
description: DSCP video.
maximum: 63
minimum: 1
type: integer
e2e_encryption:
description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.
enum:
- host
- all
- none
type: string
x-enum-descriptions:
- Heard by host only
- Heard by host and all attendees
- Disable
far_end_camera_control:
description: Allow another user to take control of your camera during a meeting.
type: boolean
feedback:
description: Add a "Feedback" tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.
type: boolean
group_hd:
description: |-
Activate higher quality video for host and participants.
Please note: This will use more bandwidth.
type: boolean
meeting_reactions:
description: |-
Enable or disable meeting reactions.
`true`: Allow meeting participants to communicate without interrupting by reacting with an emoji that shows on their video.
`false`: Do not enable meeting reactions.
type: boolean
original_audio:
description: Allow users to select original sound in their client settings.
type: boolean
p2p_connetion:
description: Peer to peer connection while only two people are in a meeting.
type: boolean
p2p_ports:
description: Peer to peer listening ports range.
type: boolean
polling:
description: Add "Polls" to the meeting controls.
type: boolean
ports_range:
default: ""
description: The listening ports range, separated by a comma (ex 55,56). The ports range must be between 1 to 65535.
type: string
post_meeting_feedback:
description: Display a thumbs up or down survey at the end of each meeting.
type: boolean
private_chat:
description: Allow a meeting participant to send a private message to another participant.
type: boolean
record_play_own_voice:
description: Record and play their own voice.
type: boolean
remote_control:
description: Allow users to request remote control.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the account or not.
type: boolean
screen_sharing:
description: Allow screen sharing.
type: boolean
sending_default_email_invites:
description: Only show the default email when sending email invites.
type: boolean
show_a_join_from_your_browser_link:
description: If the value of this field is set to `true`, you will allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is a workaround for participants who are unable to download, install, or run applications. Note that the meeting experience from the browser is limited.
type: boolean
show_meeting_control_toolbar:
description: Always show the meeting control toolbar.
type: boolean
stereo_audio:
description: Allow users to select stereo audio in their client settings.
type: boolean
use_html_format_email:
description: Use HTML formatted email for the Outlook plugin.
type: boolean
virtual_background:
description: Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow users to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
watermark:
description: Add a watermark when viewing a shared screen.
type: boolean
webinar_question_answer:
description: Allow a Q&A in a webinar.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
workplace_by_facebook:
description: Workplace by facebook.
type: boolean
type: object
integration:
description: "Account Settings: Integration."
properties:
box:
description: Enable users who join a meeting from their mobile device to share content from their Box account.
type: boolean
dropbox:
description: Enable users who join a meeting from their mobile device to share content from their Dropbox account.
type: boolean
google_calendar:
description: Enable meetings to be scheduled using Google Calendar.
type: boolean
google_drive:
description: Enable users who join a meeting from their mobile device to share content from their Google Drive.
type: boolean
kubi:
description: Enable users to control a connected Kubi device from within a Zoom meeting.
type: boolean
microsoft_one_drive:
description: Enable users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.
type: boolean
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
description: "Account Settings: Recording."
properties:
account_user_access_recording:
description: Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
type: boolean
allow_recovery_deleted_cloud_recordings:
description: |-
Allow recovery of deleted cloud recordings from trash.
If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.
type: boolean
archive:
description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team."
properties:
enable:
description: Enable the archiving feature.
type: boolean
settings:
properties:
audio_file:
description: Include in-meeting and/or in-webinar audio in the archive.
type: boolean
cc_transcript_file:
description: Include closed caption or transcript in the archive.
type: boolean
chat_file:
description: Include in-meeting chat in the archive.
type: boolean
chat_with_sender_email:
description: Include user email in in-meeting chat file.
type: boolean
video_file:
description: Include in-meeting and/or in-webinar video in the archive.
type: boolean
type: object
type:
description: |-
Archive types:
* `1`: Only meetings are archived.
* `2`: Only webinars are archived.
* `3`: Both meetings and webinars are archived.
enum:
- 1
- 2
- 3
type: integer
type: object
auto_delete_cmr:
description: Allow Zoom to permanantly delete recordings automatically after a specified number of days.
type: boolean
auto_delete_cmr_days:
description: When `auto_delete_cmr` function is 'true' this value will set the number of days before the auto deletion of cloud recordings.
type: integer
auto_recording:
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record on local
- Record on cloud
- Disabled
cloud_recording:
description: Allow hosts to record and save the meeting in the cloud.
type: boolean
cloud_recording_download:
description: Cloud recording downloads.
type: boolean
cloud_recording_download_host:
description: Only the host can download cloud recordings.
type: boolean
host_delete_cloud_recording:
description: |
If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting using a local file.
type: boolean
prevent_host_access_recording:
description: |
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
record_audio_file:
description: Record an audio only file.
type: boolean
record_gallery_view:
description: Record the gallery view with a shared screen.
type: boolean
record_speaker_view:
description: Record the active speaker with a shared screen.
type: boolean
recording_audio_transcript:
description: Automatically transcribe the audio of the meeting or webinar to the cloud.
type: boolean
recording_disclaimer:
description: |
Show a disclaimer to participants before a recording starts
type: boolean
recording_password_requirement:
description: This object represents the minimum password requirements set for recordings via Account Recording Settings.
properties:
have_letter:
description: Indicates whether or not password must contain at least one alphabetical letter (a, b, c..).
type: boolean
have_number:
description: Indicates whether or not password must contain at least one number(1, 2, 3..).
type: boolean
have_special_character:
description: "Indicates whether or not password must contain at least one special character(!, @, #..)."
type: boolean
length:
description: Minimum required length for the password.
maximum: 10
type: integer
only_allow_numeric:
description: Indicates whether or not password must contain only numeric characters.
type: boolean
type: object
required_password_for_existing_cloud_recordings:
description: Require a passcode to access existing cloud recordings.
type: boolean
save_chat_text:
description: Save the chat text from the meeting.
type: boolean
show_timestamp:
description: Add a timestamp to the recording.
type: boolean
type: object
schedule_meeting:
description: "Account Settings: Schedule Meeting."
properties:
audio_type:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.
enum:
- both
- telephony
- voip
- thirdParty
type: string
x-enum-descriptions:
- Telephony and VoIP
- Audio PSTN telephony only
- VoIP only
- 3rd party audio conference
enforce_login:
description: Only Zoom users who are signed in can join meetings.
type: boolean
enforce_login_domains:
description: "Only signed in users with a specified domain can join the meeting. "
type: string
enforce_login_with_domains:
description: Only signed in users with a specific domain can join meetings.
type: boolean
force_pmi_jbh_password:
description: Require a password for Personal Meetings if attendees can join before host.
type: boolean
host_video:
description: Start meetings with the host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives.
type: boolean
meeting_password_requirement:
description: Account wide meeting/webinar [password requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the password must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the password must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the password must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the password must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar password needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the password must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided password is weak.
type: boolean
type: object
not_store_meeting_topic:
description: Always display "Zoom Meeting" as the meeting topic.
type: boolean
participant_video:
description: Start meetings with the participant video on. Participants can change this setting during the meeting.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
require_password_for_instant_meetings:
description: |
Require a password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: |
Require a password for a meeting held using Personal Meeting ID (PMI) This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
enum:
- jbh_only
- all
- none
type: string
x-enum-descriptions:
- Only meetings with Join Before Host enabled
- All meetings using PMI
- Disabled
require_password_for_scheduled_meetings:
description: |
Require a password for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: Require a password when scheduling new meetings. This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
use_pmi_for_instant_meetings:
description: |
Use Personal Meeting ID (PMI) when starting an instant meeting
type: boolean
use_pmi_for_scheduled_meetings:
description: |
Use Personal Meeting ID (PMI) when scheduling a meeting
type: boolean
type: object
security:
description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
properties:
admin_change_name_pic:
description: Only account administrators can change a user's username and picture.
type: boolean
hide_billing_info:
description: Hide billing information.
type: boolean
import_photos_from_devices:
description: Allow users to import photos from a photo library on a device.
type: boolean
password_requirement:
description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
properties:
consecutive_characters_length:
description: |-
Specify the max length of consecutive characters(abcde...) that can be used in a password.
If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
type: integer
have_special_character:
description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
type: boolean
minimum_password_length:
description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
maximum: 14
minimum: 8
type: integer
weak_enhance_detection:
description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
type: boolean
type: object
sign_again_period_for_inactivity_on_client:
description: |
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`45`: 45 minutes
`60`: 60 minutes
`90`: 90 minutes
`120`: 120 minutes
type: integer
sign_again_period_for_inactivity_on_web:
description: |+
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`60`: 60 minutes
`120`: 120 minutes
type: integer
sign_in_with_two_factor_auth:
description: |
Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
`all`: Two factor authentication will be enabled for all users in the account.
`none`: Two factor authentication is disabled.
`group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
`role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
`sign_in_with_two_factor_auth_roles` field.
enum:
- all
- group
- role
- none
type: string
sign_in_with_two_factor_auth_groups:
description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
items:
type: string
type: array
sign_in_with_two_factor_auth_roles:
description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
items:
type: string
type: array
type: object
telephony:
description: "Account Settings Update: Telephony."
properties:
audio_conference_info:
description: Third party audio conference info.
type: string
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Users can join the meeting using the existing third party audio configuration.
type: boolean
type: object
tsp:
description: "Account Settings: TSP."
properties:
call_out:
description: Call Out
type: boolean
call_out_countries:
description: Call Out Countries/Regions
items: {}
type: array
display_toll_free_numbers:
description: Display toll-free numbers
type: boolean
show_international_numbers_link:
description: Show international numbers link on the invitation email
type: boolean
type: object
zoom_rooms:
description: "Account Settings: Zoom Rooms."
properties:
auto_start_stop_scheduled_meetings:
description: Automatic start and stop for scheduled meetings.
type: boolean
cmr_for_instant_meeting:
description: Cloud recording for instant meetings.
type: boolean
force_private_meeting:
description: Shift all meetings to private.
type: boolean
hide_host_information:
description: Hide host and meeting ID from private meetings.
type: boolean
list_meetings_with_calendar:
description: Display meeting list with calendar integration.
type: boolean
start_airplay_manually:
description: Start AirPlay service manually.
type: boolean
ultrasonic:
description: Automatic direct sharing using an ultrasonic proximity signal.
type: boolean
upcoming_meeting_alert:
description: Upcoming meeting alert.
type: boolean
weekly_system_restart:
description: Weekly system restart.
type: boolean
zr_post_meeting_feedback:
description: Zoom Room post meeting feedback.
type: boolean
type: object
title: Update account settings
type: object
- oneOf:
- description: Set/ update [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars).
The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
properties:
authentication_option:
description: Meeting Authentication Options
properties:
action:
description: |-
Specify the action that you would like to take via this API request:
* `add` : Choose this value if you are adding an authentication option.
* `update`: Choose this value if you are updating an existing authentication option.
* `delete`: Choose this value if you are deleting an existing authentication option.
enum:
- update
- delete
- add
type: string
default_option:
description: Specify whether you would like to set this authentication option as the default option or not.
type: boolean
domains:
description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to join your meetings or webinars. "
type: string
id:
description: |2-
Authentication ID. If you are creating an authentication profile, you do not need to provide this field. The id field will be generated in the response once this API request is completed successfully. You can also use the Get Account Settings API with query parameter set to `meeting_authentication` to list the authentication id.
Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.
type: string
name:
description: Unique name for the authentication option.
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
type: object
meeting_authentication:
description: 'If set to "true", only authenticated users can join meetings. The method for authentication can be defined in the "authentication_option". '
type: boolean
- description: Set/Update [authentication profile for Cloud Recordings](https://support.zoom.us/hc/en-us/articles/360037756671-Authentication-Profiles-for-Cloud-Recordings).
properties:
authentication_option:
description: Specify the authentication options for this account.
properties:
action:
description: |-
Specify the action that you would like to take via this API request:
* `add` : Choose this value if you are adding an authentication option.
* `update`: Choose this value if you are updating an existing authentication option.
* `delete`: Choose this value if you are deleting an existing authentication option.
enum:
- update
- delete
- add
type: string
default_option:
description: Specify whether you would like to set this authentication option as the default option or not.
type: boolean
domains:
description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to view the recordings. "
type: string
id:
description: |2-
Authentication ID. If you are creating an authentication profile, you do not need to provide this field. The id field will be generated in the response once this API request is completed successfully. You can also use the Get Account Settings API with query parameter set to `meeting_authentication` to list the authentication id.
Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.
type: string
name:
description: Unique name for the authentication option.
type: string
type:
description: |+
Specify one authentication type that is to be associated with this authentication configuration:
* `internally`: This option allows you specify a rule that only signed in users within your account can view the recording.
* `enforce_login`: This option allows any users to view the recording, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can view the recording. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
type: object
recording_authentication:
description: |-
If set to `true`, only authenticated users can view the cloud recordings.
The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
type: boolean
title: AccountSettingsAuthenticationUpdate
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
required: true
x-examples:
application/json:
email_notification:
alternative_host_reminder: boolean
cancel_meeting_reminder: boolean
cloud_recording_avaliable_reminder: boolean
jbh_reminder: boolean
low_host_count_reminder: boolean
feature:
meeting_capacity: integer
in_meeting:
alert_guest_join: boolean
allow_show_zoom_windows: boolean
annotation: boolean
anonymous_question_answer: boolean
attendee_on_hold: boolean
auto_answer: boolean
auto_saving_chat: boolean
breakout_room: boolean
chat: boolean
closed_caption: boolean
co_host: boolean
dscp_audio: integer
dscp_marking: boolean
dscp_video: integer
e2e_encryption: boolean
far_end_camera_control: boolean
feedback: boolean
group_hd: boolean
original_audio: boolean
p2p_connetion: boolean
p2p_ports: boolean
polling: boolean
ports_range: string
post_meeting_feedback: boolean
private_chat: boolean
remote_control: boolean
screen_sharing: boolean
sending_default_email_invites: boolean
show_meeting_control_toolbar: boolean
stereo_audio: boolean
use_html_format_email: boolean
virtual_background: boolean
watermark: boolean
webinar_question_answer: boolean
whiteboard: boolean
integration:
box: boolean
dropbox: boolean
google_calendar: boolean
google_drive: boolean
kubi: boolean
microsoft_one_drive: boolean
recording:
account_user_access_recording: boolean
auto_delete_cmr: boolean
auto_delete_cmr_days: integer
auto_recording: string
cloud_recording: boolean
cloud_recording_download: boolean
cloud_recording_download_host: boolean
local_recording: boolean
record_audio_file: boolean
record_gallery_view: boolean
record_speaker_view: boolean
recording_audio_transcript: boolean
save_chat_text: boolean
show_timestamp: boolean
schedule_meeting:
audio_type: string
enforce_login: boolean
enforce_login_domains: string
enforce_login_with_domains: boolean
force_pmi_jbh_password: boolean
host_video: boolean
join_before_host: boolean
not_store_meeting_topic: boolean
participant_video: boolean
require_password_for_instant_meetings: boolean
require_password_for_pmi_meetings: string
require_password_for_scheduled_meetings: boolean
require_password_for_scheduling_new_meetings: boolean
use_pmi_for_instant_meetings: boolean
use_pmi_for_scheduled_meetings: boolean
security:
admin_change_name_pic: boolean
hide_billing_info: boolean
import_photos_from_devices: boolean
telephony:
audio_conference_info: string
third_party_audio: boolean
tsp:
call_out: boolean
call_out_countries:
- string
display_toll_free_numbers: boolean
show_international_numbers_link: boolean
zoom_rooms:
auto_start_stop_scheduled_meetings: boolean
cmr_for_instant_meeting: boolean
force_private_meeting: boolean
hide_host_information: boolean
list_meetings_with_calendar: boolean
start_airplay_manually: boolean
ultrasonic: boolean
upcoming_meeting_alert: boolean
weekly_system_restart: boolean
zr_post_meeting_feedback: boolean
responses:
"200":
description: "**Error Code:** `200` Only available for Paid account."
"204":
description: "**HTTP Status Code:** `204` Account settings updated."
"300":
description: "**Error Code:** `300` The domains provided are invalid. If you are providing multiple domains, separate each domain with a comma."
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `2001` Account does not exist: $subAccountId.
summary: Update settings
tags:
- Accounts
"/accounts/{accountId}/settings/virtual_backgrounds":
delete:
description: |+
Delete existing virtual background file(s) from an account.
**Prerequisites:**
* Virtual background feature must be [enabled](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_2ef28080-fce9-4ac2-b567-dc958afab1b7) on the account.
**Scope:** `account:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: delVB
parameters:
- description: Provide the id of the file that is to be deleted. To delete multiple files, provide comma separated values for this field.
in: query
name: file_ids
schema:
type: string
responses:
"204":
description: |
**HTTP Status Code:** `204` **No Content**
Deleted.
"400":
description: |-
**HTTP Status Code:** `400` **Bad request**
**Error Code:** `300`
Invalid parameter: file_ids.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001`
This account does not exist or does not belong to you: {accountId}.
summary: Delete virtual background files
tags:
- Accounts
parameters:
- in: path
name: accountId
required: true
schema:
type: string
post:
description: |+
Use this API to [upload virtual background files](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_01EJF3YFEWGT8YA0ZJ079JEDQE) for all users on the account to use.
**Prerequisites:**
* Virtual background feature must be [enabled](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_2ef28080-fce9-4ac2-b567-dc958afab1b7) on the account.
**Scope:** `account:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: uploadVB
parameters:
- description: Unique identifier of the account.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
$ref: "#/components/requestBodies/uploadVB"
responses:
"201":
content:
application/json:
examples:
response:
value:
id: _Tcj7354w6eHw
is_default: false
name: u=mdbhhfg3y7&fm=2fdjs0.jpg
size: 53434
type: image
schema:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
application/xml:
schema:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
description: |
**HTTP Status Code:** `201` **Created**
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `120`
No file uploaded, verify that a file has been uploaded.
File size cannot exceed 15M.
A maximum of 10 files are allowed for a user.
Only jpg/jpeg, gif or png image file can be uploaded.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001`
This account does not exist or does not belong to you: {accountId}.
summary: Upload virtual background files
tags:
- Accounts
"/accounts/{accountId}/sip_trunk/callout_countries":
get:
description: |-
Retrieve the list of internal [call-out](https://support.zoom.us/hc/en-us/articles/200942859-How-To-Use-Telephone-Call-Out-) countries of a master account or a sub account. To list call-out enabled countries of a sub account, provide the account ID of the sub account in the `accountId` path parameter. To list call-out enabled countries of a master account, provide `me` as the value of the `accountId` path parameter.
Prerequisites:
* The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) with SIP Connected Audio Plan.
**Scope:** `sip_trunk:master`
operationId: listInternalCalloutCountries
parameters:
- description: Unique identifier of the account. To list Call-out enabled countries to a sub account, provide the account ID of the sub account in the `accountId` path parameter. To list Call-out enabled countries of a sub account, provide the account ID of the sub account in the `accountId` path parameter. To list Call-out enabled countries of a master account, provide `me` as the value of the `accountId` path parameter.
in: path
name: accountId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
callout_countries:
- code: "1"
id: US
name: United States
- code: "1"
id: CA
name: Canada
total_records: 2
schema:
properties:
callout_countries:
items:
properties:
code:
description: Country code.
type: string
id:
description: Two letter country Id.
type: string
name:
description: Name of the country.
type: string
type: object
type: array
total_records:
description: The total number of records returned.
type: integer
type: object
application/xml:
schema:
properties:
callout_countries:
items:
properties:
code:
description: Country code.
type: string
id:
description: Two letter country Id.
type: string
name:
description: Name of the country.
type: string
type: object
type: array
total_records:
description: The total number of records returned.
type: integer
type: object
description: |-
**HTTP Status Code:** `200` **OK**
List of Internal Callout Countries returned.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
* Your account does not have the permission to make updates on this account. Only a master account can perform this action on a sub account.
* Request failed because this account is not enrolled in SIP Connected Audio plan.
* This account is not a master account. To get access to this API, your account must be enrolled in the API Partner Plan and must be a master account.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001` Account does not exist: {0}.
summary: List internal call-out countries
tags:
- SIP Connected Audio
parameters:
- in: path
name: accountId
required: true
schema:
type: string
post:
description: |-
Specify the list of [call-out](https://support.zoom.us/hc/en-us/articles/200942859-How-To-Use-Telephone-Call-Out-) countries for a master account or a sub account. To add call-out enabled countries to a sub account, provide the account ID of the sub account in the `accountId` path parameter. To add call-out enabled countries to a master account, provide `me` as the value of the `accountId` path parameter.
Prerequisites:
* The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) with SIP Connected Audio Plan.
**Scope:** `sip_trunk:master`
operationId: addCalloutCountries
parameters:
- description: Unique identifier of the account. To add Call-out enabled countries to a sub account, provide the account ID of the sub account in the `accountId` path parameter. To add Call-out enabled countries to a master account, provide `me` as the value of the `accountId` path parameter.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
callout_countries:
description: List of callout countries.
items:
properties:
id:
description: Two letter country code of the call-out country.
type: string
required:
- id
type: object
maxItems: 30
minItems: 1
type: array
required:
- callout_countries
type: object
multipart/form-data:
schema:
properties:
callout_countries:
description: List of callout countries.
items:
properties:
id:
description: Two letter country code of the call-out country.
type: string
required:
- id
type: object
maxItems: 30
minItems: 1
type: array
required:
- callout_countries
type: object
x-examples:
application/json:
callout_countries:
- id: US
- id: CA
responses:
"201":
content:
application/json:
examples:
response:
value:
callout_countries:
- code: "1"
id: US
name: United States
- code: "1"
id: CA
name: Canada
schema:
properties:
callout_countries:
description: List of Call-out countries.
items:
properties:
code:
description: Country code for Phone number.
type: string
id:
description: Country ID.
type: string
name:
description: Name of the country.
type: string
type: object
type: array
type: object
application/xml:
schema:
properties:
callout_countries:
description: List of Call-out countries.
items:
properties:
code:
description: Country code for Phone number.
type: string
id:
description: Country ID.
type: string
name:
description: Name of the country.
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `201` **Created**
Call-out countries created.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
* Your account does not have the permission to make updates on this account. Only a master account can perform this action on a sub account.
* Request failed because this account is not enrolled in SIP Connected Audio plan.
* This account is not a master account. To get access to this API, your account must be enrolled in the API Partner Plan and must be a master account.
* Invalid parameter: callout_countries.
"404":
description: |+
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001` Account does not exist: {0}.
summary: Add internal call-out countries
tags:
- SIP Connected Audio
"/accounts/{accountId}/sip_trunk/callout_countries/{countryId}":
delete:
description: |-
Delete a previously assigned [call-out](https://support.zoom.us/hc/en-us/articles/200942859-How-To-Use-Telephone-Call-Out-) country from a master account or a sub account. To remove call-out country from a sub account, provide the account ID of the sub account in the `accountId` path parameter. To remove call-out country from a master account, provide `me` as the value of the `accountId` path parameter.
Prerequisites:
* The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) with SIP Connected Audio Plan.
**Scope:** `sip_trunk:master`
operationId: deleteInternalCallOutCountry
parameters:
- description: |-
Unique Identifier of the Account.
To remove Call-out country from a sub account, provide the account ID of the sub account in the `accountId` path parameter. To remove Call-out country from a master account, provide `me` as the value of the `accountId` path parameter.
in: path
name: accountId
required: true
schema:
type: string
- description: Two lettered Id of the country.
in: path
name: countryId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Country deleted.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
* Your account does not have the permission to make updates on this account. Only a master account can perform this action on a sub account.
* Request failed because this account is not enrolled in SIP Connected Audio plan.
* This account is not a master account. To get access to this API, your account must be enrolled in the API Partner Plan and must be a master account.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001` Account does not exist: {0}.
summary: Delete internal call-out country
tags:
- SIP Connected Audio
parameters:
- in: path
name: accountId
required: true
schema:
type: string
- in: path
name: countryId
required: true
schema:
type: string
"/accounts/{accountId}/sip_trunk/internal_numbers":
get:
description: |+
This API allows a master account with SIP Connected Audio plan to list internal phone numbers (i.e., numbers that are not provided by Zoom but are owned by the organization consuming the API) assigned to a master account or a sub account.
To list internal numbers of a sub account, provide the account ID of the sub account in the `accountId` path parameter. To list internal numbers of a master account, provide `me` as the value of the `accountId` path parameter.
Prerequisites:
* The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) with SIP Connected Audio Plan.
**Scope:** `sip_trunk:master`
operationId: listInternalNumbers
parameters:
- description: Unique identifier of the account. To list internal numbers of a sub account, provide the account ID of the sub account in the `accountId` path parameter. To list internal numbers of a master account, provide `me` as the value of the `accountId` path parameter.
in: path
name: accountId
required: true
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
schema:
properties:
internal_numbers:
items:
properties:
allow_for_external_meetings:
description: Control whether the number can be used to attend 3rd party meetings.
type: boolean
allow_join:
description: |-
Specify whether this number can be used by users to join a meeting or not.
* `true` : This number can be used to join a meeting.
* `false`: This number can not be used to join a meeting.
Note that if the value of `visible` field is set to `true`, the value of this field will always be `true`.
type: boolean
country:
description: Two letter country code of the country.
type: string
display_number:
description: "Phone number with display format. For instance, if the value in the number field is `+1888888000`, the value of this field could be `+1 888 888 000`. "
type: string
labels:
description: A short description for the phone number.
type: string
languages:
description: Specify the language in which this phone number should be displayed. Currently, the only supported languages are `en-GB`, `en-US`, `de-DE`.
enum:
- en-GB
- en-US
- de-DE
type: string
number:
description: Phone number in E164 format.
type: string
type:
description: |-
Type of phone number.
The value can be one of the following:
* `0` : toll
* `1` : tollfree
enum:
- 0
- 1
type: integer
visible:
description: |-
Specify whether you want this number to be visible (in Zoom Client and Zoom Portal) to the account users or not. The value could be one of the following:
* `true`: Make the number visible.
* `false`: Hide the number.
type: boolean
required:
- number
- display_number
- country
- type
- labels
- languages
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
default: 30
description: The number of records that you specified to get in the response per page.
type: integer
total_records:
description: The total number of records returned.
type: integer
type: object
application/xml:
schema:
properties:
internal_numbers:
items:
properties:
allow_for_external_meetings:
description: Control whether the number can be used to attend 3rd party meetings.
type: boolean
allow_join:
description: |-
Specify whether this number can be used by users to join a meeting or not.
* `true` : This number can be used to join a meeting.
* `false`: This number can not be used to join a meeting.
Note that if the value of `visible` field is set to `true`, the value of this field will always be `true`.
type: boolean
country:
description: Two letter country code of the country.
type: string
display_number:
description: "Phone number with display format. For instance, if the value in the number field is `+1888888000`, the value of this field could be `+1 888 888 000`. "
type: string
labels:
description: A short description for the phone number.
type: string
languages:
description: Specify the language in which this phone number should be displayed. Currently, the only supported languages are `en-GB`, `en-US`, `de-DE`.
enum:
- en-GB
- en-US
- de-DE
type: string
number:
description: Phone number in E164 format.
type: string
type:
description: |-
Type of phone number.
The value can be one of the following:
* `0` : toll
* `1` : tollfree
enum:
- 0
- 1
type: integer
visible:
description: |-
Specify whether you want this number to be visible (in Zoom Client and Zoom Portal) to the account users or not. The value could be one of the following:
* `true`: Make the number visible.
* `false`: Hide the number.
type: boolean
required:
- number
- display_number
- country
- type
- labels
- languages
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
default: 30
description: The number of records that you specified to get in the response per page.
type: integer
total_records:
description: The total number of records returned.
type: integer
type: object
description: |
**HTTP Status Code:** `200` **OK**
List of internal numbers returned.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
* Your account does not have the permission to make updates on this account. Only a master account can perform this action on a sub account.
* Request failed because this account is not enrolled in SIP Connected Audio plan.
* This account is not a master account. To get access to this API, your account must be enrolled in the API Partner Plan and must be a master account.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001` Account does not exist: {0}.
summary: List internal numbers
tags:
- SIP Connected Audio
parameters:
- in: path
name: accountId
required: true
schema:
type: string
post:
description: |+
This API allows a master account with SIP Connected Audio plan to assign internal phone numbers (i.e., numbers that are not provided by Zoom but are owned by the organization consuming the API) to a master account or a sub account.
To add internal numbers to a sub account, provide the account ID of the sub account in the `accountId` path parameter. To add internal numbers to a master account, provide `me` as the value of the `accountId` path parameter.
Prerequisites:
* The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) with SIP Connected Audio Plan.
**Scope:** `sip_trunk:master`
operationId: addInternalNumbers
parameters:
- description: Unique identifier of the account. To add internal numbers to a sub account, provide the account ID of the sub account in the `accountId` path parameter. To add internal numbers to a master account, provide `me` as the value of the `accountId` path parameter.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
internal_numbers:
items:
properties:
allow_for_external_meetings:
description: Control whether the number can be used to attend 3rd party meetings.
type: boolean
allow_join:
description: |-
Specify whether this number can be used by users to join a meeting or not.
* `true` : This number can be used to join a meeting.
* `false`: This number can not be used to join a meeting.
Note that if the value of `visible` field is set to `true`, the value of this field will always be `true`.
type: boolean
country:
description: Two letter country code of the country.
type: string
display_number:
description: "Phone number with display format. For instance, if the value in the number field is `+1888888000`, the value of this field could be `+1 888 888 000`. "
type: string
labels:
description: A short description for the phone number.
type: string
languages:
description: Specify the language in which this phone number should be displayed. Currently, the only supported languages are `en-GB`, `en-US`, `de-DE`.
enum:
- en-GB
- en-US
- de-DE
type: string
number:
description: Phone number in E164 format.
type: string
type:
description: |-
Type of phone number.
The value can be one of the following:
* `0` : toll
* `1` : tollfree
enum:
- 0
- 1
type: integer
visible:
description: |-
Specify whether you want this number to be visible (in Zoom Client and Zoom Portal) to the account users or not. The value could be one of the following:
* `true`: Make the number visible.
* `false`: Hide the number.
type: boolean
required:
- number
- display_number
- country
- type
- labels
- languages
type: object
maxItems: 30
minItems: 1
type: array
type: object
multipart/form-data:
schema:
properties:
internal_numbers:
items:
properties:
allow_for_external_meetings:
description: Control whether the number can be used to attend 3rd party meetings.
type: boolean
allow_join:
description: |-
Specify whether this number can be used by users to join a meeting or not.
* `true` : This number can be used to join a meeting.
* `false`: This number can not be used to join a meeting.
Note that if the value of `visible` field is set to `true`, the value of this field will always be `true`.
type: boolean
country:
description: Two letter country code of the country.
type: string
display_number:
description: "Phone number with display format. For instance, if the value in the number field is `+1888888000`, the value of this field could be `+1 888 888 000`. "
type: string
labels:
description: A short description for the phone number.
type: string
languages:
description: Specify the language in which this phone number should be displayed. Currently, the only supported languages are `en-GB`, `en-US`, `de-DE`.
enum:
- en-GB
- en-US
- de-DE
type: string
number:
description: Phone number in E164 format.
type: string
type:
description: |-
Type of phone number.
The value can be one of the following:
* `0` : toll
* `1` : tollfree
enum:
- 0
- 1
type: integer
visible:
description: |-
Specify whether you want this number to be visible (in Zoom Client and Zoom Portal) to the account users or not. The value could be one of the following:
* `true`: Make the number visible.
* `false`: Hide the number.
type: boolean
required:
- number
- display_number
- country
- type
- labels
- languages
type: object
maxItems: 30
minItems: 1
type: array
type: object
x-examples:
application/json:
internal_numbers:
- allow_join: true
country: US
display_number: +1 646 666 1110
labels: SIP-Internal
languages: en-GB
number: "+16466661110"
type: 0
visible: true
responses:
"201":
content:
application/json:
examples:
response:
value:
internal_numbers:
- allow_join: true
country: US
display_number: +1 646 666 1110
id: A26fhgdfg63
labels: SIP-Internal
languages: en-GB
number: "+16466661110"
type: 0
visible: true
schema:
properties:
internal_numbers:
items:
properties:
allow_for_external_meetings:
description: Control whether the number can be used to attend 3rd party meetings.
type: boolean
allow_join:
description: |-
Specify whether this number can be used by users to join a meeting or not.
* `true` : This number can be used to join a meeting.
* `false`: This number can not be used to join a meeting.
Note that if the value of `visible` field is set to `true`, the value of this field will always be `true`.
type: boolean
country:
description: Two letter country code of the country.
type: string
display_number:
description: "Phone number with display format. For instance, if the value in the number field is `+1888888000`, the value of this field could be `+1 888 888 000`. "
type: string
id:
description: Unique identifier of the internal number.
type: string
labels:
description: A short description for the phone number.
type: string
languages:
description: Specify the language in which this phone number should be displayed. Currently, the only supported languages are `en-GB`, `en-US`, `de-DE`.
enum:
- en-GB
- en-US
- de-DE
type: string
number:
description: Phone number in E164 format.
type: string
type:
description: |-
Type of phone number.
The value can be one of the following:
* `0` : toll
* `1` : tollfree
enum:
- 0
- 1
type: integer
visible:
description: |-
Specify whether you want this number to be visible (in Zoom Client and Zoom Portal) to the account users or not. The value could be one of the following:
* `true`: Make the number visible.
* `false`: Hide the number.
type: boolean
required:
- number
- display_number
- country
- type
- labels
- languages
type: object
type: array
type: object
application/xml:
schema:
properties:
internal_numbers:
items:
properties:
allow_for_external_meetings:
description: Control whether the number can be used to attend 3rd party meetings.
type: boolean
allow_join:
description: |-
Specify whether this number can be used by users to join a meeting or not.
* `true` : This number can be used to join a meeting.
* `false`: This number can not be used to join a meeting.
Note that if the value of `visible` field is set to `true`, the value of this field will always be `true`.
type: boolean
country:
description: Two letter country code of the country.
type: string
display_number:
description: "Phone number with display format. For instance, if the value in the number field is `+1888888000`, the value of this field could be `+1 888 888 000`. "
type: string
id:
description: Unique identifier of the internal number.
type: string
labels:
description: A short description for the phone number.
type: string
languages:
description: Specify the language in which this phone number should be displayed. Currently, the only supported languages are `en-GB`, `en-US`, `de-DE`.
enum:
- en-GB
- en-US
- de-DE
type: string
number:
description: Phone number in E164 format.
type: string
type:
description: |-
Type of phone number.
The value can be one of the following:
* `0` : toll
* `1` : tollfree
enum:
- 0
- 1
type: integer
visible:
description: |-
Specify whether you want this number to be visible (in Zoom Client and Zoom Portal) to the account users or not. The value could be one of the following:
* `true`: Make the number visible.
* `false`: Hide the number.
type: boolean
required:
- number
- display_number
- country
- type
- labels
- languages
type: object
type: array
type: object
description: |
**HTTP Status Code:** `201` **Created**
Internal numbers added successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
* Your account does not have the permission to make updates on this account. Only a master account can perform this action on a sub account.
* Request failed because this account is not enrolled in SIP Connected Audio plan.
* This account is not a master account. To get access to this API, your account must be enrolled in the API Partner Plan and must be a master account.
* You can only assign a maximum of {0} phone numbers to this account.
* The value you provided for the ‘number’ field has already been used. Please provide a unique value for this field.
* Invalid parameter: internal_numbers.
"404":
description: |+
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001` Account does not exist: {0}.
summary: Add internal numbers
tags:
- SIP Connected Audio
"/accounts/{accountId}/sip_trunk/internal_numbers/{numberId}":
delete:
description: |+
This API allows a master account with SIP Connected Audio plan to delete a previously assigned internal phone number from a master account or a sub account.
To delete an internal number from a sub account, provide the account ID of the sub account in the `accountId` path parameter. To delete an internal number from a master account, provide `me` as the value of the `accountId` path parameter.
Prerequisites:
* The account making this API request must be a [master account](https://marketplace.zoom.us/docs/api-reference/master-account-apis) with SIP Connected Audio Plan.
**Scope:** `sip_trunk:master`
operationId: deleteInternalNumber
parameters:
- description: Unique Identifier of the account. To delete an internal number from a sub account, provide the account ID of the sub account in the `accountId` path parameter. To delete an internal number from a master account, provide `me` as the value of the `accountId` path parameter.
in: path
name: accountId
required: true
schema:
type: string
- description: Unique identifier of the phone number. This value can be retrieved by calling the List Internal Numbers API.
in: path
name: numberId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Number deleted.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
* Your account does not have the permission to make updates on this account. Only a master account can perform this action on a sub account.
* Request failed because this account is not enrolled in SIP Connected Audio plan.
* This account is not a master account. To get access to this API, your account must be enrolled in the API Partner Plan and must be a master account.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001` Account does not exist: {0}.
summary: Delete an internal number
tags:
- SIP Connected Audio
parameters:
- in: path
name: accountId
required: true
schema:
type: string
- in: path
name: numberId
required: true
schema:
type: string
"/accounts/{accountId}/sip_trunk/numbers":
delete:
description: |-
With SIP-connected audio, Zoom establishes a SIP trunk (a network connection specifically designed to make and deliver phone calls) over a direct and private connection between the customer’s network and the Zoom cloud. Meeting participants that dial into a meeting or have the meeting call them, and are On-Net from the perspective of the customers' IP telephony network, will be connected over this trunk rather than over the PSTN.
Use this API to delete all internal numbers assigned to a sub account.
**Prerequisites:**
* Pro or a higher account with SIP Connected Audio plan enabled.
* The account must be a master account
**Scopes:** `sip_trunk:master`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteAllSipNumbers
parameters:
- description: Account ID of the sub account from which the numbers are to be deleted. This can be retrieved from [List sub accounts](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/account) API.
in: path
name: accountId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Numbers deleted successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `2100`
This sub account has no sip trunk plan.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001`
This account does not exist or does not belong to this master account.
This account does not exist or does not belong to you.
security:
- OAuth: []
summary: Delete all numbers
tags:
- SIP Connected Audio
parameters:
- in: path
name: accountId
required: true
schema:
type: string
post:
description: |
With SIP-connected audio, Zoom establishes a SIP trunk (a network connection specifically designed to make and deliver phone calls) over a direct and private connection between the customer’s network and the Zoom cloud. Meeting participants that dial into a meeting or have the meeting call them, and are On-Net from the perspective of the customers' IP telephony network, will be connected over this trunk rather than over the PSTN.
Use this API to assign internal numbers to a sub account.
**Prerequisites:**
* Pro or a higher account with SIP Connected Audio plan enabled.
* The account must be a master account
**Scopes:** `sip_trunk:master`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: assignSipTrunkNumbers
parameters:
- description: Unique Identifier of the sub account.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
phone_numbers:
description: Phone number(s) to be assigned to the sub account.
items:
type: string
type: array
type: object
multipart/form-data:
schema:
properties:
phone_numbers:
description: Phone number(s) to be assigned to the sub account.
items:
type: string
type: array
type: object
x-examples:
application/json:
phone_numbers:
- "34555665654"
- "10004350500"
- "000000000"
responses:
"201":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |
**HTTP Status Code:** `201` **Created**
Numbers assigned successfully.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `2100`
This sub account has no sip trunk plan.
**Error Code:** `400`
This number does not belong to master account.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001`
This account does not exist or does not belong to this master account.
This account does not exist or does not belong to you.
security:
- OAuth: []
summary: Assign numbers
tags:
- SIP Connected Audio
"/accounts/{accountId}/sip_trunk/settings":
parameters:
- in: path
name: accountId
required: true
schema:
type: string
patch:
description: |-
With SIP-connected audio, Zoom establishes a SIP trunk (a network connection specifically designed to make and deliver phone calls) over a direct and private connection between the customer’s network and the Zoom cloud. Meeting participants that dial into a meeting or have the meeting call them, and are On-Net from the perspective of the customers' IP telephony network, will be connected over this trunk rather than over the PSTN.
Using this API, a master account owner can copy the SIP Connected Audio configurations applied on the master account and enable those configurations on a sub account. The owner can also disable the configuration in the sub account where it was previously enabled.
**Prerequisites:**
* Pro or a higher account with SIP Connected Audio plan enabled.
* master account Owner
**Scopes:** `sip_trunk:master`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: assignSIPConfig
requestBody:
content:
application/json:
schema:
properties:
enable:
description: "Enable or delete the configuration. The values can be one of the following: `true`: Enable configuration. `false`: Delete configuration"
type: boolean
show_callout_internal_number:
description: If the value of this option is set to `true`, the call-out numbers provided by the Zoom carrier partners will be displayed in the account's list of available call-out numbers in the Zoom Web Portal and Zoom Client.
type: boolean
show_zoom_provided_callout_countries:
description: |-
If the value of this option is set to `0`, the call-out countries list provided by Zoom will be [displayed](https://support.zoom.us/hc/en-us/articles/200942859-Using-telephone-call-out) in the account's list of available call-out countries.
If the value of this option is set to `1`, the Zoom provided call-out countries will be hidden from the user's account.
If the value of this option is set to `2`, all Zoom provided countries will be deleted and only internal countries (provided by carrier partners) will be used.
type: integer
show_zoom_provided_numbers:
description: |-
If the value of this option is set to `0`, the numbers provided by Zoom will be displayed in the account's list of available call-out and call-in numbers in the Zoom Web Portal and Zoom Client.
If the value of this option is set to `1`, the Zoom provided numbers will be shown in the Zoom Web Portal but will not be used unless specified by the user.
If the value of this option is set to `2`, all Zoom provided numbers will be deleted and only internal numbers (provided by carrier partners) will be used.
enum:
- 0
- 1
- 2
type: integer
type: object
multipart/form-data:
schema:
properties:
enable:
description: "Enable or delete the configuration. The values can be one of the following: `true`: Enable configuration. `false`: Delete configuration"
type: boolean
show_callout_internal_number:
description: If the value of this option is set to `true`, the call-out numbers provided by the Zoom carrier partners will be displayed in the account's list of available call-out numbers in the Zoom Web Portal and Zoom Client.
type: boolean
show_zoom_provided_callout_countries:
description: |-
If the value of this option is set to `0`, the call-out countries list provided by Zoom will be [displayed](https://support.zoom.us/hc/en-us/articles/200942859-Using-telephone-call-out) in the account's list of available call-out countries.
If the value of this option is set to `1`, the Zoom provided call-out countries will be hidden from the user's account.
If the value of this option is set to `2`, all Zoom provided countries will be deleted and only internal countries (provided by carrier partners) will be used.
type: integer
show_zoom_provided_numbers:
description: |-
If the value of this option is set to `0`, the numbers provided by Zoom will be displayed in the account's list of available call-out and call-in numbers in the Zoom Web Portal and Zoom Client.
If the value of this option is set to `1`, the Zoom provided numbers will be shown in the Zoom Web Portal but will not be used unless specified by the user.
If the value of this option is set to `2`, all Zoom provided numbers will be deleted and only internal numbers (provided by carrier partners) will be used.
enum:
- 0
- 1
- 2
type: integer
type: object
x-examples:
application/json:
enable: true
show_callout_internal_number: true
show_zoom_provided_callout_countries: 0
show_zoom_provided_numbers: 2
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |
**HTTP Status Code:** `204` **No Content**
Configuration assigned successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `2100`
This sub account has no sip trunk plan.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001`
This account does not exist or does not belong to this master account.
This account does not exist or does not belong to you.
security:
- OAuth: []
summary: Assign SIP trunk configuration
tags:
- SIP Connected Audio
"/accounts/{accountId}/sip_trunk/trunks":
get:
description: |-
With SIP-connected audio, Zoom establishes a SIP trunk (a network connection specifically designed to make and deliver phone calls) over a direct and private connection between the customer’s network and the Zoom cloud. Meeting participants that dial into a meeting or have the meeting call them, and are On-Net from the perspective of the customers’ IP telephony network, will be connected over this trunk rather than over the PSTN.
Use this API to list all the SIP trunks assigned to a master account or a sub account of the master account. To retrieve SIP trunks assigned to a sub account, provide the account ID of the sub account in the `accountId` path parameter. To retrieve SIP trunks of a master account, provide `me` as the value of the `accountId` path parameter.
**Scope:** `sip_trunk:read:admin`
Prerequisites:
* The account must either be a master account or a sub account with [API Partner Plan](https://zoom.us/plan/api) and SIP Connected Audio Plan.
operationId: listSIPTrunks
parameters:
- description: Unique Identifier of the Account. To retrieve SIP trunks assigned to a sub account, provide the account ID of the sub account in the as the value of this field. To retrieve SIP trunks of a master account, provide `me` as the value of this field.
in: path
name: accountId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
sip_trunks:
- dnis: "90001258"
id: "268"
name: test1
number_prefix: "0"
sip_server_address: 111.111.1.1
- dnis: "80001748"
id: "281"
name: test2
number_prefix: "0"
sip_server_address: 111.111.1.34
total_records: 1
schema:
properties:
sip_trunks:
items:
properties:
dnis:
description: DNIS of the SIP trunk.
type: string
id:
description: Unique identifier of the sip trunk.
type: string
name:
description: Name assigned to the SIP trunk.
type: string
number_prefix:
description: Prefix of the SIP Connected Audio phone number.
type: string
outbound_caller_id:
description: Outbound caller Id assigned to the trunk.
type: string
sip_server_address:
description: IP address or domain of the SIP trunk.
type: string
type: object
type: array
total_records:
description: "Total number of records returned. "
type: integer
type: object
application/xml:
schema:
properties:
sip_trunks:
items:
properties:
dnis:
description: DNIS of the SIP trunk.
type: string
id:
description: Unique identifier of the sip trunk.
type: string
name:
description: Name assigned to the SIP trunk.
type: string
number_prefix:
description: Prefix of the SIP Connected Audio phone number.
type: string
outbound_caller_id:
description: Outbound caller Id assigned to the trunk.
type: string
sip_server_address:
description: IP address or domain of the SIP trunk.
type: string
type: object
type: array
total_records:
description: "Total number of records returned. "
type: integer
type: object
description: |-
**HTTP Status Code:** `200` **OK**
List of SIP Trunks returned.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` Request failed because this account is not enrolled in SIP Connected Audio plan.
"404":
description: |+
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001` Account does not exist: {0}.
summary: List SIP trunks
tags:
- SIP Connected Audio
parameters:
- in: path
name: accountId
required: true
schema:
type: string
post:
description: |-
With SIP-connected audio, Zoom establishes a SIP trunk (a network connection specifically designed to make and deliver phone calls) over a direct and private connection between the customer’s network and the Zoom cloud. Meeting participants that dial into a meeting or have the meeting call them, and are On-Net from the perspective of the customers’ IP telephony network, will be connected over this trunk rather than over the PSTN.
Use this API to assign SIP trunk(s) that are available on a master account to a sub account. Prerequisites:
* The account making this API request must be a master account with [API Partner Plan](https://zoom.us/plan/api) and SIP Connected Audio Plan.
**Scope:** `sip_trunk:master`
operationId: assignSIPTrunks
parameters:
- description: Unique Identifier of the sub account.
in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
sip_trunks:
description: "Array of one or more SIP Trunk objects. "
items:
properties:
dnis:
description: |-
DNIS of the sub account. The prefix of the DNIS (i.e. the first five digits of the DNIS value) must match the DNIS prefix of the master account. To retrieve the DNIS prefix of a master account's SIP Trunk, use the List SIP Trunks API and refer to the first five digits in the `dnis` value.
For example, if the DNIS of the master account is 1888812345, the DNIS of the sub account must comprise of "18888" + "random_number". The maximum allowed length of the DNIS is 8.
maxLength: 8
minLength: 5
type: string
id:
description: Unique identifier of the SIP trunk that will be assigned to the sub account. The value of this field can be retrieved by listing the SIP Trunks of a master account using List SIP Trunks API.
type: string
outbound_caller_id:
description: Assign an outbound caller Id to the trunk.
maxLength: 32
type: string
type: object
maxItems: 30
minItems: 1
type: array
type: object
multipart/form-data:
schema:
properties:
sip_trunks:
description: "Array of one or more SIP Trunk objects. "
items:
properties:
dnis:
description: |-
DNIS of the sub account. The prefix of the DNIS (i.e. the first five digits of the DNIS value) must match the DNIS prefix of the master account. To retrieve the DNIS prefix of a master account's SIP Trunk, use the List SIP Trunks API and refer to the first five digits in the `dnis` value.
For example, if the DNIS of the master account is 1888812345, the DNIS of the sub account must comprise of "18888" + "random_number". The maximum allowed length of the DNIS is 8.
maxLength: 8
minLength: 5
type: string
id:
description: Unique identifier of the SIP trunk that will be assigned to the sub account. The value of this field can be retrieved by listing the SIP Trunks of a master account using List SIP Trunks API.
type: string
outbound_caller_id:
description: Assign an outbound caller Id to the trunk.
maxLength: 32
type: string
type: object
maxItems: 30
minItems: 1
type: array
type: object
x-examples:
application/json:
sip_trunks:
- dnis: "12345678"
id: "133"
responses:
"201":
content:
application/json:
examples:
response:
value:
sip_trunks:
- dnis: dolore43tr4u
id: represdf324fe
name: HQ-trunk
number_prefix: "0"
sip_server_address: 1.11.123.123
schema:
properties:
sip_trunks:
items:
properties:
dnis:
description: DNIS - identifier for the SIP trunk enabled account.
type: string
id:
description: Unique identifier of the SIP trunk.
type: string
name:
description: Name of the SIP trunk.
type: string
number_prefix:
description: If the value of this field is `"0"`, it means that all the calls will be routed through this special line. All other values indicate the prefix of the phone number.
type: string
sip_server_address:
description: IP Address or domain of the SIP trunk.
type: string
type: object
type: array
type: object
application/xml:
schema:
properties:
sip_trunks:
items:
properties:
dnis:
description: DNIS - identifier for the SIP trunk enabled account.
type: string
id:
description: Unique identifier of the SIP trunk.
type: string
name:
description: Name of the SIP trunk.
type: string
number_prefix:
description: If the value of this field is `"0"`, it means that all the calls will be routed through this special line. All other values indicate the prefix of the phone number.
type: string
sip_server_address:
description: IP Address or domain of the SIP trunk.
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `204` **No Content**
SIP Trunk assigned successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
* Request failed because this account is not enrolled in SIP Connected Audio plan.
* The master account has no sip trunk configs.
* Invalid parameter: sip_trunks.
"404":
description: |+
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001` Account does not exist: {0}.
summary: Assign SIP trunks
tags:
- SIP Connected Audio
"/accounts/{accountId}/sip_trunk/trunks/{trunkId}":
delete:
description: |-
Use this API to remove existing SIP trunk of a sub account.
Prerequisites:
* The account making this API request must be a master account with [API Partner Plan](https://zoom.us/plan/api) and SIP Connected Audio Plan.
**Scope:** `sip_trunk:master`
operationId: deleteSIPTrunk
parameters:
- description: Unique identifier of the sub account.
in: path
name: accountId
required: true
schema:
type: string
- description: Unique identifier of the SIP Trunk that was previously assigned to a sub account. To retrieve the value of this field, use the List SIP Trunks API.
in: path
name: trunkId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |-
**HTTP Status Code:** `204` **No Content**
SIP Trunk deleted.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
* Request failed because this account is not enrolled in SIP Connected Audio plan.
* Your account does not have the permission to make updates on this account. Only a master account can perform this action on a sub account.
"404":
description: |+
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001` Account does not exist: {0}.
summary: Delete a SIP trunk
tags:
- SIP Connected Audio
parameters:
- in: path
name: accountId
required: true
schema:
type: string
- in: path
name: trunkId
required: true
schema:
type: string
"/accounts/{accountId}/trusted_domains":
get:
description: |-
Get trusted domains of a sub account. To get the trusted domains of a master account, use `me` as the value for the `accountId` path parameter.
**Prerequisites:**
* The sub account must be a paid account.
**Scope:** `account:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: accountTrustedDomain
parameters:
- description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
properties:
trusted_domains:
description: List of trusted domains
items:
type: string
type: array
application/xml:
schema:
properties:
trusted_domains:
description: List of trusted domains
items:
type: string
type: array
description: |-
**HTTP Status Code:** `200`
Account trusted domains returned
**Error Code:** `2001` Account does not exist: $subAccountId.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `2001` Account does not exist: $subAccountId.
summary: Get trusted domains
tags:
- Accounts
"/accounts/{accountId}/users/{userId}/account":
parameters:
- in: path
name: accountId
required: true
schema:
type: string
- in: path
name: userId
required: true
schema:
type: string
put:
description: |-
Disassociate a user from one Account and move the user to another Account under the same master account.
With this API, a user under a master account or a sub account can be moved to another sub account within the same master account. To move a user from a master account to a sub account, use `me` as the value for `accountId`. In this scenario, "me" refers to the Account ID of the master account.
To move a user from one sub account to another sub account, provide the sub account's Account ID as the value for `accountId`.
**Prerequisites**:
* The account should have Pro or a higher plan with master account option enabled.
* The user whose account needs to be switched should not be an admin or an owner of that account.
* The user should not have the same [managed domain](https://support.zoom.us/hc/en-us/articles/203395207-What-is-Managed-Domain-) as the account owner.
**Scope:** `user:master`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: switchUserAccount
parameters:
- in: path
name: accountId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
account_id:
description: The Account ID of the account to which you would like move the user to.
type: string
required:
- account_id
type: object
multipart/form-data:
schema:
properties:
account_id:
description: The Account ID of the account to which you would like move the user to.
type: string
required:
- account_id
type: object
x-examples:
application/json:
account_id: ABCDEF0G0YxBBB
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code**: `204`
User's account switched successfully.
"400":
description: |-
**HTTP Status Code**: `400` **Bad Request**
**Error Code:** `1117` Can not disassociate Admin user
"404":
description: |+
**HTTP Status Code**: `404` **Not Found**
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `1010`
User not found on this account.
**Error Code:** `1120` Invite not exist
security:
- OAuth: []
summary: Switch a user's account
tags:
- Users
"/api/download/billing/invoices/{invoiceId}":
get:
description: |-
Download a [billed](https://support.zoom.us/hc/en-us/articles/201363263-About-Billing) invoice file of a Zoom account in PDF format. To download a regular account's invoice or a master account's invoice, provide `me` as the value of `accountId` path parameter. To download a sub account's invoice, provide the account ID of the sub account in the `accountId` path parameter.
**Prerequisites:**
* Account must be enrolled in Pro or a higher plan.
**Scope**:`billing:master`
**Rate Limit:** You can make **one** request to this API every **thirty** minutes until the daily limit is reached. This API has a daily limit of **100** requests per **account**.
operationId: downloadInvoicePDF
responses:
"200":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `200`
Account billing invoice PDF returned.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `2001`
Account does not exist: {subAccountId}.
summary: Download an invoice file
tags:
- Billing
parameters:
- in: path
name: invoiceId
required: true
schema:
type: string
/archive_files:
get:
description: |-
Zoom’s [archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) allows account administrators to set up an automated mechanism to record, collect and archive meeting data to a 3rd party platform of their choice and hence, satisfy FINRA and/ or other compliance requirements.
Use this API to retrieve archived meeting or webinar files of an account.
**Scope:** `recording:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Prerequisites:**
* Enable cloud recording.
* Follow the [enablement process](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data#h_01ENPBD3WR68D7FAKTBY92SG45) to access the archiving feature.
operationId: listArchivedFiles
parameters:
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: Start date for the query in "yyyy-MM-dd'T'HH:mm:ss'Z'" format. The duration for the query defined using the "from" and "to" parameters should not exceed 7 days as this API only provides a week's data at once.
in: query
name: from
schema:
type: string
- description: "End date for the query in \"yyyy-MM-dd'T'HH:mm:ss'Z'\" format. "
in: query
name: to
schema:
type: string
- description: Query data type for `from` and `to`.
in: query
name: query_data_type
schema:
default: meeting_start_time
enum:
- meeting_start_time
- archive_complete_time
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
from: 2021-03-11T05:41:36Z
meetings:
- archive_files:
- download_url: https://zoom.us/rec/archive/download/snGardfsw3435SKIsXAMhJ6wh
file_extension: M4A
file_size: 165743
file_type: M4A
id: 55hfgsd-sd8e2bd7255
recording_type: audio_only
status: completed
- download_url: https://zoom.us/rec/archive/download/eXy782Ua9dghjhPvao.bUFwLAgQrFOjfOjr
file_extension: MP4
file_size: 198720
file_type: MP4
id: 9c5daa5b-34a1-40e8-8947-a11be5e373a7
recording_type: shared_screen_with_speaker_view
status: completed
duration: 3
host_id: Dhjdfgdkg8w
id: 553068284
recording_count: 2
start_time: 2021-03-12T01:57:27Z
timezone: ""
topic: Zoom Meeting
total_size: 364463
type: 1
uuid: yO3dfhh3t467UkQ==
next_page_token: ""
page_size: 30
to: 2021-03-18T05:41:36Z
schema:
properties:
from:
description: Start date for the query in "yyyy-MM-dd'T'HH:mm:ss'Z'" format. The duration for the query defined using the "from" and "to" parameters should not exceed 7 days as this API only provides a week's data at once.
type: string
meetings:
items:
properties:
archive_files:
items:
properties:
download_url:
description: |-
The URL using which the archived file can be downloaded. To download the archived file of a meeting or a webinar hosted in your account, create a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the access_token query parameter and include this query parameter at the end of the URL as shown in the example.
Example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{Your-JWT}}`
If a user has authorized and installed your OAuth app that supports archiving, use the user’s [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the file.
Example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{ OAuth Access Token }}`
type: string
file_extension:
description: |
Extension of the recording file.
type: string
file_size:
description: |
The recording file size.
type: integer
file_type:
description: |-
Recorded file type. The value of this field could be one of the following:
`MP4`: Video file of the recording.
`M4A`: Audio-only file of the recording.
`TRANSCRIPT`: Transcription file of the recording in VTT format.
CHAT: A TXT file containing in-meeting chat messages that were sent during the meeting.
`CC`: File containing closed captions of the recording in VTT file format.
`CSV`: File containing polling data in csv format.
type: string
id:
description: |
Unique identifier of the archived file.
type: string
recording_type:
description: |
The recording type. The value of this field can be one of the following:
* `shared_screen_with_speaker_view(CC)`
* `shared_screen_with_speaker_view`
* `shared_screen_with_gallery_view`
* `speaker_view`
* `gallery_view`
* `shared_screen`
* `audio_only`
* `audio_transcript`
* `chat_file`,
* `active_speaker`
* `host_video`
type: string
status:
description: |
Status of the archived file.
type: string
type: object
type: array
duration:
description: Scheduled duration of the meeting or the webinar.
type: integer
host_id:
description: |
ID of the user set as the host of meeting or the webinar that was archived.
type: string
id:
description: |
Unique identifier of the meeting(meetingId) or the webinar(webinarId).
type: integer
recording_count:
description: |
Number of recording files returned in the response of this API call.
type: integer
start_time:
description: |
The time at which the meeting or the webinar started.
type: string
timezone:
description: Timezone of the host.
type: string
topic:
description: Meeting or webinar topic.
type: string
total_size:
description: |
Total size of the archive.
type: integer
type:
description: |
Type of the meeting or the webinar that was archived.
Meeting types:
`1` - Instant meeting
`2` - Scheduled meeting
`3` - Recurring meeting with no fixed time
8 - Recurring meeting with fixed time
Webinar types:
`5` - Webinar
`6` - Recurring webinar with no fixed time
`9` - Recurring webinar with a fixed time
type: integer
uuid:
description: |
Unique identifier of the meeting instance or the webinar instance during which the archiving took place. Each instance of the meeting will have its own UUID.
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
to:
description: "End date for the query in \"yyyy-MM-dd'T'HH:mm:ss'Z'\" format. "
type: string
type: object
application/xml:
schema:
properties:
from:
description: Start date for the query in "yyyy-MM-dd'T'HH:mm:ss'Z'" format. The duration for the query defined using the "from" and "to" parameters should not exceed 7 days as this API only provides a week's data at once.
type: string
meetings:
items:
properties:
archive_files:
items:
properties:
download_url:
description: |-
The URL using which the archived file can be downloaded. To download the archived file of a meeting or a webinar hosted in your account, create a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the access_token query parameter and include this query parameter at the end of the URL as shown in the example.
Example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{Your-JWT}}`
If a user has authorized and installed your OAuth app that supports archiving, use the user’s [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the file.
Example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{ OAuth Access Token }}`
type: string
file_extension:
description: |
Extension of the recording file.
type: string
file_size:
description: |
The recording file size.
type: integer
file_type:
description: |-
Recorded file type. The value of this field could be one of the following:
`MP4`: Video file of the recording.
`M4A`: Audio-only file of the recording.
`TRANSCRIPT`: Transcription file of the recording in VTT format.
CHAT: A TXT file containing in-meeting chat messages that were sent during the meeting.
`CC`: File containing closed captions of the recording in VTT file format.
`CSV`: File containing polling data in csv format.
type: string
id:
description: |
Unique identifier of the archived file.
type: string
recording_type:
description: |
The recording type. The value of this field can be one of the following:
* `shared_screen_with_speaker_view(CC)`
* `shared_screen_with_speaker_view`
* `shared_screen_with_gallery_view`
* `speaker_view`
* `gallery_view`
* `shared_screen`
* `audio_only`
* `audio_transcript`
* `chat_file`,
* `active_speaker`
* `host_video`
type: string
status:
description: |
Status of the archived file.
type: string
type: object
type: array
duration:
description: Scheduled duration of the meeting or the webinar.
type: integer
host_id:
description: |
ID of the user set as the host of meeting or the webinar that was archived.
type: string
id:
description: |
Unique identifier of the meeting(meetingId) or the webinar(webinarId).
type: integer
recording_count:
description: |
Number of recording files returned in the response of this API call.
type: integer
start_time:
description: |
The time at which the meeting or the webinar started.
type: string
timezone:
description: Timezone of the host.
type: string
topic:
description: Meeting or webinar topic.
type: string
total_size:
description: |
Total size of the archive.
type: integer
type:
description: |
Type of the meeting or the webinar that was archived.
Meeting types:
`1` - Instant meeting
`2` - Scheduled meeting
`3` - Recurring meeting with no fixed time
8 - Recurring meeting with fixed time
Webinar types:
`5` - Webinar
`6` - Recurring webinar with no fixed time
`9` - Recurring webinar with a fixed time
type: integer
uuid:
description: |
Unique identifier of the meeting instance or the webinar instance during which the archiving took place. Each instance of the meeting will have its own UUID.
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
to:
description: "End date for the query in \"yyyy-MM-dd'T'HH:mm:ss'Z'\" format. "
type: string
type: object
description: |
**HTTP Status Code:** `200` **OK**
Archived files returned.
"400":
description: |-
**HTTP Status Code:** `400` **Bad request**
**Error Code:** `2001`
Account does not exist: {accountId}.
summary: List archived files
tags:
- Cloud Recording
"/chat/channels/{channelId}":
delete:
description: "Zoom chat [channels](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) allow users to communicate via chat in private or public groups. Use this API to delete a specific channel.\
**Scope:** `chat_channel:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
Note: This API only supports user-managedOAuth app.
\ "
operationId: deleteUserLevelChannel
parameters:
- description: "Channel ID: Unique Identifier of a channel."
in: path
name: channelId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204`
Channel deleted.
"400":
description: |-
**HTTP Status Code:** `400` Bad request.
**Error Code:** `200`
Unauthorized request. You do not have permission to delete this user's channel.
**Error Code:** `5301` Request to delete a channel failed.
summary: Delete a channel
tags:
- Chat Channels
get:
description: "Zoom chat [channels](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) allow users to communicate via chat in private or public groups. Use this API to get information about a specific channel.\
**Scope:** `chat_channel:read`\t
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
Note: This API only supports user-managedOAuth app.
\ "
operationId: getUserLevelChannel
parameters:
- description: "Channel ID: Unique Identifier of a channel."
in: path
name: channelId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
id: ut1234sgfsdf
name: Leah
type: 1
schema:
description: "The channel object represents a Zoom chat [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-). "
properties:
id:
description: Channel Id.
type: string
name:
description: Name of the channel.
maxLength: 128
type: string
type:
description: |-
Type of the channel. The value can be one of the following:
`1`: Private channel. In this type of channel, members must be invited to join a channel.
`2`: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
`3`: Public channel. Anyone can search for this channel and join the channel.
enum:
- 1
- 2
- 3
type: integer
type: object
application/xml:
schema:
description: "The channel object represents a Zoom chat [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-). "
properties:
id:
description: Channel Id.
type: string
name:
description: Name of the channel.
maxLength: 128
type: string
type:
description: |-
Type of the channel. The value can be one of the following:
`1`: Private channel. In this type of channel, members must be invited to join a channel.
`2`: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
`3`: Public channel. Anyone can search for this channel and join the channel.
enum:
- 1
- 2
- 3
type: integer
type: object
description: |+
**HTTP Status Code:** `200`
Channel returned.
"400":
description: |-
**HTTP Status Code:** `400`
Bad Request
**Error Code:** `200`
Unauthorized request. You do not have permission to access this user's channel information.
"404":
description: |-
**Status Code:** `404`
Not found.
**Error Code:** `4130`
Channel does not exist: $channelId.
security:
- OAuth: []
summary: Get a channel
tags:
- Chat Channels
parameters:
- in: path
name: channelId
required: true
schema:
type: string
patch:
description: |+
Zoom chat channels allow users to communicate via chat in private or public channels. Use this API to update the name of a specific channel that you created.
**Scope:** `chat_channel:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
Note: This API only supports user-managedOAuth app.
operationId: updateUserLevelChannel
parameters:
- description: Channel Id.
in: path
name: channelId
required: true
schema:
type: string
requestBody:
$ref: "#/components/requestBodies/updateChannelBody"
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**Status Code:** `204`
Channel updated.
"400":
description: |-
**Status Code:** `400`
Bad request
**Error Code:** `200`
Unauthorized request. You do not have permission to update a channel for this user.
**Error Code:** `5301`
Request to update a channel failed.
security:
- OAuth: []
summary: Update a channel
tags:
- Chat Channels
"/chat/channels/{channelId}/members/me":
delete:
description: |-
If you're no longer interested in being a member of an existing channel, you can leave the channel at any time. Use this API to leave a specific channel. After leaving the channel, you can no longer access information from that channel.
Note: This API only supports user-managedOAuth app.
**Scope:** `chat_channel:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: leaveChannel
parameters:
- description: "Channel ID: Unique Identifier of a channel."
in: path
name: channelId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204`
Left channel successfully.
"400":
description: |-
**HTTP Status Code:** `400` Bad Request.
**Error Code:** `5301` Request to leave the channel failed.
security:
- OAuth: []
summary: Leave a channel
tags:
- Chat Channels
parameters:
- in: path
name: channelId
required: true
schema:
type: string
post:
description: |-
A [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) can have one or multiple members. Use this API to join a channel that is open for anyone in the same organization to join. You cannot use this API to join private channels that only allows invited members to be a part of it.
Note: This API only supports user-managedOAuth app.
**Scope:** `chat_channel:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: joinChannel
parameters:
- description: Channel Id.
in: path
name: channelId
required: true
schema:
type: string
responses:
"201":
content:
application/json:
examples:
response:
value:
added_at: 2018-12-11T15:06:32.633Z
id: lbborum-12fiasf-abaa
schema:
properties:
added_at:
description: The date and time at which a user joined the channel.
format: date-time
type: string
id:
description: Member Id of the user who joined the public channel.
type: string
type: object
application/xml:
schema:
properties:
added_at:
description: The date and time at which a user joined the channel.
format: date-time
type: string
id:
description: Member Id of the user who joined the public channel.
type: string
type: object
description: |-
**HTTP Status Code:** `201`
Successfully joined the channel.
"400":
description: |-
**HTTP Status Code:** `400` Bad request.
**Error Code:** `5301` Request to join the channel failed.
security:
- OAuth: []
summary: Join a channel
tags:
- Chat Channels
"/chat/channels/{channelId}/members/{memberId}":
delete:
description: |2+
A [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) can have one or multiple members. Use this API to remove a member from a chat channel.
Note: This API only supports user-managedOAuth app.
operationId: removeAUserLevelChannelMember
parameters:
- description: Unique Identifier of the Channel from where you would like to remove a member. This can be retrieved from the [List Channels API](https://marketplace.zoom.us/docs/api-reference/zoom-api/chat-channels/getchannels).
in: path
name: channelId
required: true
schema:
type: string
- description: Email address of the member whom you would like to be remove from the channel.
in: path
name: memberId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |+
**HTTP Status Code:** `204` **No Content**
Member removed.
"400":
description: |+
**HTTP Status Code:** `400`
Bad Request
**Error Code:** `200`
Unauthorized request. You do not have permission to remove channel members on this user's behalf.
**Error Code:** `5301`
Unable to remove channel member.
security:
- OAuth: []
summary: Remove a member
tags:
- Chat Channels
parameters:
- in: path
name: channelId
required: true
schema:
type: string
- in: path
name: memberId
required: true
schema:
type: string
/chat/users/me/contacts:
get:
description: |-
A user under an organization’s Zoom account has internal users listed under Company Contacts in the Zoom Client. A Zoom user can also add another Zoom user as a [contact](https://support.zoom.us/hc/en-us/articles/115004055706-Managing-Contacts). Call this API to list all the contacts of a Zoom user. Zoom contacts are categorized into "company contacts" and "external contacts". You must specify the contact type in the `type` query parameter. If you do not specify, by default, the type will be set as company contact.
Note: This API only supports user-managedOAuth app.
**Scope**: `chat_contact:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: getUserContacts
parameters:
- description: |-
The type of contact. The value can be one of the following:
`company`: Contacts from the user's organization.
`external`: External contacts.
in: query
name: type
schema:
default: company
type: string
- description: The number of records returned with a single API call.
in: query
name: page_size
schema:
default: 10
maximum: 50
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
contacts:
- email: someemail@somemail.com
first_name: Brandon
id: 44ABCDEfgjWHABBxw
last_name: Ghimire
next_page_token: shdjksA4
page_size: 10
schema:
properties:
contacts:
description: The contacts object.
items:
properties:
email:
description: Contact's email address.
format: email
type: string
first_name:
description: Contact's first name.
type: string
id:
description: Contact Id.
type: string
last_name:
description: Contact's last name.
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: |-
The number of records returned with a single API call.
Default value: 30.
maximum: 100
type: integer
type: object
application/xml:
schema:
properties:
contacts:
description: The contacts object.
items:
properties:
email:
description: Contact's email address.
format: email
type: string
first_name:
description: Contact's first name.
type: string
id:
description: Contact Id.
type: string
last_name:
description: Contact's last name.
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: |-
The number of records returned with a single API call.
Default value: 30.
maximum: 100
type: integer
type: object
description: "**HTTP Status Code:** `200` List of user's contacts returned."
"300":
description: |-
**Error Code:** `300`
The next page token is invalid or has expired.
security:
- OAuth: []
summary: List user's contacts
tags:
- Contacts
"/chat/users/me/contacts/{contactId}":
get:
description: |-
A user under an organization’s Zoom account has internal users listed under Company Contacts in the Zoom Client. A Zoom user can also add another Zoom user as a [contact](https://support.zoom.us/hc/en-us/articles/115004055706-Managing-Contacts). Call this API to get information on a specific contact of the Zoom user.
Note: This API only supports user-managedOAuth app.
**Scope**: `chat_contact:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: getUserContact
parameters:
- description: The user's contact Id or email address. The contact can be either a company contact or an external contact.
in: path
name: contactId
required: true
schema:
type: string
- description: |-
The presence status of the contact.
Include this query parameter with a value of `true` to get the presence status of the contact in the response.
in: query
name: query_presence_status
schema:
type: boolean
responses:
"200":
content:
application/json:
examples:
response:
value:
email: dhgdj@djkfhd.dhgfdh
first_name: Vikram
id: u487547sic45ing
last_name: Grg
presence_status: Do_Not_Disturb
schema:
properties:
direct_numbers:
description: Direct number(s) assigned to the contact.
items:
type: string
type: array
email:
description: Contact's email address.
format: email
type: string
extension_number:
description: Extension number of the contact.
type: string
first_name:
description: Contact's first name
type: string
id:
description: User ID of the contact.
type: string
last_name:
description: Contact's last name
type: string
phone_number:
description: Phone number of the contact.
type: string
presence_status:
description: "Contact's Presence Status in the Zoom Chat Client. The status can be one of the following: `Do_Not_Disturb` `Away` `Available` `Offline`"
enum:
- Do_Not_Disturb
- Away
- Available
- Offline
type: string
type: object
application/xml:
schema:
properties:
direct_numbers:
description: Direct number(s) assigned to the contact.
items:
type: string
type: array
email:
description: Contact's email address.
format: email
type: string
extension_number:
description: Extension number of the contact.
type: string
first_name:
description: Contact's first name
type: string
id:
description: User ID of the contact.
type: string
last_name:
description: Contact's last name
type: string
phone_number:
description: Phone number of the contact.
type: string
presence_status:
description: "Contact's Presence Status in the Zoom Chat Client. The status can be one of the following: `Do_Not_Disturb` `Away` `Available` `Offline`"
enum:
- Do_Not_Disturb
- Away
- Available
- Offline
type: string
type: object
description: |+
**HTTP Status Code:** `200`
Contact information returned.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `5301`
Request to get the presence status of the chat contact failed.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code**: `1001`
User does not exist: $contactId
security:
- OAuth: []
summary: Get user's contact details
tags:
- Contacts
parameters:
- in: path
name: contactId
required: true
schema:
type: string
"/chat/users/{userId}/channels":
get:
description: "Zoom chat [channels](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) allow users to communicate via chat in private or public groups. Use this API to list a user's chat channels.\
**Scope**: `chat_channel:read` or `chat_channel:read:admin`
Note: This API supports both user-managed apps and account-level apps. However, in an account-levelOAuth app, to list channels of another user in the same Zoom account, the user calling this API must have a role that has View or Edit permission for the Chat channels feature.
\ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
\ "
operationId: getChannels
parameters:
- description: The number of records returned from a single API call.
in: query
name: page_size
schema:
default: 10
maximum: 50
type: integer
- description: The next page token is used to paginate through large result sets. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: Unique identifier of the user.
in: path
name: userId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
channels:
- id: ullamdsfjhgdsn663isi
name: Happiness Channel
type: 2
- id: dsfdfrgtre23324663isi
name: Sales team
type: 2
page_size: 10
total_records: 2
schema:
properties:
channels:
description: Chat Channel object(s).
items:
properties:
channels_settings:
properties:
allow_to_add_external_users:
type: integer
new_members_can_see_previous_messages_files:
type: boolean
posting_permissions:
type: integer
type: object
id:
description: "Channel ID: Unique identifier of the Channel."
type: string
name:
description: Name of the channel.
type: string
type:
description: |-
Type of the channel. The value can be one of the following:
`1`: **Private channel.** In this type of channel, members must be invited to join a channel.
`2`: **Private channel with users that belong to the same Zoom account**. Members in this channel should be invited and the members should be from the same organization.
`3`: **Public channel.** Anyone can search for this channel and join the channel. External members cannot be invited.
`4`: **New chat**. This is an instant channel which can be created by adding members to a new chat.
`5`: **Public channel**, similar to above, except members can invite members of other accounts.
type: integer
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: |-
The number of records returned with a single API call.
Default value: 30.
maximum: 100
type: integer
total_records:
description: The total number of records found.
type: integer
type: object
application/xml:
schema:
properties:
channels:
description: Chat Channel object(s).
items:
properties:
channels_settings:
properties:
allow_to_add_external_users:
type: integer
new_members_can_see_previous_messages_files:
type: boolean
posting_permissions:
type: integer
type: object
id:
description: "Channel ID: Unique identifier of the Channel."
type: string
name:
description: Name of the channel.
type: string
type:
description: |-
Type of the channel. The value can be one of the following:
`1`: **Private channel.** In this type of channel, members must be invited to join a channel.
`2`: **Private channel with users that belong to the same Zoom account**. Members in this channel should be invited and the members should be from the same organization.
`3`: **Public channel.** Anyone can search for this channel and join the channel. External members cannot be invited.
`4`: **New chat**. This is an instant channel which can be created by adding members to a new chat.
`5`: **Public channel**, similar to above, except members can invite members of other accounts.
type: integer
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: |-
The number of records returned with a single API call.
Default value: 30.
maximum: 100
type: integer
total_records:
description: The total number of records found.
type: integer
type: object
description: |-
**Status Code**: `200`
User's channels returned.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request.
**Error Code**: `300`
The next page token is either invalid or has expired.
security:
- OAuth: []
summary: List user's channels
tags:
- Chat Channels
parameters:
- in: path
name: userId
required: true
schema:
type: string
post:
description: |+
Zoom chat channels allow users to communicate via chat in private or public groups. Use this API to create a channel for a user.
**Scopes**:`chat_channel:write` or `chat_channel:write:admin`
Note: This API supports both user-managed apps and account-level apps. However, in an account-levelOAuth app, to create a channel on behalf of another user in the same Zoom account, the user calling this API must have a role that has Edit permission for the Chat channels feature.
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: createChannel
parameters:
- description: Unique identifier of the user.
in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
members:
description: Member(s) to include in the channel. A max of 5 members can be added to the channel at once with this API.
items:
properties:
email:
description: Member's email address.
format: email
type: string
required:
- email
type: object
type: array
name:
description: Name of the channel.
maxLength: 128
type: string
type:
description: |-
Type of the channel. The value can be one of the following:
`1`: Private channel. In this type of channel, members must be invited to join a channel.
`2`: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
`3`: Public channel. Anyone can search for this channel and join the channel.
`4`: New chat. This is an instant channel which can be created by adding members to a new chat.
enum:
- 1
- 2
- 3
type: integer
type: object
multipart/form-data:
schema:
properties:
members:
description: Member(s) to include in the channel. A max of 5 members can be added to the channel at once with this API.
items:
properties:
email:
description: Member's email address.
format: email
type: string
required:
- email
type: object
type: array
name:
description: Name of the channel.
maxLength: 128
type: string
type:
description: |-
Type of the channel. The value can be one of the following:
`1`: Private channel. In this type of channel, members must be invited to join a channel.
`2`: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
`3`: Public channel. Anyone can search for this channel and join the channel.
`4`: New chat. This is an instant channel which can be created by adding members to a new chat.
enum:
- 1
- 2
- 3
type: integer
type: object
responses:
"201":
content:
application/json:
examples:
response:
value:
id: id8977ullamco
jid: nisi73624365536st
name: Happy Channel
type: 1
schema:
properties:
id:
description: "Channel ID: Unique Identifier of the Channel."
type: string
jid:
description: "Channel JID. "
type: string
name:
description: Channel name.
type: string
type:
description: Channel type.
type: integer
type: object
application/xml:
schema:
properties:
id:
description: "Channel ID: Unique Identifier of the Channel."
type: string
jid:
description: "Channel JID. "
type: string
name:
description: Channel name.
type: string
type:
description: Channel type.
type: integer
type: object
description: |-
**Status Code**: `201`
Channel created.
"400":
description: |-
**HTTP Status Code:** `400`
Not found.
**Error Code**: `5301`
Request to create a channel failed.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code**: `1001`
User does not exist: $userId.
security:
- OAuth: []
summary: Create a channel
tags:
- Chat Channels
"/chat/users/{userId}/channels/{channelId}":
delete:
description: "Zoom chat [channels](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) allow users to communicate via chat in private or public groups. Use this API to delete a specific channel.\
**Scope:** `chat_channel:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
Note: This API only supports user-managedOAuth app.
\ "
operationId: deleteChannel
parameters:
- description: "Channel ID: Unique Identifier of a channel."
in: path
name: channelId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204`
Channel deleted.
"400":
description: |-
**HTTP Status Code:** `400` Bad request.
**Error Code:** `200`
Unauthorized request. You do not have permission to delete this user's channel.
**Error Code:** `5301` Request to delete a channel failed.
summary: Delete a channel
tags:
- Chat Channels (Account-level)
get:
description: "Zoom chat [channels](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) allow users to communicate via chat in private or public groups. Use this API to get information about a specific channel.\
**Scope:** `chat_channel:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
Note: For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has View or Edit permission for Chat Channels.
\ "
operationId: getChannel
parameters:
- description: "Channel ID: Unique Identifier of a channel."
in: path
name: channelId
required: true
schema:
type: string
- description: Unique identifier of the user who is the owner of the channel.
in: path
name: userId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
id: ut1234sgfsdf
name: Leah
type: 1
schema:
description: "The channel object represents a Zoom chat [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-). "
properties:
id:
description: Channel Id.
type: string
name:
description: Name of the channel.
maxLength: 128
type: string
type:
description: |-
Type of the channel. The value can be one of the following:
`1`: Private channel. In this type of channel, members must be invited to join a channel.
`2`: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
`3`: Public channel. Anyone can search for this channel and join the channel.
enum:
- 1
- 2
- 3
type: integer
type: object
application/xml:
schema:
description: "The channel object represents a Zoom chat [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-). "
properties:
id:
description: Channel Id.
type: string
name:
description: Name of the channel.
maxLength: 128
type: string
type:
description: |-
Type of the channel. The value can be one of the following:
`1`: Private channel. In this type of channel, members must be invited to join a channel.
`2`: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
`3`: Public channel. Anyone can search for this channel and join the channel.
enum:
- 1
- 2
- 3
type: integer
type: object
description: |+
**HTTP Status Code:** `200`
Channel returned.
"400":
description: |-
**HTTP Status Code:** `400`
Bad Request
**Error Code:** `200`
Unauthorized request. You do not have permission to access this user's channel information.
"404":
description: |-
**Status Code:** `404`
Not found.
**Error Code:** `4130`
Channel does not exist: $channelId.
security:
- OAuth: []
summary: Get a channel
tags:
- Chat Channels (Account-level)
parameters:
- in: path
name: userId
required: true
schema:
type: string
- in: path
name: channelId
required: true
schema:
type: string
patch:
description: |
Zoom chat channels allow users to communicate via chat in private or public channels. Use this API to update the name of a specific channel created by a user.
Note: For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has Edit permission for Chat Channel.
operationId: updateChannel
parameters:
- description: Channel Id.
in: path
name: channelId
required: true
schema:
type: string
- description: Unique Identifier of the Zoom user who is the owner of the channel.
in: path
name: userId
required: true
schema:
type: string
requestBody:
$ref: "#/components/requestBodies/updateChannelBody"
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**Status Code:** `204`
Channel updated.
"400":
description: |-
**Status Code:** `400`
Bad request
**Error Code:** `200`
Unauthorized request. You do not have permission to update a channel for this user.
**Error Code:** `5301`
Request to update a channel failed.
security:
- OAuth: []
summary: Update a channel
tags:
- Chat Channels (Account-level)
"/chat/users/{userId}/channels/{channelId}/members":
get:
description: |-
A [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) can have one or multiple members. List all the members of a channel using this API.
For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has View or Edit permission for Chat Channels.
**Scopes:** `chat_channel:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listChannelMembers
parameters:
- description: Channel Id.
in: path
name: channelId
required: true
schema:
type: string
- description: The number of records returned with a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 100
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: Unique identifier of the user who is the owner of this channel.
in: path
name: userId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
members:
- email: IiUQCUCLs@XKmztyJAAU.di
first_name: Harry
id: laboris3764763ull
last_name: King
role: admin
- email: hJUWLsYtyw@ljXwqOlyNCvBjtkLOx.eox
first_name: Alisha
id: eul21dfabore
last_name: Sapkota
role: member
next_page_token: ""
page_size: 30
total_records: 2
schema:
properties:
members:
description: Members in a channel.
items:
properties:
email:
description: Email address of the member.
format: email
type: string
first_name:
description: Member's first name.
type: string
id:
description: "Member ID: Unique Identifier of the member."
type: string
last_name:
description: Member's last name.
type: string
role:
description: "The role of the member. The value can be one of these: `owner`, `admin`, `member`. "
enum:
- admin
- owner
- member
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
default: 30
description: "The number of records returned with a single API call. "
maximum: 100
type: integer
total_records:
description: The total number of records returned.
type: integer
type: object
application/xml:
schema:
properties:
members:
description: Members in a channel.
items:
properties:
email:
description: Email address of the member.
format: email
type: string
first_name:
description: Member's first name.
type: string
id:
description: "Member ID: Unique Identifier of the member."
type: string
last_name:
description: Member's last name.
type: string
role:
description: "The role of the member. The value can be one of these: `owner`, `admin`, `member`. "
enum:
- admin
- owner
- member
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
default: 30
description: "The number of records returned with a single API call. "
maximum: 100
type: integer
total_records:
description: The total number of records returned.
type: integer
type: object
description: |+
**HTTP Status Code:** `200`
List of channel members returned.
"400":
description: |-
**HTTP Status Code:** `400` Bad Request
**Error Code:** `200`
Unauthorized request. You do not have permission to view channel members on this user's behalf..
**Error Code:** `300`
The next page token is either invalid or has expired.
security:
- OAuth: []
summary: List channel members
tags:
- Chat Channels (Account-level)
parameters:
- in: path
name: userId
required: true
schema:
type: string
- in: path
name: channelId
required: true
schema:
type: string
post:
description: |-
A [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) can have one or multiple members. Use this API to invite members that are in a user's contact list to a channel. The maximum number of members that can be added at once with this API is 5.
**Scope:** `chat_channel:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has Edit permission for Chat Channels.
operationId: inviteChannelMembers
parameters:
- description: "Channel ID: Unique Identifier of the channel."
in: path
name: channelId
required: true
schema:
type: string
- description: Unique identifier of the user who is the owner of this channel.
in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
members:
description: Members of a channel. You can invite up to a max number of 5 members with a single API call.
items:
properties:
email:
description: Email adress of the member.
format: email
type: string
required:
- email
type: object
type: array
type: object
multipart/form-data:
schema:
properties:
members:
description: Members of a channel. You can invite up to a max number of 5 members with a single API call.
items:
properties:
email:
description: Email adress of the member.
format: email
type: string
required:
- email
type: object
type: array
type: object
x-examples:
application/json:
members:
- email: rtxbZkoL6ZVr@BKRUfQISqmtCCeuGPP.ma
- email: Rl7NtxV2wGf6@INybVUUu.fphl
responses:
"201":
content:
application/json:
examples:
response:
value:
added_at: 2019-09-27T00:14:46Z
ids:
- abc4545fdgfdhg
- lgfdkhg123456
schema:
properties:
added_at:
description: The date and time at which the member(s) are added to the channe.
format: date-time
type: string
ids:
description: Member Ids of the members.
items:
type: string
type: array
type: object
application/xml:
schema:
properties:
added_at:
description: The date and time at which the member(s) are added to the channe.
format: date-time
type: string
ids:
description: Member Ids of the members.
items:
type: string
type: array
type: object
description: |-
**HTTP Status Code:** `201`
Members invited to the channel.
"400":
description: |-
**Status Code:** `400`
Bad request.
**Error Code:** `5301`
Request to invite channel members failed.
**Error Code:** `200`
Unauthorized request. You do not have permission to invite channel members on this user's behalf.
security:
- OAuth: []
summary: Invite channel members
tags:
- Chat Channels (Account-level)
"/chat/users/{userId}/channels/{channelId}/members/{memberId}":
delete:
description: |2-
A [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) can have one or multiple members. Use this API to remove a member from a chat channel.
Note: For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has Edit permission for Chat Channels.
operationId: removeAChannelMember
parameters:
- description: Unique Identifier of the Channel from where you would like to remove a member. This can be retrieved from the [List Channels API](https://marketplace.zoom.us/docs/api-reference/zoom-api/chat-channels/getchannels).
in: path
name: channelId
required: true
schema:
type: string
- description: Email address of the member whom you would like to be remove from the channel.
in: path
name: memberId
required: true
schema:
type: string
- description: Unique identifier of the channel owner.
in: path
name: userId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |+
**HTTP Status Code:** `204` **No Content**
Member removed.
"400":
description: |+
**HTTP Status Code:** `400`
Bad Request
**Error Code:** `200`
Unauthorized request. You do not have permission to remove channel members on this user's behalf.
**Error Code:** `5301`
Unable to remove channel member.
security:
- OAuth: []
summary: Remove a member
tags:
- Chat Channels (Account-level)
parameters:
- in: path
name: userId
required: true
schema:
type: string
- in: path
name: channelId
required: true
schema:
type: string
- in: path
name: memberId
required: true
schema:
type: string
"/chat/users/{userId}/messages":
get:
description: |+
A Zoom user can have conversations with other Zoom users via chat. Use this API to list the current user's chat messages between the user and an individual contact or a chat channel. In the query parameter, you must provide either of the following:
* `to_contact`: The email address of the contact with whom the user conversed by sending/receiving messages.
* `to_channel`: The channel ID of the channel to/from which the user has sent and/or received messages.
**Specify a date** in the `date` query parameter to view messages from that date. If a date is not provided, the default value for the query will be the **current date**.
Note: For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has View or Edit permission for Chat Messages.
**Scopes:** `chat_message:read`, `chat_message:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: getChatMessages
parameters:
- description: |-
The email address of a chat contact with whom the current user chatted. Messages that were sent and/or received between the user and the contact is displayed.
Note: You must provide either `contact` or `channel` as a query parameter to retrieve messages either from an individual or a chat channel.
in: query
name: to_contact
schema:
type: string
- description: |-
The channel Id of a channel inside which the current user had chat conversations. Messages that were sent and/or received between the user and the channel is displayed.
Note: You must provide either `contact` or `channel` as a query parameter to retrieve messages either from an individual or a chat channel.
in: query
name: to_channel
schema:
type: string
- description: The query date for which you would like to get the chat messages.
in: query
name: date
schema:
format: date
type: string
- description: "The number of records returned with a single API call. "
in: query
name: page_size
schema:
default: 10
maximum: 50
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: |-
**Optional**
Set the value of this field to `true` to include edited and deleted messages in the response.
in: query
name: include_deleted_and_edited_message
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
date: 2019-09-17
messages:
- date_time: 2019-09-17T20:25:21Z
id: F3CbafdljsfjkdfgBA7
message: And you?
sender: myemail@someemailaddr.com
timestamp: 1568751921626
- date_time: 2019-09-17T20:25:17Z
id: B0DbfdgdfhAAfgf237000
message: I am good
sender: myemail@someemailaddr.com
timestamp: 1568751917976
- date_time: 2019-09-17T20:24:13Z
id: C9Bbdfgd4sad301
message: How are you
sender: myfriendsemail@someemailaddr.us
timestamp: 1568751853297
- date_time: 2019-09-17T20:22:26Z
id: 769fgdgdfgfd4566F7B96665
message: hello
sender: myfriendsemail@someemailaddr.us
timestamp: 1568751746769
next_page_token: ""
page_size: 10
schema:
description: Chat message object.
properties:
date:
description: The date provided in the query parameter. If a date is not provided, the default value is the **current date**.
format: date
type: string
messages:
description: List of message(s).
items:
properties:
date_time:
description: The date-time at which the message was sent.
type: string
id:
description: "Message ID: Unique Identifier of the message."
type: string
message:
description: The message content.
type: string
reply_main_message_id:
description: Unique identifier of a reply. This field will only be returned if the message is a reply message.
type: string
reply_main_message_timestamp:
description: |-
Timestamp of when the reply message was sent. This field will only be returned if the message is a reply message.
The value of this field will be in **long** format(int64).
format: int64
type: integer
sender:
description: The email address of the sender of the message.
type: string
status:
description: |-
This field indicates whether a message is an original message(unedited), an edited message or a deleted message.
This field is only returned if you set the value of `for include_deleted_and_edited_message` query parameter to `true`.
enum:
- Deleted
- Edited
- Normal
type: string
timestamp:
description: The timestamp of the message in microseconds.
format: int64
type: integer
type: object
type: array
next_page_token:
description: |
The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
default: 10
description: The number of records returned with a single API call.
type: integer
type: object
application/xml:
schema:
description: Chat message object.
properties:
date:
description: The date provided in the query parameter. If a date is not provided, the default value is the **current date**.
format: date
type: string
messages:
description: List of message(s).
items:
properties:
date_time:
description: The date-time at which the message was sent.
type: string
id:
description: "Message ID: Unique Identifier of the message."
type: string
message:
description: The message content.
type: string
reply_main_message_id:
description: Unique identifier of a reply. This field will only be returned if the message is a reply message.
type: string
reply_main_message_timestamp:
description: |-
Timestamp of when the reply message was sent. This field will only be returned if the message is a reply message.
The value of this field will be in **long** format(int64).
format: int64
type: integer
sender:
description: The email address of the sender of the message.
type: string
status:
description: |-
This field indicates whether a message is an original message(unedited), an edited message or a deleted message.
This field is only returned if you set the value of `for include_deleted_and_edited_message` query parameter to `true`.
enum:
- Deleted
- Edited
- Normal
type: string
timestamp:
description: The timestamp of the message in microseconds.
format: int64
type: integer
type: object
type: array
next_page_token:
description: |
The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
default: 10
description: The number of records returned with a single API call.
type: integer
type: object
description: |-
**HTTP Status Code:**`200`
List of chat messages returned.
"400":
description: |
**HTTP Status Code:** `400` Bad request.
**Error Code:** `200` Unauthorized request. You do not have permission to access this user's chat messages.
**Error Code:** `300` The next page token is invalid or expired.
**Error Code:** `300` Must provide either contact or channel parameter.
**Error Code:** `300` Only provide past chat messages in recent 6 months.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code**: `1001`
User does not exist: $to_contact.
**Error Code**: `4130`
Channel does not exist: $to_channel.
security:
- OAuth: []
summary: List user's chat messages
tags:
- Chat Messages
parameters:
- in: path
name: userId
required: true
schema:
type: string
post:
description: |+
Send chat messages on Zoom to either an individual user who is in your contact list or to a [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-) of which you are a member. To send a message to a contact, provide the contact's email address in the `to_contact` field. Similary, to send a message to a channel, provide the Channel Id of the Channel in `to_channel` field.
Note: For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has Edit permission for Chat Messages.
operationId: sendaChatMessage
requestBody:
content:
application/json:
schema:
properties:
at_items:
description: "[Chat mentions](https://support.zoom.us/hc/en-us/articles/360037567431-Using-chat-mentions-and-slash-commands) object. Use this object to include mentions in the message that will be sent to a channel. "
items:
properties:
at_contact:
description: |+
This field is required if the value of `at_type` field is set to 1.
Email address of the contact.
type: string
at_type:
description: |-
Type of mention. You can use one of the following values:
* `1`: Mention a contact.
* `2`: Mention "all" to notify everyone in the channel.
enum:
- 1
- 2
type: integer
end_position:
description: |-
End position of the mention.
Example message: "@Shrijana How are you?"
In this case, the end position of the mention "@Shrijana" is 8. Hence, the value of this field will be 8.
type: integer
start_position:
description: |+
Start position of the mention("@") in the message string.
For example if you want to include the mention at the beginning of the message, the value for this field will be 0.
Example message: "@Shrijana How are you?"
type: integer
type: object
type: array
message:
description: The message to be sent.
maxLength: 1024
type: string
to_channel:
description: The Channel Id of the channel where you would like to send a message.
type: string
to_contact:
description: The email address of the contact to whom you would like to send the message.
type: string
required:
- message
type: object
multipart/form-data:
schema:
properties:
at_items:
description: "[Chat mentions](https://support.zoom.us/hc/en-us/articles/360037567431-Using-chat-mentions-and-slash-commands) object. Use this object to include mentions in the message that will be sent to a channel. "
items:
properties:
at_contact:
description: |+
This field is required if the value of `at_type` field is set to 1.
Email address of the contact.
type: string
at_type:
description: |-
Type of mention. You can use one of the following values:
* `1`: Mention a contact.
* `2`: Mention "all" to notify everyone in the channel.
enum:
- 1
- 2
type: integer
end_position:
description: |-
End position of the mention.
Example message: "@Shrijana How are you?"
In this case, the end position of the mention "@Shrijana" is 8. Hence, the value of this field will be 8.
type: integer
start_position:
description: |+
Start position of the mention("@") in the message string.
For example if you want to include the mention at the beginning of the message, the value for this field will be 0.
Example message: "@Shrijana How are you?"
type: integer
type: object
type: array
message:
description: The message to be sent.
maxLength: 1024
type: string
to_channel:
description: The Channel Id of the channel where you would like to send a message.
type: string
to_contact:
description: The email address of the contact to whom you would like to send the message.
type: string
required:
- message
type: object
x-examples:
application/json:
at_items:
- at_contact: mycontactsemail@somexyz23mail.com
at_type: 1
end_position: 8
start_position: 0
message: "@Shrijana How are you?"
to_channel: e87294sdg4a42e7d2f80862
responses:
"201":
content:
application/json:
examples:
response:
value:
id: ex35785hgdfjgt
schema:
properties:
id:
description: "Message ID: Unique Identifier of the message."
type: string
type: object
application/xml:
schema:
properties:
id:
description: "Message ID: Unique Identifier of the message."
type: string
type: object
description: |-
**Status Code:** `201`
Message sent.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request.
**Error Code:** `5301`
Message sending failed.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code**: `1001`
User does not exist: $to_contact.
**Error Code**: `4130`
Channel does not exist: $to_channel.
security:
- OAuth: []
summary: Send a chat message
tags:
- Chat Messages
"/chat/users/{userId}/messages/{messageId}":
delete:
description: |-
Delete a chat message that you previously sent to a contact or a channel. In the query parameter, you must provide either of the following:
* `to_contact`: The email address of the contact to whom you sent the message. Use this parameter to delete a message sent to an individual contact in Zoom.
* `to_channel`: The channel ID of the channel where you sent the message. Use this parameter to delete a message sent to a channel in Zoom.
Note: For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has Edit permission for Chat Messages.
**Scope:** `chat_message:write`, `chat_message:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: deleteChatMessage
parameters:
- description: Message ID
in: path
name: messageId
required: true
schema:
type: string
- description: |-
The userId or email address of a chat contact to whom you previously sent the message.
Note: You must provide either `to_contact` or `to_channel` as a query parameter to delete a message that was previously sent to either an individual or a chat channel respectively.
in: query
name: to_contact
schema:
type: string
- description: |-
The channel Id of the channel where you would like to send the message.
You must provide either `to_contact` or `to_channel` as a query parameter to delete a message that was previously sent to either an individual or a chat channel
in: query
name: to_channel
schema:
type: string
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Message deleted.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request.
**Error Code:** `200`
The contact or the channel parameter provided is invalid.
Only the sender of this message can make updates.
**Error Code:** `300` Channel does not exist: $messageId Must provide either contact or channel parameter.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code**: `1001`
User does not exist: $to_contact.
**Error Code**: `4130`
Channel does not exist: $to_channel.
security:
- OAuth: []
summary: Delete a message
tags:
- Chat Messages
parameters:
- in: path
name: userId
required: true
schema:
type: string
- in: path
name: messageId
required: true
schema:
type: string
put:
description: |+
Each chat message has a unique identifier. Use this API to edit a chat message that you previously sent to either a contact or a channel in Zoom by providing the ID of the message as the value of the `messageId` parameter. The ID can be retrieved from List User's Chat Messages API. Additionally, as a query parameter, you must provide either the **email address** of the contact or the **Channel ID** of the channel where the message was sent.
**Scope:** `chat_message:write`,`chat_message:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
For an account-levelOAuth app, this API can only be used on behalf of a user who is assigned with a role that has Edit permission for Chat Messages.
**Scope:** `chat_message:write`, `chat_message:write:admin`
operationId: editMessage
parameters:
- description: "Message ID: Unique Identifier of the message."
in: path
name: messageId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
message:
description: The edited message.
type: string
to_channel:
description: |-
The Channel ID of the channel where you sent the message. You must provide either `to_contact` or `to_channel` parameter in the API request.
Channel ID can be retrieved from List User's Channels API.
type: string
to_contact:
description: |-
The email address of the contact to whom the message was sent.
You must provide either `to_contact` or `to_channel` parameter in the API request.
type: string
type: object
multipart/form-data:
schema:
properties:
message:
description: The edited message.
type: string
to_channel:
description: |-
The Channel ID of the channel where you sent the message. You must provide either `to_contact` or `to_channel` parameter in the API request.
Channel ID can be retrieved from List User's Channels API.
type: string
to_contact:
description: |-
The email address of the contact to whom the message was sent.
You must provide either `to_contact` or `to_channel` parameter in the API request.
type: string
type: object
x-examples:
application/json:
message: This is an edited message. It is a gloomy day today.
to_contact: theemailofmyfriend@sksjgsdf.fhdgfgdh
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Message updated successfully.
"400":
description: |
**HTTP Status Code:** `400`
Bar request
**Error Code:** `200`
Only the sender of this message can make updates.
**Error Code:** `300`
Message does not exist: $messageId Must provide either contact or channel parameter.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code**: `1001`
User does not exist: $to_contact.
**Error Code**: `4130`
Channel does not exist: $to_channel.
security:
- OAuth: []
summary: Update a message
tags:
- Chat Messages
"/chat/users/{userId}/messages/{messageId}/status": {}
/contacts:
get:
description: |-
A user under an organization's Zoom account has internal users listed under Company Contacts in the Zoom Client. Use this API to search users that are in the company contacts of a Zoom account. Using the `search_key` query parameter, provide either first name, last name or the email address of the user that you would like to search for. Optionally, set `query_presence_status` to `true` in order to include the presence status of a contact.
**Scopes:** `contact:read:admin`, `contact:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: searchCompanyContacts
parameters:
- description: Provide the keyword - either first name, last name or email of the contact whom you have to search for.
in: query
name: search_key
required: true
schema:
type: string
- description: Set `query_presence_status` to `true` in order to include the presence status of a contact in the response.
in: query
name: query_presence_status
schema:
type: string
- description: The number of records to be returned with a single API call.
in: query
name: page_size
schema:
default: 1
maximum: 25
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
contacts:
- direct_numbers:
- 111111
- 222222
email: qui@djfsd.sdfjhdf
extension_number: "010"
first_name: John
id: isds324bdfsf
im_group_id: fhksdhfew34hjds
im_group_name: Engineering
last_name: Doe
phone_number: "00000000"
presence_status: Offline
sip_phone_number: "11111111"
next_page_token: " "
page_size: 1
schema:
properties:
contacts:
items:
properties:
dept:
description: Department of the contact as provided in the user's Zoom profile.
type: string
direct_numbers:
description: Direct Number(s) of a user who has Zoom Phone license assigned.
items:
type: string
type: array
email:
description: Email address of the contact.
type: string
extension_number:
description: Extension Number of a user who has Zoom Phone license assigned.
type: string
first_name:
description: First name of the contact.
type: string
id:
description: User ID of the contact.
type: string
im_group_id:
description: "Unique Identifier of the [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) in which the user has been added. An IM Directory group is not the same as a channel. IM Directory allows administrators to assign users in their account to groups that display within the Contacts list on Zoom clients. "
type: string
im_group_name:
description: "Name of the [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) in which the user has been added. An IM Directory group is not the same as a channel. IM Directory allows administrators to assign users in their account to groups that display within the Contacts list on Zoom clients. "
type: string
job_title:
description: Department of the user as provided in the user's Zoom profile.
type: string
last_name:
description: Last name of the contact.
type: string
location:
description: Location of the user as provided in the user's Zoom profile.
type: string
phone_number:
description: Phone number of the user.
type: string
presence_status:
description: |-
Presence status of the contact in Zoom Client. The value of this field can be one of the following:
`Do_Not_Disturb` `away` `Available` `Offline`
enum:
- Do_Not_Disturb
- Away
- Available
- Offline
type: string
sip_phone_number:
description: SIP Phone number of the user. Returned only if user has SIP phone enabled.
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned with a single API call. Default value is `1`.
maximum: 25
type: integer
type: object
application/xml:
schema:
properties:
contacts:
items:
properties:
dept:
description: Department of the contact as provided in the user's Zoom profile.
type: string
direct_numbers:
description: Direct Number(s) of a user who has Zoom Phone license assigned.
items:
type: string
type: array
email:
description: Email address of the contact.
type: string
extension_number:
description: Extension Number of a user who has Zoom Phone license assigned.
type: string
first_name:
description: First name of the contact.
type: string
id:
description: User ID of the contact.
type: string
im_group_id:
description: "Unique Identifier of the [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) in which the user has been added. An IM Directory group is not the same as a channel. IM Directory allows administrators to assign users in their account to groups that display within the Contacts list on Zoom clients. "
type: string
im_group_name:
description: "Name of the [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) in which the user has been added. An IM Directory group is not the same as a channel. IM Directory allows administrators to assign users in their account to groups that display within the Contacts list on Zoom clients. "
type: string
job_title:
description: Department of the user as provided in the user's Zoom profile.
type: string
last_name:
description: Last name of the contact.
type: string
location:
description: Location of the user as provided in the user's Zoom profile.
type: string
phone_number:
description: Phone number of the user.
type: string
presence_status:
description: |-
Presence status of the contact in Zoom Client. The value of this field can be one of the following:
`Do_Not_Disturb` `away` `Available` `Offline`
enum:
- Do_Not_Disturb
- Away
- Available
- Offline
type: string
sip_phone_number:
description: SIP Phone number of the user. Returned only if user has SIP phone enabled.
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned with a single API call. Default value is `1`.
maximum: 25
type: integer
type: object
description: |-
**HTTP Status Code:** `200`
Contact returned successfully.
summary: Search company contacts
tags:
- Contacts
/groups:
get:
description: |-
List [groups](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) under an account.
**Prerequisite**: Pro or higher account.
**Scopes**: `group:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: groups
responses:
"200":
content:
application/json:
examples:
response:
value:
groups:
- id: hFK_GtF_e_TaVA808
name: ipsum
total_members: 10
- id: TaVA8QKik_123
name: awesomegroup
total_members: 0
total_records: 2
schema:
description: List of Groups.
properties:
groups:
description: List of Group objects.
items:
allOf:
- properties:
id:
description: Group ID.
type: string
type: object
- description: Group object.
properties:
name:
description: Group name.
type: string
total_members:
description: Total number of members in this group.
type: integer
type: object
type: array
total_records:
description: Total records.
type: integer
type: object
application/xml:
schema:
description: List of Groups.
properties:
groups:
description: List of Group objects.
items:
allOf:
- properties:
id:
description: Group ID.
type: string
type: object
- description: Group object.
properties:
name:
description: Group name.
type: string
total_members:
description: Total number of members in this group.
type: integer
type: object
type: array
total_records:
description: Total records.
type: integer
type: object
description: |-
**HTTP Status Code:** `200`
List of groups returned.
**Error Code:** `200`
Only available for paid accounts.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `4130` A group with this {groupId} does not exist.
security:
- OAuth: []
summary: List groups
tags:
- Groups
post:
description: |-
Create a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) under an account.
You can add a maximum of 100 groups in one account per day. If you go over, you will get an error. You can add a maximum of 5000 groups in one account.
**Prerequisite**: Pro or higher account.
**Scopes**: `group:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: groupCreate
requestBody:
content:
application/json:
schema:
properties:
name:
description: Group name.
type: string
type: object
multipart/form-data:
schema:
properties:
name:
description: Group name.
type: string
type: object
required: true
x-examples:
application/json:
name: myawesomegroup
responses:
"200":
description: |-
**Error Code:** `200`
Only available for Paid account,{accountId}
"201":
content:
application/json:
examples:
response:
value:
id: string
name: string
total_members: integer
schema:
properties:
id:
description: Group ID.
type: string
name:
description: Group name.
type: string
total_members:
description: Group member count.
type: integer
type: object
application/xml:
schema:
properties:
id:
description: Group ID.
type: string
name:
description: Group name.
type: string
total_members:
description: Group member count.
type: integer
type: object
description: |-
**HTTP Status Code:** `201`
Group created.
headers:
Content-Location:
description: Location of created group
schema:
type: string
"300":
description: |-
**Error Code:** `300`
Missing field: name.
"404":
description: |+
**HTTP Status Code:** `404` **Error Code:** `4130` A group with this {groupId} does not exist.
"409":
description: "**HTTP Status Code:** `409` **Error Code:** `4132` Group name {groupName} is already in use."
"429":
description: |-
**HTTP Status Code:** `429`
You have exceeded the daily rate limit ({0}) of Create a Group API request for this account. This limit resets at GMT 00:00:00.
security:
- OAuth: []
summary: Create a group
tags:
- Groups
"/groups/{groupId}":
delete:
description: |-
Delete a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-).
**Prerequisite**: Pro, Business, or Education account
**Scopes**: `group:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: groupDelete
parameters:
- description: |-
The group ID.
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
in: path
name: groupId
required: true
schema:
type: string
responses:
"200":
description: |-
**Error Code:** `200`
Only available for Paid account,{accountId}.
"204":
description: |-
**HTTP Status Code:** `204`
Group deleted.
"300":
description: |-
**Error Code:** `300`
Group member not found.
"404":
description: |-
**HTTP Status Code:** `404`
Group not found.
**Error Code:** `4130`
A group with this {groupId} does not exist.
security:
- OAuth: []
summary: Delete a group
tags:
- Groups
get:
description: |-
Get a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) under an account.
**Prerequisite**: Pro, Business, or Education account
**Scopes**: `group:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: group
parameters:
- description: |-
The group ID.
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
in: path
name: groupId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
id: chfhfhhfh_TKikJIX0
name: My test group
total_members: 0
schema:
properties:
id:
description: Group ID.
type: string
name:
description: Group name.
type: string
total_members:
description: Total count of members in the group.
type: integer
type: object
application/xml:
schema:
properties:
id:
description: Group ID.
type: string
name:
description: Group name.
type: string
total_members:
description: Total count of members in the group.
type: integer
type: object
description: |-
**HTTP Status Code:** `200` Group returned.
**Error Code:** `200`
Only available for Paid account,{accountId}.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `1010`
Group does not belong to your account.
"404":
description: |-
**HTTP Status Code:** `404`
Group not found.
**Error Code:** `4130` A group with this {groupId} does not exist.
security:
- OAuth: []
summary: Get a group
tags:
- Groups
patch:
description: |-
Update a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) under your account.
**Prerequisite**: Pro, Business, or Education account
**Scopes**: `group:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: groupUpdate
parameters:
- description: |-
The group ID.
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
in: path
name: groupId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
name:
description: Group name. It must be unique to one account and less than 128 characters.
type: string
type: object
multipart/form-data:
schema:
properties:
name:
description: Group name. It must be unique to one account and less than 128 characters.
type: string
type: object
required: true
x-examples:
application/json:
name: amazinggroup
responses:
"200":
description: The group does not belong to this account:{accountId}.
"204":
description: Group updated.
"404":
description: |-
**Status Code:** `404`
Not found.
**Error Code:** `4130`
A group with this {groupId} does not exist.
"409":
description: |-
**Status Code:** `409`
Conflict
**Error Code:** `4132`
Group name {groupName} is already in use.
security:
- OAuth: []
summary: Update a group
tags:
- Groups
"/groups/{groupId}/lock_settings":
get:
description: |-
Retrieve a [group's](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) locked settings. If you lock a setting, the group members will not be able to modify it individually.
Note: The `force_pmi_jbh_password` field under meeting settings is planned to be deprecated on September 22, 2019. This field will be replaced by another field that will provide the same functionality.
**Prerequisite**: Pro, Business, or Education account
**Scopes**: `group:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: getGroupLockSettings
parameters:
- description: Id of the group.
in: path
name: groupId
required: true
schema:
type: string
- description: Specify `meeting_security` as the value of this field if you would like to view security settings applied on a meeting hosted by the users in this group.
in: query
name: option
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
email_notification:
alternative_host_reminder: true
cancel_meeting_reminder: true
cloud_recording_available_reminder: true
jbh_reminder: true
schedule_for_host_reminder: true
in_meeting:
alert_guest_join: true
allow_show_zoom_windows: true
annotation: true
attendee_on_hold: true
auto_answer: true
auto_saving_chat: true
breakout_room: true
chat: true
closed_caption: true
co_host: true
e2e_encryption: true
entry_exit_chime: false
far_end_camera_control: true
feedback: true
group_hd: true
non_verbal_feedback: true
original_audio: true
polling: true
post_meeting_feedback: true
private_chat: true
remote_control: true
remote_support: true
screen_sharing: true
sending_default_email_invites: true
show_browser_join_link: true
show_meeting_control_toolbar: true
stereo_audio: true
use_html_format_email: true
virtual_background: true
waiting_room: true
whiteboard: true
recording:
account_user_access_recording: false
auto_delete_cmr: false
auto_recording: false
cloud_recording: false
cloud_recording_download: false
host_delete_cloud_recording: false
local_recording: false
schedule_meeting:
audio_type: true
force_pmi_jbh_password: true
host_video: true
join_before_host: true
mute_upon_entry: true
participant_video: true
pstn_password_protected: true
require_password_for_instant_meetings: false
require_password_for_pmi_meetings: true
require_password_for_scheduling_new_meetings: true
upcoming_meeting_reminder: true
telephony:
third_party_audio: false
schema:
oneOf:
- properties:
email_notification:
properties:
alternative_host_reminder:
description: Notify the alternative host who is set or removed.
type: boolean
cancel_meeting_reminder:
description: Notify host and participants when the meeting is cancelled.
type: boolean
cloud_recording_available_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify host when participants join the meeting before them.
type: boolean
schedule_for_host_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
in_meeting:
properties:
alert_guest_join:
description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
type: boolean
allow_show_zoom_windows:
description: Show Zoom windows during screen share.
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send chat message visible to all participants.
type: boolean
closed_caption:
description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
type: boolean
co_host:
description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
type: boolean
custom_data_center_regions:
description: Displays whether or not custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) have been selected for meetings/webinars hosted by this group.
type: boolean
e2e_encryption:
description: Require that all meetings are encrypted using AES.
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave.
type: string
far_end_camera_control:
description: Allow another user to take control of the camera during a meeting.
type: boolean
feedback:
description: Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
type: boolean
group_hd:
description: Enable higher quality video for host and participants. This will require more bandwidth.
type: boolean
non_verbal_feedback:
description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
type: boolean
original_audio:
description: Allow users to select original sound during a meeting.
type: boolean
polling:
description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
type: boolean
post_meeting_feedback:
description: Display end-of-meeting experience feedback survey.
type: boolean
private_chat:
description: Allow meeting participants to send a private 1:1 message to another participant.
type: boolean
remote_control:
description: During screen sharing, allow the person who is sharing to let others control the shared content.
type: boolean
remote_support:
description: Allow meeting host to provide 1:1 remote support to another participant.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled and locked for the group or not.
type: boolean
screen_sharing:
description: Allow host and participants to share their screen or content during meetings.
type: boolean
sending_default_email_invites:
description: Allow users to invite participants by email only by default.
type: boolean
show_browser_join_link:
description: Allow participants to join a meeting directly from their browser.
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
stereo_audio:
description: Allow users to select stereo audio during a meeting.
type: boolean
use_html_format_email:
description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
type: boolean
virtual_background:
description: Enable virtual background.
type: boolean
waiting_room:
description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
type: object
recording:
properties:
account_user_access_recording:
description: Make cloud recordings accessible to account members only.
type: boolean
auto_delete_cmr:
description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
type: boolean
auto_recording:
description: Record meetings automatically as they start.
type: string
cloud_recording:
description: Allow hosts to record and save the meeting / webinar in the cloud.
type: boolean
cloud_recording_download:
description: Allow anyone with a link to the cloud recording to download.
type: boolean
host_delete_cloud_recording:
description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting to a local file.
type: boolean
prevent_host_access_recording:
description: |+
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
type: object
schedule_meeting:
properties:
audio_type:
description: Determine how participants can join the audio portion of the meeting.
type: boolean
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
\ "
type: boolean
force_pmi_jbh_password:
description: If join before host option is enabled for a personal meeting, then enforce password requirement.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives
type: boolean
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
mute_upon_entry:
description: Automatically mute all participants when they join the meeting.
type: boolean
participant_video:
description: Start meetings with participant video on.
type: boolean
pstn_password_protected:
description: Generate and send new passwords for newly scheduled or edited meetings.
type: boolean
require_password_for_instant_meetings:
description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled.
type: boolean
require_password_for_pmi_meetings:
description: Require participants to enter password for PMI meetings.
type: boolean
require_password_for_scheduling_new_meetings:
description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting.
type: boolean
upcoming_meeting_reminder:
description: Receive desktop notification for upcoming meetings.
type: boolean
type: object
telephony:
properties:
telephony_regions:
type: boolean
third_party_audio:
description: Allow users to join the meeting using the existing 3rd party audio configuration.
type: boolean
type: object
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
application/xml:
schema:
oneOf:
- properties:
email_notification:
properties:
alternative_host_reminder:
description: Notify the alternative host who is set or removed.
type: boolean
cancel_meeting_reminder:
description: Notify host and participants when the meeting is cancelled.
type: boolean
cloud_recording_available_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify host when participants join the meeting before them.
type: boolean
schedule_for_host_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
in_meeting:
properties:
alert_guest_join:
description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
type: boolean
allow_show_zoom_windows:
description: Show Zoom windows during screen share.
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send chat message visible to all participants.
type: boolean
closed_caption:
description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
type: boolean
co_host:
description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
type: boolean
custom_data_center_regions:
description: Displays whether or not custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) have been selected for meetings/webinars hosted by this group.
type: boolean
e2e_encryption:
description: Require that all meetings are encrypted using AES.
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave.
type: string
far_end_camera_control:
description: Allow another user to take control of the camera during a meeting.
type: boolean
feedback:
description: Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
type: boolean
group_hd:
description: Enable higher quality video for host and participants. This will require more bandwidth.
type: boolean
non_verbal_feedback:
description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
type: boolean
original_audio:
description: Allow users to select original sound during a meeting.
type: boolean
polling:
description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
type: boolean
post_meeting_feedback:
description: Display end-of-meeting experience feedback survey.
type: boolean
private_chat:
description: Allow meeting participants to send a private 1:1 message to another participant.
type: boolean
remote_control:
description: During screen sharing, allow the person who is sharing to let others control the shared content.
type: boolean
remote_support:
description: Allow meeting host to provide 1:1 remote support to another participant.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled and locked for the group or not.
type: boolean
screen_sharing:
description: Allow host and participants to share their screen or content during meetings.
type: boolean
sending_default_email_invites:
description: Allow users to invite participants by email only by default.
type: boolean
show_browser_join_link:
description: Allow participants to join a meeting directly from their browser.
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
stereo_audio:
description: Allow users to select stereo audio during a meeting.
type: boolean
use_html_format_email:
description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
type: boolean
virtual_background:
description: Enable virtual background.
type: boolean
waiting_room:
description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
type: object
recording:
properties:
account_user_access_recording:
description: Make cloud recordings accessible to account members only.
type: boolean
auto_delete_cmr:
description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
type: boolean
auto_recording:
description: Record meetings automatically as they start.
type: string
cloud_recording:
description: Allow hosts to record and save the meeting / webinar in the cloud.
type: boolean
cloud_recording_download:
description: Allow anyone with a link to the cloud recording to download.
type: boolean
host_delete_cloud_recording:
description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting to a local file.
type: boolean
prevent_host_access_recording:
description: |+
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
type: object
schedule_meeting:
properties:
audio_type:
description: Determine how participants can join the audio portion of the meeting.
type: boolean
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
\ "
type: boolean
force_pmi_jbh_password:
description: If join before host option is enabled for a personal meeting, then enforce password requirement.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives
type: boolean
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
mute_upon_entry:
description: Automatically mute all participants when they join the meeting.
type: boolean
participant_video:
description: Start meetings with participant video on.
type: boolean
pstn_password_protected:
description: Generate and send new passwords for newly scheduled or edited meetings.
type: boolean
require_password_for_instant_meetings:
description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled.
type: boolean
require_password_for_pmi_meetings:
description: Require participants to enter password for PMI meetings.
type: boolean
require_password_for_scheduling_new_meetings:
description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting.
type: boolean
upcoming_meeting_reminder:
description: Receive desktop notification for upcoming meetings.
type: boolean
type: object
telephony:
properties:
telephony_regions:
type: boolean
third_party_audio:
description: Allow users to join the meeting using the existing 3rd party audio configuration.
type: boolean
type: object
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
description: |
**Error Code:** `200`
Only available for paid account.
**Status Code:** `200`
Locked settings of group returned.
"404":
description: |-
**Status Code:** `404`
Not found.
**Error Code:** `4130`
Group does not exist: {groupId}
security:
- OAuth: []
summary: Get locked settings
tags:
- Groups
parameters:
- in: path
name: groupId
required: true
schema:
type: string
- description: |-
Provide the name of the field by which you would like to filter the response. For example, if you provide "host_video" as the value of this field, you will get a response similar to the following:
{
"schedule_meeting": {
"host_video": false
}
}
You can provide multiple values by separating them with commas(example: "host_video,participant_video”).
in: query
name: custom_query_fields
schema:
type: string
patch:
description: |-
Update a [group's](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) locked settings. If you lock a setting, the group members will not be able to modify it individually.
Note: The `force_pmi_jbh_password` field under meeting settings is planned to be deprecated on September 22, 2019. This field will be replaced by another field that will provide the same functionality.
**Prerequisite**: Pro, Business, or Education account
**Scopes**: `group:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: groupLockedSettings
parameters:
- description: The Id of the group.
in: path
name: groupId
required: true
schema:
type: string
- description: Specify `meeting_security` as the value of this field if you would like to view security settings applied on a meeting hosted by the users in this group.
in: query
name: option
schema:
type: string
requestBody:
content:
application/json:
schema:
oneOf:
- properties:
email_notification:
properties:
alternative_host_reminder:
description: Notify the alternative host who is set or removed.
type: boolean
cancel_meeting_reminder:
description: Notify host and participants when the meeting is cancelled.
type: boolean
cloud_recording_available_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify host when participants join the meeting before them.
type: boolean
schedule_for_host_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
in_meeting:
properties:
alert_guest_join:
description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
type: boolean
allow_show_zoom_windows:
description: Show Zoom windows during screen share.
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send chat message visible to all participants.
type: boolean
closed_caption:
description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
type: boolean
co_host:
description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
type: boolean
custom_data_center_regions:
description: Displays whether or not custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) have been selected for meetings/webinars hosted by this group.
type: boolean
e2e_encryption:
description: Require that all meetings are encrypted using AES.
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave.
type: string
far_end_camera_control:
description: Allow another user to take control of the camera during a meeting.
type: boolean
feedback:
description: Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
type: boolean
group_hd:
description: Enable higher quality video for host and participants. This will require more bandwidth.
type: boolean
non_verbal_feedback:
description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
type: boolean
original_audio:
description: Allow users to select original sound during a meeting.
type: boolean
polling:
description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
type: boolean
post_meeting_feedback:
description: Display end-of-meeting experience feedback survey.
type: boolean
private_chat:
description: Allow meeting participants to send a private 1:1 message to another participant.
type: boolean
remote_control:
description: During screen sharing, allow the person who is sharing to let others control the shared content.
type: boolean
remote_support:
description: Allow meeting host to provide 1:1 remote support to another participant.
type: boolean
request_permission_to_unmute:
description: Indicate whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option should be enabled and locked for the group or not.
type: boolean
screen_sharing:
description: Allow host and participants to share their screen or content during meetings.
type: boolean
sending_default_email_invites:
description: Allow users to invite participants by email only by default.
type: boolean
show_browser_join_link:
description: Allow participants to join a meeting directly from their browser.
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
stereo_audio:
description: Allow users to select stereo audio during a meeting.
type: boolean
use_html_format_email:
description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
type: boolean
virtual_background:
description: Enable virtual background.
type: boolean
waiting_room:
description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
type: object
recording:
properties:
account_user_access_recording:
description: Make cloud recordings accessible to account members only.
type: boolean
auto_delete_cmr:
description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
type: boolean
auto_recording:
description: Record meetings automatically as they start.
type: string
cloud_recording:
description: Allow hosts to record and save the meeting / webinar in the cloud.
type: boolean
cloud_recording_download:
description: Allow anyone with a link to the cloud recording to download.
type: boolean
host_delete_cloud_recording:
description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting to a local file.
type: boolean
recording_authentication:
type: string
type: object
schedule_meeting:
properties:
audio_type:
description: Determine how participants can join the audio portion of the meeting.
type: boolean
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
\ "
type: boolean
force_pmi_jbh_password:
description: If join before host option is enabled for a personal meeting, then enforce password requirement.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives
type: boolean
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
mute_upon_entry:
description: Automatically mute all participants when they join the meeting.
type: boolean
participant_video:
description: Start meetings with participant video on.
type: boolean
personal_meeting:
description: |+
Turn the lock setting on or off for the **Enable Personal Meeting ID** setting for a group.
`true`: Turn the **"Enable Personal Meeting ID"** setting **on** for all users in the group. Users can choose to use personal meeting ID for their meetings.
`false`: Turn **off** the **"Enable Personal Meeting ID"** setting. **If this setting is [disabled](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link?flash_digest=eb7ac62d8c7fb4daf285916e3e15d87537806133#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a), meetings that were scheduled with PMI by this group members will be invalid. Users will have to update previously scheduled PMI meetings.**
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
pstn_password_protected:
description: Generate and send new passwords for newly scheduled or edited meetings.
type: boolean
require_password_for_instant_meetings:
description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled.
type: boolean
require_password_for_pmi_meetings:
description: Require participants to enter password for PMI meetings.
type: boolean
require_password_for_scheduling_new_meetings:
description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting.
type: boolean
upcoming_meeting_reminder:
description: Receive desktop notification for upcoming meetings.
type: boolean
type: object
telephony:
properties:
telephony_regions:
type: boolean
third_party_audio:
description: Allow users to join the meeting using the existing 3rd party audio configuration.
type: boolean
type: object
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
multipart/form-data:
schema:
oneOf:
- properties:
email_notification:
properties:
alternative_host_reminder:
description: Notify the alternative host who is set or removed.
type: boolean
cancel_meeting_reminder:
description: Notify host and participants when the meeting is cancelled.
type: boolean
cloud_recording_available_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify host when participants join the meeting before them.
type: boolean
schedule_for_host_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
in_meeting:
properties:
alert_guest_join:
description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
type: boolean
allow_show_zoom_windows:
description: Show Zoom windows during screen share.
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send chat message visible to all participants.
type: boolean
closed_caption:
description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
type: boolean
co_host:
description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
type: boolean
custom_data_center_regions:
description: Displays whether or not custom [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) have been selected for meetings/webinars hosted by this group.
type: boolean
e2e_encryption:
description: Require that all meetings are encrypted using AES.
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave.
type: string
far_end_camera_control:
description: Allow another user to take control of the camera during a meeting.
type: boolean
feedback:
description: Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
type: boolean
group_hd:
description: Enable higher quality video for host and participants. This will require more bandwidth.
type: boolean
non_verbal_feedback:
description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
type: boolean
original_audio:
description: Allow users to select original sound during a meeting.
type: boolean
polling:
description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
type: boolean
post_meeting_feedback:
description: Display end-of-meeting experience feedback survey.
type: boolean
private_chat:
description: Allow meeting participants to send a private 1:1 message to another participant.
type: boolean
remote_control:
description: During screen sharing, allow the person who is sharing to let others control the shared content.
type: boolean
remote_support:
description: Allow meeting host to provide 1:1 remote support to another participant.
type: boolean
request_permission_to_unmute:
description: Indicate whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option should be enabled and locked for the group or not.
type: boolean
screen_sharing:
description: Allow host and participants to share their screen or content during meetings.
type: boolean
sending_default_email_invites:
description: Allow users to invite participants by email only by default.
type: boolean
show_browser_join_link:
description: Allow participants to join a meeting directly from their browser.
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
stereo_audio:
description: Allow users to select stereo audio during a meeting.
type: boolean
use_html_format_email:
description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
type: boolean
virtual_background:
description: Enable virtual background.
type: boolean
waiting_room:
description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
type: object
recording:
properties:
account_user_access_recording:
description: Make cloud recordings accessible to account members only.
type: boolean
auto_delete_cmr:
description: Allow Zoom to automatically delete recordings permanently after a specified number of days.
type: boolean
auto_recording:
description: Record meetings automatically as they start.
type: string
cloud_recording:
description: Allow hosts to record and save the meeting / webinar in the cloud.
type: boolean
cloud_recording_download:
description: Allow anyone with a link to the cloud recording to download.
type: boolean
host_delete_cloud_recording:
description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting to a local file.
type: boolean
recording_authentication:
type: string
type: object
schedule_meeting:
properties:
audio_type:
description: Determine how participants can join the audio portion of the meeting.
type: boolean
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
\ "
type: boolean
force_pmi_jbh_password:
description: If join before host option is enabled for a personal meeting, then enforce password requirement.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives
type: boolean
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
mute_upon_entry:
description: Automatically mute all participants when they join the meeting.
type: boolean
participant_video:
description: Start meetings with participant video on.
type: boolean
personal_meeting:
description: |+
Turn the lock setting on or off for the **Enable Personal Meeting ID** setting for a group.
`true`: Turn the **"Enable Personal Meeting ID"** setting **on** for all users in the group. Users can choose to use personal meeting ID for their meetings.
`false`: Turn **off** the **"Enable Personal Meeting ID"** setting. **If this setting is [disabled](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link?flash_digest=eb7ac62d8c7fb4daf285916e3e15d87537806133#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a), meetings that were scheduled with PMI by this group members will be invalid. Users will have to update previously scheduled PMI meetings.**
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
pstn_password_protected:
description: Generate and send new passwords for newly scheduled or edited meetings.
type: boolean
require_password_for_instant_meetings:
description: Require password for instant meetings. If you use PMI for your instant meetings, this option will be disabled.
type: boolean
require_password_for_pmi_meetings:
description: Require participants to enter password for PMI meetings.
type: boolean
require_password_for_scheduling_new_meetings:
description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting.
type: boolean
upcoming_meeting_reminder:
description: Receive desktop notification for upcoming meetings.
type: boolean
type: object
telephony:
properties:
telephony_regions:
type: boolean
third_party_audio:
description: Allow users to join the meeting using the existing 3rd party audio configuration.
type: boolean
type: object
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
x-examples:
application/json:
email_notification:
alternative_host_reminder: true
cancel_meeting_reminder: true
cloud_recording_available_reminder: true
jbh_reminder: true
schedule_for_host_reminder: true
in_meeting:
alert_guest_join: true
allow_show_zoom_windows: true
annotation: true
attendee_on_hold: true
auto_answer: true
auto_saving_chat: true
breakout_room: true
chat: true
closed_caption: true
co_host: true
e2e_encryption: true
entry_exit_chime: false
far_end_camera_control: true
feedback: true
group_hd: true
non_verbal_feedback: true
original_audio: true
polling: true
post_meeting_feedback: true
private_chat: true
remote_control: true
remote_support: true
screen_sharing: true
sending_default_email_invites: true
show_browser_join_link: true
show_meeting_control_toolbar: true
stereo_audio: true
use_html_format_email: true
virtual_background: true
waiting_room: true
whiteboard: true
recording:
account_user_access_recording: false
auto_delete_cmr: false
auto_recording: false
cloud_recording: false
cloud_recording_download: false
host_delete_cloud_recording: false
local_recording: false
schedule_meeting:
audio_type: true
force_pmi_jbh_password: true
host_video: true
join_before_host: true
mute_upon_entry: true
participant_video: true
pstn_password_protected: true
require_password_for_instant_meetings: false
require_password_for_pmi_meetings: true
require_password_for_scheduling_new_meetings: true
upcoming_meeting_reminder: true
telephony:
third_party_audio: false
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**Status Code:** `204`
Group's locked settings updated.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Only available for paid account.
"404":
description: |
**Status Code:** `404`
Not found.
**Error Code:** `4130`
This group does not exist.
security:
- OAuth: []
summary: Update locked settings
tags:
- Groups
"/groups/{groupId}/members":
get:
description: |-
List the members of a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) under your account.
**Prerequisite**: Pro, Business, or Education account
**Scopes**: `group:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: groupMembers
parameters:
- description: |-
The group ID.
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
in: path
name: groupId
required: true
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: |-
**Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
The page number of the current page in the returned records.
in: query
name: page_number
schema:
default: 1
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
members:
- email: ""
first_name: Ram
id: "3542342"
last_name: Ghale
type: 1
page_count: 1
page_number: 1
page_size: 1
total_records: 1
schema:
properties:
members:
items:
properties:
email:
description: User's email address.
type: string
first_name:
description: First name of the user.
type: string
id:
description: "Unique Identifier of the user. "
type: string
last_name:
description: Last name of the user.
type: string
type:
description: "User type: `1` - Basic `2` - Licensed `3` - On-prem"
type: integer
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned from this request.
type: integer
page_number:
description: The page number of the current results.
type: integer
page_size:
description: The number of records returned from a single API call.
type: integer
total_records:
description: The total number of records available across all pages.
type: integer
type: object
application/xml:
schema:
properties:
members:
items:
properties:
email:
description: User's email address.
type: string
first_name:
description: First name of the user.
type: string
id:
description: "Unique Identifier of the user. "
type: string
last_name:
description: Last name of the user.
type: string
type:
description: "User type: `1` - Basic `2` - Licensed `3` - On-prem"
type: integer
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned from this request.
type: integer
page_number:
description: The page number of the current results.
type: integer
page_size:
description: The number of records returned from a single API call.
type: integer
total_records:
description: The total number of records available across all pages.
type: integer
type: object
description: "**HTTP Status Code:** `200` Only available for paid account,{accountId}."
"404":
description: |-
**HTTP Status Code:** `404`
Not found.
**Error Code:** `4130`
A group with this {groupId} does not exist.
security:
- OAuth: []
summary: "List group members "
tags:
- Groups
post:
description: |-
Add members to a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) under your account.
**Prerequisite**: Pro, Business, or Education account
**Scopes**: `group:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: groupMembersCreate
parameters:
- description: |-
The group ID.
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
in: path
name: groupId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
members:
description: List of Group members
items:
properties:
email:
description: User email. If the user ID is given then the user email should be ignored.
type: string
id:
description: User ID.
type: string
type: object
maximum: 30
type: array
type: object
multipart/form-data:
schema:
properties:
members:
description: List of Group members
items:
properties:
email:
description: User email. If the user ID is given then the user email should be ignored.
type: string
id:
description: User ID.
type: string
type: object
maximum: 30
type: array
type: object
required: true
x-examples:
application/json:
members:
- email: memberemail@somecompany.com
id: "36565387"
responses:
"200":
description: Only available for paid account,{accountId}.
"201":
content:
application/json:
examples:
response:
value:
added_at: string [date-time]
ids: string
schema:
properties:
added_at:
format: date-time
type: string
ids:
type: string
application/xml:
schema:
properties:
added_at:
format: date-time
type: string
ids:
type: string
description: Member added.
"404":
description: |-
**Status Code:** `404`
Not found.
**Error Code:** `4130`
A group with this {groupId} does not exist.
summary: Add group members
tags:
- Groups
"/groups/{groupId}/members/{memberId}":
delete:
description: |-
Delete a member from a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-) in a Zoom account.
**Prerequisite**: Pro, Business, or Education account
**Scopes**: `group:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: groupMembersDelete
parameters:
- description: |-
The group ID.
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
in: path
name: groupId
required: true
schema:
type: string
- description: The member ID.
in: path
name: memberId
required: true
schema:
type: string
responses:
"200":
description: Only available for paid account,{accountId}.
"204":
description: Group member deleted.
"400":
description: |-
**Status Code:** `400`
Bad request.
**Error Code:** `1010`
Group does not belong to this account:{accountId}.
"404":
description: |-
**Status Code:** `404`
Not found.
**Error Code:** `4130`
A group with this {groupId} does not exist.
security:
- OAuth: []
summary: Delete a group member
tags:
- Groups
parameters:
- in: path
name: groupId
required: true
schema:
type: string
- in: path
name: memberId
required: true
schema:
type: string
patch:
description: |-
If a user is a member in multiple groups, you can [set a primary group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-#h_d07c7dcd-4fd8-485a-b5fe-a322e8d21c09) for the user. The group member will use the primary group's settings by default. However, if settings are locked in other groups, those settings will continue to be locked for that user. By default, the primary group is the first group that user is added to.
Use this API to perform either of the following tasks:
* Simultaneously remove a member from one group and move the member to a different group.
* Set a primary group for the user
**Prerequisites:**
* Pro or higher account **Scopes:** `group:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: updateAGroupMember
parameters:
- description: Unique Identifier of the group. Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API. To change a member's primary group, provide the groupId of the member's current primary group as the value of this field. To remove a member from one group and move the member to another group, provide the groupId of the group from which the member is to be moved.
in: path
name: groupId
required: true
schema:
type: string
- description: Unique Identifier of the group member. Can be retrieved by calling the [List Group Members](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groupmembers) API.
in: path
name: memberId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
action:
description: |
Specify the type of action to be performed:
`move`: Simultaneously remove a member from one group and move the member to a different group.
`set_primary`: Set a primary group for the user.
enum:
- move
- set_primary
type: string
target_group_id:
description: |-
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API.
To move a user, use this field to specify the groupId of the group where the member is to be moved.
To set a primary group for the user, provide the groupId of the group which is going to be the primary group.
type: string
required:
- action
type: object
multipart/form-data:
schema:
properties:
action:
description: |
Specify the type of action to be performed:
`move`: Simultaneously remove a member from one group and move the member to a different group.
`set_primary`: Set a primary group for the user.
enum:
- move
- set_primary
type: string
target_group_id:
description: |-
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API.
To move a user, use this field to specify the groupId of the group where the member is to be moved.
To set a primary group for the user, provide the groupId of the group which is going to be the primary group.
type: string
required:
- action
type: object
x-examples:
application/json:
action: set_primary
target_group_id: ifghhgt546pidatat
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Group member updated.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Only available for Paid account, {accountId}.
**Error Code:** `300`
The target_group_id can not be empty.
**Error Code:** `1010`
Group does not belong to this account:{accountId}.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `4130`
A group with this {groupId} does not exist.
security:
- OAuth: []
summary: Update a group member
tags:
- Groups
"/groups/{groupId}/settings":
get:
description: |-
Get settings for a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-).
**Prerequisite**: Pro, Business, or Education account
**Scopes**: `group:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: getGroupSettings
parameters:
- allowEmptyValue: true
description: |-
`meeting_authentication`: Use this query parameter to view [meeting authentication configuration](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) applied on the group. `recording_authentication`: Use this query parameter to view [recording authentication configuration](https://support.zoom.us/hc/en-us/articles/360037756671-Authentication-Profiles-for-Cloud-Recordings) applied on the group.
`meeting_security`: Use this query parameter to view meeting security settings applied on the group.
in: query
name: option
schema:
enum:
- meeting_authentication
- recording_authentication
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
email_notification:
alternative_host_reminder: true
cancel_meeting_reminder: true
cloud_recording_available_reminder: true
jbh_reminder: true
schedule_for_host_reminder: true
in_meeting:
alert_guest_join: true
allow_show_zoom_windows: true
annotation: true
attendee_on_hold: true
auto_answer: true
auto_saving_chat: true
breakout_room: false
chat: true
closed_caption: true
co_host: true
e2e_encryption: true
entry_exit_chime: all
far_end_camera_control: true
feedback: true
group_hd: true
non_verbal_feedback: true
only_host_view_device_list: false
original_audio: true
polling: true
post_meeting_feedback: true
private_chat: true
record_play_own_voice: false
remote_control: true
remote_support: true
screen_sharing: true
sending_default_email_invites: true
show_browser_join_link: true
show_device_list: false
show_meeting_control_toolbar: true
stereo_audio: true
use_html_format_email: true
virtual_background: true
waiting_room: true
whiteboard: true
recording:
account_user_access_recording: false
auto_recording: none
cloud_recording: true
cloud_recording_download: true
cloud_recording_download_host: true
host_delete_cloud_recording: true
local_recording: true
record_audio_file: true
record_gallery_view: false
record_speaker_view: true
recording_audio_transcript: false
save_chat_text: true
show_timestamp: false
schedule_meeting:
audio_type: both
force_pmi_jbh_password: true
host_video: true
join_before_host: true
mute_upon_entry: true
participant_video: true
pstn_password_protected: true
require_password_for_instant_meetings: false
require_password_for_pmi_meetings: all
require_password_for_scheduled_meetings: true
require_password_for_scheduling_new_meetings: true
upcoming_meeting_reminder: true
telephony:
audio_conference_info: "1234656"
third_party_audio: true
schema:
oneOf:
- properties:
email_notification:
properties:
alternative_host_reminder:
description: Notify the alternative host who is set or removed.
type: boolean
cancel_meeting_reminder:
description: Notify host and participants when the meeting is cancelled.
type: boolean
cloud_recording_available_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify host when participants join the meeting before them.
type: boolean
schedule_for_host_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
in_meeting:
properties:
alert_guest_join:
description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
type: boolean
allow_show_zoom_windows:
description: Show Zoom windows during screen share.
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send chat message visible to all participants.
type: boolean
closed_caption:
description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
type: boolean
co_host:
description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
type: boolean
custom_data_center_regions:
description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to be used by this group for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- EU
- HK
- AU
- IN
- TY
- CN
- US
- CA
items:
type: string
type: array
e2e_encryption:
description: Require that all meetings are encrypted using AES.
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave.
type: string
far_end_camera_control:
description: Allow another user to take control of the camera during a meeting.
type: boolean
feedback:
description: Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
type: boolean
group_hd:
description: Enable higher quality video for host and participants. This will require more bandwidth.
type: boolean
non_verbal_feedback:
description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
type: boolean
only_host_view_device_list:
description: Show the list of H.323/SIP devices only to the host.
type: boolean
original_audio:
description: Allow users to select original sound during a meeting.
type: boolean
polling:
description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
type: boolean
post_meeting_feedback:
description: Display end-of-meeting experience feedback survey.
type: boolean
private_chat:
description: Allow meeting participants to send a private 1:1 message to another participant.
type: boolean
record_play_own_voice:
description: When each participant joins by telephone, allow the option to record and play their own voice as entry and exit chimes.
type: boolean
remote_control:
description: During screen sharing, allow the person who is sharing to let others control the shared content.
type: boolean
remote_support:
description: Allow meeting host to provide 1:1 remote support to another participant.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the group or not.
type: boolean
screen_sharing:
description: Allow host and participants to share their screen or content during meetings.
type: boolean
sending_default_email_invites:
description: Allow users to invite participants by email only by default.
type: boolean
show_browser_join_link:
description: Allow participants to join a meeting directly from their browser.
type: boolean
show_device_list:
description: Show the list of H.323/SIP devices.
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
stereo_audio:
description: Allow users to select stereo audio during a meeting.
type: boolean
use_html_format_email:
description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
type: boolean
virtual_background:
description: Enable virtual background.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow users to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
waiting_room:
description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
properties:
account_user_access_recording:
description: Make cloud recordings accessible to account members only.
type: boolean
archive:
description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted archiving solution access by the Zoom Support team."
properties:
enable:
description: Enable the archiving feature.
type: boolean
settings:
properties:
audio_file:
description: Include in-meeting and/or in-webinar audio in the archive.
type: boolean
cc_transcript_file:
description: Include closed caption or transcript in the archive.
type: boolean
chat_file:
description: Include in-meeting chat in the archive.
type: boolean
chat_with_sender_email:
description: Include user email in in-meeting chat file.
type: boolean
video_file:
description: Include in-meeting and/or in-webinar video in the archive.
type: boolean
type: object
type:
description: |-
Archive types:
* `1`: Only meetings are archived.
* `2`: Only webinars are archived.
* `3`: Both meetings and webinars are archived.
enum:
- 1
- 2
- 3
type: integer
type: object
auto_recording:
description: Record meetings automatically as they start.
type: string
cloud_recording:
description: Allow hosts to record and save the meeting / webinar in the cloud.
type: boolean
cloud_recording_download:
description: Allow anyone with a link to the cloud recording to download.
type: boolean
cloud_recording_download_host:
description: Allow only the host with a link to the cloud recording to download.
type: boolean
host_delete_cloud_recording:
description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting to a local file.
type: boolean
prevent_host_access_recording:
description: |+
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
record_audio_file:
description: Record an audio only file.
type: boolean
record_gallery_view:
description: When someone is sharing their screen, active speaker will show on the top right corner of the shared screen.
type: boolean
record_speaker_view:
description: Record active speaker with shared screen.
type: boolean
recording_audio_transcript:
description: Automatically transcribe the audio of a meeting or webinar for cloud recordings.
type: boolean
save_chat_text:
description: Save chat messages from the meeting / webinar.
type: boolean
show_timestamp:
description: Add a timestamp to the recording.
type: boolean
type: object
schedule_meeting:
properties:
audio_type:
description: Determine how participants can join the audio portion of the meeting.
type: string
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
\ "
type: boolean
force_pmi_jbh_password:
description: |+
If join before host option is enabled for a personal meeting, then enforce password requirement.
**This field will be deprecated in near future.** If you would like to enable this setting, we highly encourage you to use the `require_password_for_pmi_meetings` field.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives
type: boolean
mute_upon_entry:
description: Automatically mute all participants when they join the meeting.
type: boolean
participant_video:
description: Start meetings with participant video on.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
pstn_password_protected:
description: Generate and send new passwords for newly scheduled or edited meetings.
type: boolean
require_password_for_instant_meetings:
description: If enabled, a random password will be generated on the user's end who starts the instant meeting. Other participants will have to enter the password to join the meeting. If you use PMI for your instant meetings, this option will be disabled.
type: boolean
require_password_for_pmi_meetings:
description: |-
Indicates whether a password is required for [PMI](https://support.zoom.us/hc/en-us/articles/203276937-Using-Personal-Meeting-ID-PMI-) meetings or not. The value can be one of the following:
`none`: Do not require password for PMI meetings.
`all`: Require participants to enter password for all PMI enabled meetings. `jbh_only`: Require password only for meetings where the **"join before host"** setting is enabled.
enum:
- all
- jbh_only
- none
type: string
require_password_for_scheduled_meetings:
description: |
Require a password for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting.
type: boolean
upcoming_meeting_reminder:
description: Receive desktop notification for upcoming meetings.
type: boolean
use_pmi_for_instant_meetings:
description: Indicates whether PMI is enabled for all instant meetings or not.
type: boolean
use_pmi_for_schedule_meetings:
description: Indicates whether PMI is enabled for all scheduled meetings or not.
type: boolean
type: object
telephony:
properties:
audio_conference_info:
description: ""
type: string
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Allow users to join the meeting using the existing 3rd party audio configuration.
type: boolean
type: object
type: object
- oneOf:
- properties:
authentication_options:
description: Meeting Authentication Options
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domains
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
- properties:
authentication_options:
description: Authentication Options
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: Authentication type
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
application/xml:
schema:
oneOf:
- properties:
email_notification:
properties:
alternative_host_reminder:
description: Notify the alternative host who is set or removed.
type: boolean
cancel_meeting_reminder:
description: Notify host and participants when the meeting is cancelled.
type: boolean
cloud_recording_available_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify host when participants join the meeting before them.
type: boolean
schedule_for_host_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
in_meeting:
properties:
alert_guest_join:
description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
type: boolean
allow_show_zoom_windows:
description: Show Zoom windows during screen share.
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send chat message visible to all participants.
type: boolean
closed_caption:
description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
type: boolean
co_host:
description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
type: boolean
custom_data_center_regions:
description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to be used by this group for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- EU
- HK
- AU
- IN
- TY
- CN
- US
- CA
items:
type: string
type: array
e2e_encryption:
description: Require that all meetings are encrypted using AES.
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave.
type: string
far_end_camera_control:
description: Allow another user to take control of the camera during a meeting.
type: boolean
feedback:
description: Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
type: boolean
group_hd:
description: Enable higher quality video for host and participants. This will require more bandwidth.
type: boolean
non_verbal_feedback:
description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
type: boolean
only_host_view_device_list:
description: Show the list of H.323/SIP devices only to the host.
type: boolean
original_audio:
description: Allow users to select original sound during a meeting.
type: boolean
polling:
description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
type: boolean
post_meeting_feedback:
description: Display end-of-meeting experience feedback survey.
type: boolean
private_chat:
description: Allow meeting participants to send a private 1:1 message to another participant.
type: boolean
record_play_own_voice:
description: When each participant joins by telephone, allow the option to record and play their own voice as entry and exit chimes.
type: boolean
remote_control:
description: During screen sharing, allow the person who is sharing to let others control the shared content.
type: boolean
remote_support:
description: Allow meeting host to provide 1:1 remote support to another participant.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the group or not.
type: boolean
screen_sharing:
description: Allow host and participants to share their screen or content during meetings.
type: boolean
sending_default_email_invites:
description: Allow users to invite participants by email only by default.
type: boolean
show_browser_join_link:
description: Allow participants to join a meeting directly from their browser.
type: boolean
show_device_list:
description: Show the list of H.323/SIP devices.
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
stereo_audio:
description: Allow users to select stereo audio during a meeting.
type: boolean
use_html_format_email:
description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
type: boolean
virtual_background:
description: Enable virtual background.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow users to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
waiting_room:
description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
properties:
account_user_access_recording:
description: Make cloud recordings accessible to account members only.
type: boolean
archive:
description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted archiving solution access by the Zoom Support team."
properties:
enable:
description: Enable the archiving feature.
type: boolean
settings:
properties:
audio_file:
description: Include in-meeting and/or in-webinar audio in the archive.
type: boolean
cc_transcript_file:
description: Include closed caption or transcript in the archive.
type: boolean
chat_file:
description: Include in-meeting chat in the archive.
type: boolean
chat_with_sender_email:
description: Include user email in in-meeting chat file.
type: boolean
video_file:
description: Include in-meeting and/or in-webinar video in the archive.
type: boolean
type: object
type:
description: |-
Archive types:
* `1`: Only meetings are archived.
* `2`: Only webinars are archived.
* `3`: Both meetings and webinars are archived.
enum:
- 1
- 2
- 3
type: integer
type: object
auto_recording:
description: Record meetings automatically as they start.
type: string
cloud_recording:
description: Allow hosts to record and save the meeting / webinar in the cloud.
type: boolean
cloud_recording_download:
description: Allow anyone with a link to the cloud recording to download.
type: boolean
cloud_recording_download_host:
description: Allow only the host with a link to the cloud recording to download.
type: boolean
host_delete_cloud_recording:
description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting to a local file.
type: boolean
prevent_host_access_recording:
description: |+
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
record_audio_file:
description: Record an audio only file.
type: boolean
record_gallery_view:
description: When someone is sharing their screen, active speaker will show on the top right corner of the shared screen.
type: boolean
record_speaker_view:
description: Record active speaker with shared screen.
type: boolean
recording_audio_transcript:
description: Automatically transcribe the audio of a meeting or webinar for cloud recordings.
type: boolean
save_chat_text:
description: Save chat messages from the meeting / webinar.
type: boolean
show_timestamp:
description: Add a timestamp to the recording.
type: boolean
type: object
schedule_meeting:
properties:
audio_type:
description: Determine how participants can join the audio portion of the meeting.
type: string
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
\ "
type: boolean
force_pmi_jbh_password:
description: |+
If join before host option is enabled for a personal meeting, then enforce password requirement.
**This field will be deprecated in near future.** If you would like to enable this setting, we highly encourage you to use the `require_password_for_pmi_meetings` field.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives
type: boolean
mute_upon_entry:
description: Automatically mute all participants when they join the meeting.
type: boolean
participant_video:
description: Start meetings with participant video on.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
pstn_password_protected:
description: Generate and send new passwords for newly scheduled or edited meetings.
type: boolean
require_password_for_instant_meetings:
description: If enabled, a random password will be generated on the user's end who starts the instant meeting. Other participants will have to enter the password to join the meeting. If you use PMI for your instant meetings, this option will be disabled.
type: boolean
require_password_for_pmi_meetings:
description: |-
Indicates whether a password is required for [PMI](https://support.zoom.us/hc/en-us/articles/203276937-Using-Personal-Meeting-ID-PMI-) meetings or not. The value can be one of the following:
`none`: Do not require password for PMI meetings.
`all`: Require participants to enter password for all PMI enabled meetings. `jbh_only`: Require password only for meetings where the **"join before host"** setting is enabled.
enum:
- all
- jbh_only
- none
type: string
require_password_for_scheduled_meetings:
description: |
Require a password for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting.
type: boolean
upcoming_meeting_reminder:
description: Receive desktop notification for upcoming meetings.
type: boolean
use_pmi_for_instant_meetings:
description: Indicates whether PMI is enabled for all instant meetings or not.
type: boolean
use_pmi_for_schedule_meetings:
description: Indicates whether PMI is enabled for all scheduled meetings or not.
type: boolean
type: object
telephony:
properties:
audio_conference_info:
description: ""
type: string
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Allow users to join the meeting using the existing 3rd party audio configuration.
type: boolean
type: object
type: object
- oneOf:
- properties:
authentication_options:
description: Meeting Authentication Options
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domains
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
- properties:
authentication_options:
description: Authentication Options
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: Authentication type
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
description: |
**Error Code**: `200`
Only available for paid account.
**HTTP Status Code**: `200`
Group Settings Returned.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `4130`
Group does not exist: {groupId}.
security:
- OAuth: []
summary: Get a group's settings
tags:
- Groups
parameters:
- in: path
name: groupId
required: true
schema:
type: string
- description: |-
Provide the name of the field by which you would like to filter the response. For example, if you provide "host_video" as the value of this field, you will get a response similar to the following:
{
"schedule_meeting": {
"host_video": false
}
}
You can provide multiple values by separating them with commas(example: "host_video,participant_video”).
in: query
name: custom_query_fields
schema:
type: string
patch:
description: |-
Update settings for a [group](https://support.zoom.us/hc/en-us/articles/204519819-Group-Management-).
Note: The `force_pmi_jbh_password` field under meeting settings is planned to be deprecated on September 22, 2019. This field will be replaced by another field that will provide the same functionality.
**Prerequisite**: Pro, Business, or Education account
**Scopes**: `group:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: updateGroupSettings
parameters:
- description: Id of the group.
in: path
name: groupId
required: true
schema:
type: string
- allowEmptyValue: true
in: query
name: option
schema:
enum:
- meeting_authentication
- recording_authentication
- meeting_security
type: string
requestBody:
content:
application/json:
schema:
oneOf:
- properties:
email_notification:
properties:
alternative_host_reminder:
description: Notify the alternative host who is set or removed.
type: boolean
cancel_meeting_reminder:
description: Notify host and participants when the meeting is cancelled.
type: boolean
cloud_recording_available_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify host when participants join the meeting before them.
type: boolean
schedule_for_host_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
in_meeting:
properties:
alert_guest_join:
description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
type: boolean
allow_show_zoom_windows:
description: Show Zoom windows during screen share.
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send chat message visible to all participants.
type: boolean
closed_caption:
description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
type: boolean
co_host:
description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
type: boolean
custom_data_center_regions:
description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to be used by this group for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- EU
- HK
- AU
- IN
- TY
- CN
- US
- CA
items:
type: string
type: array
e2e_encryption:
description: Require that all meetings are encrypted using AES.
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave.
type: string
far_end_camera_control:
description: Allow another user to take control of the camera during a meeting.
type: boolean
feedback:
description: Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
type: boolean
group_hd:
description: Enable higher quality video for host and participants. This will require more bandwidth.
type: boolean
non_verbal_feedback:
description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
type: boolean
only_host_view_device_list:
description: Show the list of H.323/SIP devices only to the host.
type: boolean
original_audio:
description: Allow users to select original sound during a meeting.
type: boolean
polling:
description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
type: boolean
post_meeting_feedback:
description: Display end-of-meeting experience feedback survey.
type: boolean
private_chat:
description: Allow meeting participants to send a private 1:1 message to another participant.
type: boolean
record_play_own_voice:
description: When each participant joins by telephone, allow the option to record and play their own voice as entry and exit chimes.
type: boolean
remote_control:
description: During screen sharing, allow the person who is sharing to let others control the shared content.
type: boolean
remote_support:
description: Allow meeting host to provide 1:1 remote support to another participant.
type: boolean
request_permission_to_unmute:
description: Indicate whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option should be enabled for the group or not.
type: boolean
screen_sharing:
description: Allow host and participants to share their screen or content during meetings.
type: boolean
sending_default_email_invites:
description: Allow users to invite participants by email only by default.
type: boolean
show_browser_join_link:
description: Allow participants to join a meeting directly from their browser.
type: boolean
show_device_list:
description: Show the list of H.323/SIP devices.
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
stereo_audio:
description: Allow users to select stereo audio during a meeting.
type: boolean
use_html_format_email:
description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
type: boolean
virtual_background:
description: Enable virtual background.
type: boolean
waiting_room:
description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
properties:
account_user_access_recording:
description: Make cloud recordings accessible to account members only.
type: boolean
archive:
description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted archiving solution access by the Zoom Support team."
properties:
enable:
description: Enable the archiving feature.
type: boolean
settings:
properties:
audio_file:
description: Include in-meeting and/or in-webinar audio in the archive.
type: boolean
cc_transcript_file:
description: Include closed caption or transcript in the archive.
type: boolean
chat_file:
description: Include in-meeting chat in the archive.
type: boolean
chat_with_sender_email:
description: Include user email in in-meeting chat file.
type: boolean
video_file:
description: Include in-meeting and/or in-webinar video in the archive.
type: boolean
type: object
type:
description: |-
Archive types:
* `1`: Only meetings are archived.
* `2`: Only webinars are archived.
* `3`: Both meetings and webinars are archived.
enum:
- 1
- 2
- 3
type: integer
type: object
auto_recording:
description: Record meetings automatically as they start.
type: string
cloud_recording:
description: Allow hosts to record and save the meeting / webinar in the cloud.
type: boolean
cloud_recording_download:
description: Allow anyone with a link to the cloud recording to download.
type: boolean
cloud_recording_download_host:
description: Allow only the host with a link to the cloud recording to download.
type: boolean
host_delete_cloud_recording:
description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting to a local file.
type: boolean
prevent_host_access_recording:
description: |+
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
record_audio_file:
description: Record an audio only file.
type: boolean
record_gallery_view:
description: When someone is sharing their screen, active speaker will show on the top right corner of the shared screen.
type: boolean
record_speaker_view:
description: Record active speaker with shared screen.
type: boolean
recording_audio_transcript:
description: Automatically transcribe the audio of a meeting or webinar for cloud recordings.
type: boolean
save_chat_text:
description: Save chat messages from the meeting / webinar.
type: boolean
show_timestamp:
description: Add a timestamp to the recording.
type: boolean
type: object
schedule_meeting:
properties:
audio_type:
description: Determine how participants can join the audio portion of the meeting.
type: string
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
\ "
type: boolean
force_pmi_jbh_password:
description: If join before host option is enabled for a personal meeting, then enforce password requirement.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives
type: boolean
mute_upon_entry:
description: Automatically mute all participants when they join the meeting.
type: boolean
participant_video:
description: Start meetings with participant video on.
type: boolean
pstn_password_protected:
description: Generate and send new passwords for newly scheduled or edited meetings.
type: boolean
require_password_for_all_meetings:
description: Require password from all participants before joining a meeting.
type: boolean
require_password_for_instant_meetings:
description: If enabled, a random password will be generated on the user's end who starts the instant meeting. Other participants will have to enter the password to join the meeting. If you use PMI for your instant meetings, this option will be disabled.
type: boolean
require_password_for_pmi_meetings:
description: |-
Indicates whether a password is required for [PMI](https://support.zoom.us/hc/en-us/articles/203276937-Using-Personal-Meeting-ID-PMI-) meetings or not. The value can be one of the following:
`none`: Do not require password for PMI meetings.
`all`: Require participants to enter password for all PMI enabled meetings. `jbh_only`: Require password only for meetings where the **"join before host"** setting is enabled.
enum:
- all
- jbh_only
- none
type: string
require_password_for_scheduled_meetings:
description: |
Require a password for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: "This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. "
type: boolean
upcoming_meeting_reminder:
description: Receive desktop notification for upcoming meetings.
type: boolean
type: object
telephony:
properties:
audio_conference_info:
description: ""
type: string
third_party_audio:
description: Allow users to join the meeting using the existing 3rd party audio configuration.
type: boolean
type: object
type: object
- oneOf:
- properties:
authentication_option:
description: Meeting Authentication Options
properties:
action:
description: Authentication action
enum:
- update
- show
- hide
type: string
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domains
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
type: object
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
- properties:
authentication_option:
description: Authentication Options
properties:
action:
description: Authentication action
enum:
- update
- show
- hide
type: string
default_option:
description: Authentication default option
type: boolean
domians:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: Authentication type
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
type: object
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
title: GroupSettingsAuthenticationUpdate
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
multipart/form-data:
schema:
oneOf:
- properties:
email_notification:
properties:
alternative_host_reminder:
description: Notify the alternative host who is set or removed.
type: boolean
cancel_meeting_reminder:
description: Notify host and participants when the meeting is cancelled.
type: boolean
cloud_recording_available_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify host when participants join the meeting before them.
type: boolean
schedule_for_host_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
in_meeting:
properties:
alert_guest_join:
description: Allow participants who belong to your account to see that a guest (someone who does not belong to your account) is participating in the meeting/webinar.
type: boolean
allow_show_zoom_windows:
description: Show Zoom windows during screen share.
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to 'auto-answer group' in the contact list on chat. Any call from members of this group will be automatically answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send chat message visible to all participants.
type: boolean
closed_caption:
description: Allow host to type closed captions or assign a participant/third party device to add closed captions.
type: boolean
co_host:
description: Allow the host to add co-hosts. Co-hosts have the same in-meeting controls as the host.
type: boolean
custom_data_center_regions:
description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to be used by this group for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- EU
- HK
- AU
- IN
- TY
- CN
- US
- CA
items:
type: string
type: array
e2e_encryption:
description: Require that all meetings are encrypted using AES.
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave.
type: string
far_end_camera_control:
description: Allow another user to take control of the camera during a meeting.
type: boolean
feedback:
description: Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the users in the group or not.
type: boolean
group_hd:
description: Enable higher quality video for host and participants. This will require more bandwidth.
type: boolean
non_verbal_feedback:
description: Allow participants in a meeting can provide nonverbal feedback and express opinions by clicking on icons in the Participants panel.
type: boolean
only_host_view_device_list:
description: Show the list of H.323/SIP devices only to the host.
type: boolean
original_audio:
description: Allow users to select original sound during a meeting.
type: boolean
polling:
description: Add 'Polls' to the meeting controls. This allows the host to survey the attendees.
type: boolean
post_meeting_feedback:
description: Display end-of-meeting experience feedback survey.
type: boolean
private_chat:
description: Allow meeting participants to send a private 1:1 message to another participant.
type: boolean
record_play_own_voice:
description: When each participant joins by telephone, allow the option to record and play their own voice as entry and exit chimes.
type: boolean
remote_control:
description: During screen sharing, allow the person who is sharing to let others control the shared content.
type: boolean
remote_support:
description: Allow meeting host to provide 1:1 remote support to another participant.
type: boolean
request_permission_to_unmute:
description: Indicate whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option should be enabled for the group or not.
type: boolean
screen_sharing:
description: Allow host and participants to share their screen or content during meetings.
type: boolean
sending_default_email_invites:
description: Allow users to invite participants by email only by default.
type: boolean
show_browser_join_link:
description: Allow participants to join a meeting directly from their browser.
type: boolean
show_device_list:
description: Show the list of H.323/SIP devices.
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
stereo_audio:
description: Allow users to select stereo audio during a meeting.
type: boolean
use_html_format_email:
description: Allow HTML formatting instead of plain text for meeting invitations scheduled with the Outlook plugin.
type: boolean
virtual_background:
description: Enable virtual background.
type: boolean
waiting_room:
description: Attendees cannot join a meeting until a host admits them individually from the waiting room.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
properties:
account_user_access_recording:
description: Make cloud recordings accessible to account members only.
type: boolean
archive:
description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted archiving solution access by the Zoom Support team."
properties:
enable:
description: Enable the archiving feature.
type: boolean
settings:
properties:
audio_file:
description: Include in-meeting and/or in-webinar audio in the archive.
type: boolean
cc_transcript_file:
description: Include closed caption or transcript in the archive.
type: boolean
chat_file:
description: Include in-meeting chat in the archive.
type: boolean
chat_with_sender_email:
description: Include user email in in-meeting chat file.
type: boolean
video_file:
description: Include in-meeting and/or in-webinar video in the archive.
type: boolean
type: object
type:
description: |-
Archive types:
* `1`: Only meetings are archived.
* `2`: Only webinars are archived.
* `3`: Both meetings and webinars are archived.
enum:
- 1
- 2
- 3
type: integer
type: object
auto_recording:
description: Record meetings automatically as they start.
type: string
cloud_recording:
description: Allow hosts to record and save the meeting / webinar in the cloud.
type: boolean
cloud_recording_download:
description: Allow anyone with a link to the cloud recording to download.
type: boolean
cloud_recording_download_host:
description: Allow only the host with a link to the cloud recording to download.
type: boolean
host_delete_cloud_recording:
description: Allow the host to delete the recordings. If this option is disabled, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting to a local file.
type: boolean
prevent_host_access_recording:
description: |+
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
record_audio_file:
description: Record an audio only file.
type: boolean
record_gallery_view:
description: When someone is sharing their screen, active speaker will show on the top right corner of the shared screen.
type: boolean
record_speaker_view:
description: Record active speaker with shared screen.
type: boolean
recording_audio_transcript:
description: Automatically transcribe the audio of a meeting or webinar for cloud recordings.
type: boolean
save_chat_text:
description: Save chat messages from the meeting / webinar.
type: boolean
show_timestamp:
description: Add a timestamp to the recording.
type: boolean
type: object
schedule_meeting:
properties:
audio_type:
description: Determine how participants can join the audio portion of the meeting.
type: string
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting password will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the password.
\ "
type: boolean
force_pmi_jbh_password:
description: If join before host option is enabled for a personal meeting, then enforce password requirement.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives
type: boolean
mute_upon_entry:
description: Automatically mute all participants when they join the meeting.
type: boolean
participant_video:
description: Start meetings with participant video on.
type: boolean
pstn_password_protected:
description: Generate and send new passwords for newly scheduled or edited meetings.
type: boolean
require_password_for_all_meetings:
description: Require password from all participants before joining a meeting.
type: boolean
require_password_for_instant_meetings:
description: If enabled, a random password will be generated on the user's end who starts the instant meeting. Other participants will have to enter the password to join the meeting. If you use PMI for your instant meetings, this option will be disabled.
type: boolean
require_password_for_pmi_meetings:
description: |-
Indicates whether a password is required for [PMI](https://support.zoom.us/hc/en-us/articles/203276937-Using-Personal-Meeting-ID-PMI-) meetings or not. The value can be one of the following:
`none`: Do not require password for PMI meetings.
`all`: Require participants to enter password for all PMI enabled meetings. `jbh_only`: Require password only for meetings where the **"join before host"** setting is enabled.
enum:
- all
- jbh_only
- none
type: string
require_password_for_scheduled_meetings:
description: |
Require a password for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: "This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. "
type: boolean
upcoming_meeting_reminder:
description: Receive desktop notification for upcoming meetings.
type: boolean
type: object
telephony:
properties:
audio_conference_info:
description: ""
type: string
third_party_audio:
description: Allow users to join the meeting using the existing 3rd party audio configuration.
type: boolean
type: object
type: object
- oneOf:
- properties:
authentication_option:
description: Meeting Authentication Options
properties:
action:
description: Authentication action
enum:
- update
- show
- hide
type: string
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domains
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
type: object
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
- properties:
authentication_option:
description: Authentication Options
properties:
action:
description: Authentication action
enum:
- update
- show
- hide
type: string
default_option:
description: Authentication default option
type: boolean
domians:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: Authentication type
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
type: object
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
title: GroupSettingsAuthenticationUpdate
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
x-examples:
application/json:
email_notification:
alternative_host_reminder: true
cancel_meeting_reminder: true
cloud_recording_available_reminder: true
jbh_reminder: true
schedule_for_host_reminder: true
in_meeting:
alert_guest_join: true
allow_show_zoom_windows: true
annotation: true
attendee_on_hold: true
auto_answer: true
auto_saving_chat: true
breakout_room: false
chat: true
closed_caption: true
co_host: true
e2e_encryption: true
entry_exit_chime: all
far_end_camera_control: true
feedback: true
group_hd: true
non_verbal_feedback: true
only_host_view_device_list: false
original_audio: true
polling: true
post_meeting_feedback: true
private_chat: true
record_play_own_voice: false
remote_control: true
remote_support: true
screen_sharing: true
sending_default_email_invites: true
show_browser_join_link: true
show_device_list: false
show_meeting_control_toolbar: true
stereo_audio: true
use_html_format_email: true
virtual_background: true
waiting_room: true
whiteboard: true
recording:
account_user_access_recording: false
auto_recording: none
cloud_recording: true
cloud_recording_download: true
cloud_recording_download_host: true
host_delete_cloud_recording: true
local_recording: true
record_audio_file: true
record_gallery_view: false
record_speaker_view: true
recording_audio_transcript: false
save_chat_text: true
show_timestamp: false
schedule_meeting:
audio_type: both
force_pmi_jbh_password: true
host_video: true
join_before_host: true
mute_upon_entry: true
participant_video: true
pstn_password_protected: true
require_password_for_all_meetings: false
require_password_for_instant_meetings: false
require_password_for_pmi_meetings: all
require_password_for_scheduled_meetings: true
require_password_for_scheduling_new_meetings: true
upcoming_meeting_reminder: true
telephony:
audio_conference_info: "1234656"
third_party_audio: true
responses:
"200":
description: |-
**Error code:** `200`
Only available for Paid account, {accountId}
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204`
Settings updated successfully.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `4130`
Group does not exist: {groupId}.
summary: Update a group's settings
tags:
- Groups
"/groups/{groupId}/settings/virtual_backgrounds":
delete:
description: |+
Delete existing virtual background file(s) from an account.
**Prerequisites:**
* Virtual background feature must be [enabled](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_2ef28080-fce9-4ac2-b567-dc958afab1b7) on the account.
**Scope:** `group:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: delGroupVB
parameters:
- description: Unique identifier of the group. Retrieve the value for this field by calling the [List groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API.
in: path
name: groupId
required: true
schema:
type: string
- description: Provide the id of the file that is to be deleted. To delete multiple files, provide comma separated values for this field.
in: query
name: file_ids
schema:
type: string
responses:
"204":
description: |
**HTTP Status Code:** `204` **No Content**
Deleted.
"400":
description: |
**HTTP Status Code:** `400` **Bad request**
**Error Code:** `300`
Invalid parameter: file_ids.
Group member not found.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `4130`
A group with this {groupId} does not exist.
summary: Delete virtual background files
tags:
- Groups
parameters:
- description: Provide the id of the file that is to be deleted. To delete multiple files, provide comma separated values for this field.
in: query
name: file_ids
schema:
type: string
- in: path
name: groupId
required: true
schema:
type: string
post:
description: |-
Use this API to [upload virtual background files](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_01EJF3YFEWGT8YA0ZJ079JEDQE) for all users in a group to use.
**Prerequisites:**
* Virtual background feature must be [enabled](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_2ef28080-fce9-4ac2-b567-dc958afab1b7) on the account.
**Scope:** `group:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
`
operationId: uploadGroupVB
parameters:
- description: Unique identifier of the group. Retrieve the value for this field by calling the [List groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API.
in: path
name: groupId
required: true
schema:
type: string
requestBody:
$ref: "#/components/requestBodies/uploadVB"
responses:
"201":
content:
application/json:
examples:
response:
value:
id: _Tcj7354w6eHw
is_default: false
name: u=mdbhhfg3y7&fm=2fdjs0.jpg
size: 53434
type: image
schema:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicate whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
application/xml:
schema:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicate whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
description: |
**HTTP Status Code:** `201` **Created**
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `120`
No file uploaded, verify that a file has been uploaded.
File size cannot exceed 15M.
A maximum of 10 files are allowed for a user.
Only jpg/jpeg or png image file can be uploaded.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User not exist.
User {email} not exist or not belong to this account.
summary: Upload virtual background files
tags:
- Groups
/h323/devices:
get:
description: |-
A H.323 or SIP device can make a video call to a [Room Connector](https://support.zoom.us/hc/en-us/articles/201363273-Getting-Started-With-H-323-SIP-Room-Connector) to join a Zoom cloud meeting. A Room Connector can also call out to a H.323 or SIP device to join a Zoom cloud meeting. Use this API to list all H.323/SIP Devices on a Zoom account.
**Scopes:** `h323:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: deviceList
parameters:
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: |-
**Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
The page number of the current page in the returned records.
in: query
name: page_number
schema:
default: 1
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
devices:
- encryption: auto
id: abceHewahkrehwiK
ip: 127.0.0.1
name: api_test_20190508
protocol: H.323
page_count: 1
page_number: 1
page_size: 1
total_records: 1
schema:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
devices:
description: List of H.323/SIP Device objects.
items:
allOf:
- properties:
id:
description: Device ID.
type: string
type: object
- description: The H.323/SIP device object.
properties:
encryption:
description: Device encryption: `auto` - auto. `yes` - yes. `no` - no.
enum:
- auto
- yes
- no
type: string
x-enum-descriptions:
- auto
- yes
- no
ip:
description: Device IP.
type: string
name:
description: Device name.
maxLength: 64
type: string
protocol:
description: Device protocol: `H.323` - H.323. `SIP` - SIP.
enum:
- H.323
- SIP
type: string
x-enum-descriptions:
- H.323
- SIP
required:
- name
- protocol
- ip
- encryption
title: The H.323/SIP device object.
type: object
type: array
description: List of H.323/SIP Devices.
title: H.323/SIP Device List
type: object
application/xml:
schema:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
devices:
description: List of H.323/SIP Device objects.
items:
allOf:
- properties:
id:
description: Device ID.
type: string
type: object
- description: The H.323/SIP device object.
properties:
encryption:
description: Device encryption: `auto` - auto. `yes` - yes. `no` - no.
enum:
- auto
- yes
- no
type: string
x-enum-descriptions:
- auto
- yes
- no
ip:
description: Device IP.
type: string
name:
description: Device name.
maxLength: 64
type: string
protocol:
description: Device protocol: `H.323` - H.323. `SIP` - SIP.
enum:
- H.323
- SIP
type: string
x-enum-descriptions:
- H.323
- SIP
required:
- name
- protocol
- ip
- encryption
title: The H.323/SIP device object.
type: object
type: array
description: List of H.323/SIP Devices.
title: H.323/SIP Device List
type: object
description: |-
**HTTP Status Code:** `200`
List of H.323/SIP devices returned.
**Error Code:** `200`
No permission.
security:
- OAuth: []
summary: List H.323/SIP devices
tags:
- Devices
post:
description: |-
A H.323 or SIP device can make a video call to a [Room Connector](https://support.zoom.us/hc/en-us/articles/201363273-Getting-Started-With-H-323-SIP-Room-Connector) to join a Zoom cloud meeting. A Room Connector can also call out to a H.323 or SIP device to join a Zoom cloud meeting. Use this API to add a H.323/SIP device to your Zoom account
**Scopes:** `h323:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deviceCreate
requestBody:
content:
application/json:
schema:
description: The H.323/SIP device object.
properties:
encryption:
description: Device encryption: `auto` - auto. `yes` - yes. `no` - no.
enum:
- auto
- yes
- no
type: string
x-enum-descriptions:
- auto
- yes
- no
ip:
description: Device IP.
type: string
name:
description: Device name.
maxLength: 64
type: string
protocol:
description: Device protocol: `H.323` - H.323. `SIP` - SIP.
enum:
- H.323
- SIP
type: string
x-enum-descriptions:
- H.323
- SIP
required:
- name
- protocol
- ip
- encryption
title: The H.323/SIP device object.
type: object
multipart/form-data:
schema:
description: The H.323/SIP device object.
properties:
encryption:
description: Device encryption: `auto` - auto. `yes` - yes. `no` - no.
enum:
- auto
- yes
- no
type: string
x-enum-descriptions:
- auto
- yes
- no
ip:
description: Device IP.
type: string
name:
description: Device name.
maxLength: 64
type: string
protocol:
description: Device protocol: `H.323` - H.323. `SIP` - SIP.
enum:
- H.323
- SIP
type: string
x-enum-descriptions:
- H.323
- SIP
required:
- name
- protocol
- ip
- encryption
title: The H.323/SIP device object.
type: object
description: H.323/SIP device.
required: true
x-examples:
application/json:
encryption: auto
ip: 127.0.0.1
name: api_test
protocol: H.323
responses:
"200":
description: |-
**Error Code:** `200`
No permission.
"201":
content:
application/json:
examples:
response:
value:
encryption: string
id: string
ip: string
name: string
protocol: string
schema:
allOf:
- properties:
id:
description: Device ID.
type: string
type: object
- description: The H.323/SIP device object.
properties:
encryption:
description: Device encryption: `auto` - auto. `yes` - yes. `no` - no.
enum:
- auto
- yes
- no
type: string
x-enum-descriptions:
- auto
- yes
- no
ip:
description: Device IP.
type: string
name:
description: Device name.
maxLength: 64
type: string
protocol:
description: Device protocol: `H.323` - H.323. `SIP` - SIP.
enum:
- H.323
- SIP
type: string
x-enum-descriptions:
- H.323
- SIP
required:
- name
- protocol
- ip
- encryption
title: The H.323/SIP device object.
type: object
application/xml:
schema:
allOf:
- properties:
id:
description: Device ID.
type: string
type: object
- description: The H.323/SIP device object.
properties:
encryption:
description: Device encryption: `auto` - auto. `yes` - yes. `no` - no.
enum:
- auto
- yes
- no
type: string
x-enum-descriptions:
- auto
- yes
- no
ip:
description: Device IP.
type: string
name:
description: Device name.
maxLength: 64
type: string
protocol:
description: Device protocol: `H.323` - H.323. `SIP` - SIP.
enum:
- H.323
- SIP
type: string
x-enum-descriptions:
- H.323
- SIP
required:
- name
- protocol
- ip
- encryption
title: The H.323/SIP device object.
type: object
description: |-
**HTTP Status Code:** `201`
H.323/SIP device created.
headers:
Content-Location:
description: Location of created device
schema:
type: string
"404":
description: |
**HTTP Status Code:** `404`
**Error Code:** `2020`
H.323 device's display name:{displayName} is already in use.
security:
- OAuth: []
summary: Create a H.323/SIP device
tags:
- Devices
"/h323/devices/{deviceId}":
delete:
description: |-
A H.323 or SIP device can make a video call to a [Room Connector](https://support.zoom.us/hc/en-us/articles/201363273-Getting-Started-With-H-323-SIP-Room-Connector) to join a Zoom cloud meeting. A Room Connector can also call out to a H.323 or SIP device to join a Zoom cloud meeting. Use this API to delete a H.323/SIP device from your Zoom account.
**Scopes:** `h323:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deviceDelete
parameters:
- description: The device ID.
in: path
name: deviceId
required: true
schema:
type: string
responses:
"200":
description: You do not have the permission to delete this device.
"204":
description: H.323/SIP device deleted.
"300":
description: "H.323 device does not exist: {deviceId}."
"404":
description: H.323/SIP device not found.
summary: Delete a H.323/SIP device
tags:
- Devices
patch:
description: |-
A H.323 or SIP device can make a video call to a [Room Connector](https://support.zoom.us/hc/en-us/articles/201363273-Getting-Started-With-H-323-SIP-Room-Connector) to join a Zoom cloud meeting. A Room Connector can also call out to a H.323 or SIP device to join a Zoom cloud meeting. Use this API to edit information of a H.323/SIP device from your Zoom account.
To get authorized, make a POST request to `/oauth/token` endpoint with grant type as `client_credentials`. Use `https://api.zoom.us/oauth/token?grant_type=client_credentials` as the endpoint for the request.
You will need to send your ClientID and Secret as a Basic base64 encoded AUthorization header. Ex. `Basic base64Encode({client_id}:{client_sceret})`
Next, use the token recieved (access_token) as a bearer token while making the POST /im/chat/messages request to send chatbot messages.
Learn more about how to authorize chatbots in the [Chatbot Authorization](https://marketplace.zoom.us/docs/guides/chatbots/authorization) guide.
operationId: sendchatbot
requestBody:
content:
application/json:
schema:
properties:
account_id:
description: Account ID of the authorized account.
type: string
content:
description: JSON template describing how the message should be displayed for the user. For more information please see our ["Send Message" templates](https://marketplace.zoom.us/docs/guides/chatbots/sending-messages#example-request).
type: object
is_markdown_support:
description: |-
**Optional**
Applies the markdown parser to your chatbot message if the value of this field is set to `true`. To learn more, refer to the Chatbot message [markdown reference](https://marketplace.zoom.us/docs/guides/chatbots/customizing-messages/message-with-markdown).
type: boolean
robot_jid:
description: Robot JID created when enabling chatbot features on your marketplace app.
type: string
to_jid:
description: Unique JID of reciever. Can be a group or user.
type: string
user_jid:
description: |-
**Optional**
The UserJID of the user on whose behalf the message is being sent. Use this field to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
type: string
visible_to_user:
description: "**Optional** Allow a Chatbot to send a message to a group channel, but have only one designated person in that group channel see the message by providing the person's UserID in this field."
type: string
required:
- robot_jid
- to_jid
- account_id
- content
type: object
multipart/form-data:
schema:
properties:
account_id:
description: Account ID of the authorized account.
type: string
content:
description: JSON template describing how the message should be displayed for the user. For more information please see our ["Send Message" templates](https://marketplace.zoom.us/docs/guides/chatbots/sending-messages#example-request).
type: object
is_markdown_support:
description: |-
**Optional**
Applies the markdown parser to your chatbot message if the value of this field is set to `true`. To learn more, refer to the Chatbot message [markdown reference](https://marketplace.zoom.us/docs/guides/chatbots/customizing-messages/message-with-markdown).
type: boolean
robot_jid:
description: Robot JID created when enabling chatbot features on your marketplace app.
type: string
to_jid:
description: Unique JID of reciever. Can be a group or user.
type: string
user_jid:
description: |-
**Optional**
The UserJID of the user on whose behalf the message is being sent. Use this field to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
type: string
visible_to_user:
description: "**Optional** Allow a Chatbot to send a message to a group channel, but have only one designated person in that group channel see the message by providing the person's UserID in this field."
type: string
required:
- robot_jid
- to_jid
- account_id
- content
type: object
x-examples:
application/json:
account_id: dmdbffgjbfhgfdj
content:
body:
- text: Greetings from the cool bot
type: message
head:
text: Hello World
robot_jid: bjkfdsbfbdshfdbnf
to_jid: dsjhvfdhfvdfh
responses:
"200":
description: |-
**HTTP Status Code:** `200` **OK**
Message Sent.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `7001`
Link does not support markdown format.
Edit message does not support markdown format.
security:
- Client_Credentials: []
summary: Send chatbot messages
tags:
- Chatbot Messages
"/im/chat/messages/{message_id}":
delete:
description: |-
Delete a message that was sent by your chatbot app.
To get authorized, make a POST request to `/oauth/token` endpoint with grant type as `client_credentials`. Use `https://api.zoom.us/oauth/token?grant_type=client_credentials` as the endpoint for the request.
You will need to send your ClientID and Secret as a Basic base64 encoded AUthorization header. Ex. `Basic base64Encode({client_id}:{client_sceret})`
Next, use the token received (access_token) as a bearer token while making the DELETE /im/chat/messages/{message_id} request to delete a message.
Learn more about how to authotize chatbots in the [Chatbot Authorization](https://marketplace.zoom.us/docs/guides/chatbots/authorization) guide.
operationId: deleteAChatbotMessage
requestBody:
content:
application/json:
schema:
properties:
account_id:
description: The AccountID of the Zoom account to which the message was sent. Retrieve this from the Chatbot request sent to your server as shown in the example [here]( https://marketplace.zoom.us/docs/guides/chatbots/sending-messages).
type: string
robot_jid:
description: The BotJID found in the Chat Subscription Section on the Features page of your App Dashboard.
type: string
user_jid:
description: The UserJID of the user on whose behalf the message is being sent. Used to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
type: string
required:
- robot_jid
- account_id
type: object
multipart/form-data:
schema:
properties:
account_id:
description: The AccountID of the Zoom account to which the message was sent. Retrieve this from the Chatbot request sent to your server as shown in the example [here]( https://marketplace.zoom.us/docs/guides/chatbots/sending-messages).
type: string
robot_jid:
description: The BotJID found in the Chat Subscription Section on the Features page of your App Dashboard.
type: string
user_jid:
description: The UserJID of the user on whose behalf the message is being sent. Used to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
type: string
required:
- robot_jid
- account_id
type: object
x-examples:
application/json:
account_id: ghjgyu674hfgjn
robot_jid: dgfhfhfdhfghgf
user_jid: gfhgfhytu6ujg
responses:
"200":
content:
application/json:
examples:
response:
value:
message_id: 20191017014024747_XYYRFjM_main
robot_jid: v1pky3qsaoqqwdfdsaf5pl8q@xmppdev.zoom.us
sent_time: 2019-10-17 01:40:24
to_jid: xxx@conference.xmppdev.zoom.us
user_jid: jnr_3e_eq4cveeafp3qp6w@xmppdev.zoom.us
schema:
properties:
message_id:
description: Unique identifier of the message that was deleted.
type: string
robot_jid:
description: The BotJID of the Chatbot app. It can be found in the Chat Subscription Section on the Features page of your App Dashboard
type: string
sent_time:
description: The date and time at which the message was deleted.
type: string
to_jid:
description: The JID of the Channel or User to whom the message was sent.
type: string
user_jid:
description: " The UserJID of the user on whose behalf the message was sent. Used to prevent members of a channel from getting notifications that were set up by a user who has left the channel."
type: string
type: object
application/xml:
schema:
properties:
message_id:
description: Unique identifier of the message that was deleted.
type: string
robot_jid:
description: The BotJID of the Chatbot app. It can be found in the Chat Subscription Section on the Features page of your App Dashboard
type: string
sent_time:
description: The date and time at which the message was deleted.
type: string
to_jid:
description: The JID of the Channel or User to whom the message was sent.
type: string
user_jid:
description: " The UserJID of the user on whose behalf the message was sent. Used to prevent members of a channel from getting notifications that were set up by a user who has left the channel."
type: string
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Message deleted.
security:
- Client_Credentials: []
summary: Delete a chatbot message
tags:
- Chatbot Messages
parameters:
- in: path
name: message_id
required: true
schema:
type: string
put:
description: |-
Edit a message that was [sent](https://marketplace.zoom.us/docs/api-reference/zoom-api/im-chat/sendchatbot) by your Chatbot app. After sending a message using the Send Chatbot Message API, you must store the messageId returned in the response so that you can make edits to the associated message using this API.
**Scope:** `imchat:bot`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Authorization Flow**: Client Credentials Flow
To get authorized, make a POST request to `/oauth/token` endpoint with grant type as `client_credentials`. Use `https://api.zoom.us/oauth/token?grant_type=client_credentials` as the endpoint for the request.
You will need to send your ClientID and Secret as a Basic base64 encoded AUthorization header. Ex. `Basic base64Encode({client_id}:{client_sceret})`
Next, use the token received (access_token) as a bearer token while making the PUT /im/chat/messages/{message_id} request to edit a chatbot message.
Learn more about how to authotize chatbots in the [Chatbot Authorization](https://marketplace.zoom.us/docs/guides/chatbots/authorization) guide.
operationId: editChatbotMessage
parameters:
- description: Unique Identifier of the message that needs to be updated. This should be retrieved from the response of [Send Chatbot Message API](https://marketplace.zoom.us/docs/api-reference/zoom-api/im-chat/sendchatbot).
in: path
name: message_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
account_id:
description: The AccountID of the Zoom account to which the message was sent. Retrieve this from the Chatbot request sent to your server as shown in the example [here]( https://marketplace.zoom.us/docs/guides/chatbots/sending-messages).
type: string
content:
description: JSON template describing how the edited message should be displayed for the user. For more information please see our ["Send Message" templates](https://marketplace.zoom.us/docs/guides/chatbots/sending-messages#example-request).
type: object
is_markdown_support:
description: |-
**Optional**
Enable or disable markdown parser to your chatbot message. Applies the markdown parser to your chatbot message if the value of this field is set to `true`. To learn more, refer to the Chatbot message [markdown reference](https://marketplace.zoom.us/docs/guides/chatbots/customizing-messages/message-with-markdown).
type: boolean
robot_jid:
description: Robot JID created when enabling chatbot features on your marketplace app.
type: string
user_jid:
description: |-
**Optional**
The UserJID of the user on whose behalf the message is being sent. Use this field to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
type: string
required:
- robot_jid
- account_id
- content
type: object
multipart/form-data:
schema:
properties:
account_id:
description: The AccountID of the Zoom account to which the message was sent. Retrieve this from the Chatbot request sent to your server as shown in the example [here]( https://marketplace.zoom.us/docs/guides/chatbots/sending-messages).
type: string
content:
description: JSON template describing how the edited message should be displayed for the user. For more information please see our ["Send Message" templates](https://marketplace.zoom.us/docs/guides/chatbots/sending-messages#example-request).
type: object
is_markdown_support:
description: |-
**Optional**
Enable or disable markdown parser to your chatbot message. Applies the markdown parser to your chatbot message if the value of this field is set to `true`. To learn more, refer to the Chatbot message [markdown reference](https://marketplace.zoom.us/docs/guides/chatbots/customizing-messages/message-with-markdown).
type: boolean
robot_jid:
description: Robot JID created when enabling chatbot features on your marketplace app.
type: string
user_jid:
description: |-
**Optional**
The UserJID of the user on whose behalf the message is being sent. Use this field to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
type: string
required:
- robot_jid
- account_id
- content
type: object
x-examples:
application/json:
account_id: ghfgchAFfhfgyt
content:
body:
- text: This is the edited message.
type: message
head:
sub_head:
text: This is sub header.
text: This is the header.
is_markdown_support: "true"
robot_jid: zsgsDgfdhdr
user_jid: asdjhdThdaXw@xmpp.zoom.us
visible_to_user: arrsyrEwestw
responses:
"200":
content:
application/json:
examples:
response:
value:
message_id: 201910tryyRFjM_main
robot_jid: v1pky3tyBBB5pl8q@xmpp.zoom.us
sent_time: 2019-10-17 01:40:24
to_jid: xghfd@shj.zoom.us
user_jid: jnrgfjp6w@xmpp.zoom.us
schema:
properties:
message_id:
description: Unique Identifier of the updated message,
type: string
robot_jid:
description: The BotJID found in the Chat Subscription Section on the Features page of your App Dashboard.
type: string
sent_time:
description: The date and time at which the message was sent.
format: date-time
type: string
to_jid:
description: The JID of the Channel or User to whom the message was sent.
type: string
user_jid:
description: The UserJID of the user on whose behalf the message is being sent. Used to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
type: string
type: object
application/xml:
schema:
properties:
message_id:
description: Unique Identifier of the updated message,
type: string
robot_jid:
description: The BotJID found in the Chat Subscription Section on the Features page of your App Dashboard.
type: string
sent_time:
description: The date and time at which the message was sent.
format: date-time
type: string
to_jid:
description: The JID of the Channel or User to whom the message was sent.
type: string
user_jid:
description: The UserJID of the user on whose behalf the message is being sent. Used to prevent members of a channel from getting notifications that were set up by a user who has left the channel.
type: string
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Message updated.
security:
- Client_Credentials: []
summary: Edit a chatbot message
tags:
- Chatbot Messages
/im/chat/sessions:
get:
deprecated: true
description: |-
Retrieve IM Chat sessions for a specified period of time.
**Scopes:** `imchat:read, imchat:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
Please see our [announcements page related to this deprecation](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#im-api-notice).
operationId: imChatSessions
parameters:
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
from: 2019-08-31
next_page_token: vsdfjesfdhs
page_size: 30
sessions:
- last_message_sent_time: 2016-12-16T05:04:08.470Z
name: API overview meeting
session_id: dkhfgjd
type: Group
to: 2019-09-12
schema:
allOf:
- properties:
from:
description: Start date.
format: date
type: string
to:
description: End date.
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
type: string
page_size:
default: 30
description: "The amount of records returns within a single API call. "
maximum: 300
type: integer
type: object
- properties:
sessions:
description: Array of session objects.
items:
properties:
last_message_sent_time:
description: Last message sent time.
format: date-time
type: string
name:
description: Meeting topic.
type: string
session_id:
description: IM chat session ID.
type: string
type:
description: IM chat session type.
enum:
- Group
- 1:1
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- properties:
from:
description: Start date.
format: date
type: string
to:
description: End date.
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
type: string
page_size:
default: 30
description: "The amount of records returns within a single API call. "
maximum: 300
type: integer
type: object
- properties:
sessions:
description: Array of session objects.
items:
properties:
last_message_sent_time:
description: Last message sent time.
format: date-time
type: string
name:
description: Meeting topic.
type: string
session_id:
description: IM chat session ID.
type: string
type:
description: IM chat session type.
enum:
- Group
- 1:1
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Archived IM chat sessions returned.
"300":
description: |-
**Error Code:** `300`
The next page token is invalid or expired.
Report requested exceeds 6 month limit.
security:
- OAuth: []
summary: Get IM chat sessions
tags:
- IM Chat
"/im/chat/sessions/{sessionId}":
get:
deprecated: true
description: |+
Retrieve IM chat messages for a specified period of time.
**Scopes:** `imchat:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
Please see our [announcements page related to this deprecation](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#im-api-notice).
operationId: imChatMessages
parameters:
- description: IM chat session ID.
in: path
name: sessionId
required: true
schema:
type: string
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
from: string [date]
messages:
- action: string
action_time: string [date-time]
date_time: string [date-time]
message: string
sender: string
next_page_token: string
page_size: integer
session_id: string
to: string [date]
schema:
allOf:
- properties:
from:
description: Start date.
format: date
type: string
session_id:
description: IM chat session ID.
type: string
to:
description: End date.
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
type: string
page_size:
default: 30
description: "The amount of records returns within a single API call. "
maximum: 300
type: integer
type: object
- properties:
messages:
description: Array of session objects.
items:
properties:
action:
description: IM chat message action.
type: string
action_time:
description: Action time.
format: date-time
type: string
date_time:
description: IM chat message sent time.
format: date-time
type: string
message:
description: IM chat message content.
type: string
sender:
description: IM chat message sender.
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- properties:
from:
description: Start date.
format: date
type: string
session_id:
description: IM chat session ID.
type: string
to:
description: End date.
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
type: string
page_size:
default: 30
description: "The amount of records returns within a single API call. "
maximum: 300
type: integer
type: object
- properties:
messages:
description: Array of session objects.
items:
properties:
action:
description: IM chat message action.
type: string
action_time:
description: Action time.
format: date-time
type: string
date_time:
description: IM chat message sent time.
format: date-time
type: string
message:
description: IM chat message content.
type: string
sender:
description: IM chat message sender.
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Archived IM chat messages returned.
"300":
description: |-
**Error Code:**`300`
The next page token is either invalid or has expired.
Report requested exceeds 6 month limit.
summary: Get IM chat messages
tags:
- IM Chat
/im/groups:
get:
description: |-
List [IM directory groups](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management).
**Scopes**: `imgroup:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: imGroups
responses:
"200":
content:
application/json:
examples:
response:
value:
groups:
- id: sjvfkjfew34535
name: MyAdminDirectoryGroup
search_by_account: "false"
search_by_domain: "true"
search_by_ma_account: "false"
total_members: "10"
type: shared
page_count: "1"
page_number: "1"
page_size: "1"
total_records: "1"
schema:
allOf:
- properties:
total_records:
description: Total number of records returned.
type: integer
- properties:
groups:
description: List of group objects.
items:
allOf:
- properties:
id:
description: IM group ID.
type: string
type: object
- allOf:
- description: Group object.
properties:
name:
description: Group name.
type: string
total_members:
description: Total number of members in this group.
type: integer
type: object
- properties:
search_by_account:
description: Members can search for others under same account.
type: boolean
search_by_domain:
description: Members can search for others in the same email domain.
type: boolean
search_by_ma_account:
description: Members can search for others under same master account - including all sub accounts.
type: boolean
type:
default: normal
description: "IM Group types: `normal` - Only members can see the other members in the group. Other people can search for members in the group. `shared` - Everyone in the account can see the group and members. `restricted` - No one except group members can see the group or search for other group members. "
enum:
- normal
- shared
- restricted
type: string
x-enum-descriptions:
- Only members can see the group automatically. Other people can search members in the group.
- All people in the account can see the group and members automatically
- Nobody can see the group or search members except the members in the group
description: IM group object.
type: object
type: array
description: List of IM Groups.
title: IM Group List
type: object
application/xml:
schema:
allOf:
- properties:
total_records:
description: Total number of records returned.
type: integer
- properties:
groups:
description: List of group objects.
items:
allOf:
- properties:
id:
description: IM group ID.
type: string
type: object
- allOf:
- description: Group object.
properties:
name:
description: Group name.
type: string
total_members:
description: Total number of members in this group.
type: integer
type: object
- properties:
search_by_account:
description: Members can search for others under same account.
type: boolean
search_by_domain:
description: Members can search for others in the same email domain.
type: boolean
search_by_ma_account:
description: Members can search for others under same master account - including all sub accounts.
type: boolean
type:
default: normal
description: "IM Group types: `normal` - Only members can see the other members in the group. Other people can search for members in the group. `shared` - Everyone in the account can see the group and members. `restricted` - No one except group members can see the group or search for other group members. "
enum:
- normal
- shared
- restricted
type: string
x-enum-descriptions:
- Only members can see the group automatically. Other people can search members in the group.
- All people in the account can see the group and members automatically
- Nobody can see the group or search members except the members in the group
description: IM group object.
type: object
type: array
description: List of IM Groups.
title: IM Group List
type: object
description: |-
**HTTP Status Code:** `200`
List of groups returned.
**Error Code:** `200`
List of IM groups returned.
Only available for paid account:{accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `4130`
Group does not exist:{groupId}.
summary: List IM directory groups
tags:
- IM Groups
post:
description: |-
Create an [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) under your account.
**Scopes**: `imgroup:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: imGroupCreate
requestBody:
content:
application/json:
schema:
properties:
name:
description: "Group name: must be unique to one account."
maxLength: 128
type: string
search_by_account:
description: Members can search for others under same account.
type: boolean
search_by_domain:
description: Members can search for others in the same email domain.
type: boolean
search_by_ma_account:
description: Members can search for others under same master account, including all sub accounts.
type: boolean
type:
default: normal
description: IM Group types: `normal` - Only members can see automatically see the other members of this group. Other people can search for members within this group. `shared` - Everyone under an account can see the group members automatically. `restricted` - Nobody can see the group or search for members except the members in the group.
enum:
- normal
- shared
- restricted
type: string
x-enum-descriptions:
- Only members can see the group automatically. Other people can search members in the group.
- All people in the account can see the group and members automatically
- Nobody can see the group or search members except the members in the group
type: object
multipart/form-data:
schema:
properties:
name:
description: "Group name: must be unique to one account."
maxLength: 128
type: string
search_by_account:
description: Members can search for others under same account.
type: boolean
search_by_domain:
description: Members can search for others in the same email domain.
type: boolean
search_by_ma_account:
description: Members can search for others under same master account, including all sub accounts.
type: boolean
type:
default: normal
description: IM Group types: `normal` - Only members can see automatically see the other members of this group. Other people can search for members within this group. `shared` - Everyone under an account can see the group members automatically. `restricted` - Nobody can see the group or search for members except the members in the group.
enum:
- normal
- shared
- restricted
type: string
x-enum-descriptions:
- Only members can see the group automatically. Other people can search members in the group.
- All people in the account can see the group and members automatically
- Nobody can see the group or search members except the members in the group
type: object
required: true
x-examples:
application/json:
name: MyAdminDirectoryGroup
search_by_account: "false"
search_by_domain: "true"
search_by_ma_account: "false"
type: shared
responses:
"200":
description: |-
**Error Code:** `200`
Only available for paid account:{accountId}.
"201":
content:
application/json:
examples:
response:
value: {}
schema:
properties:
id:
description: Group ID.
type: string
name:
description: Group name.
type: string
search_by_account:
description: Members can search for others under same account.
type: boolean
search_by_domain:
description: Members can search for others in the same email domain.
type: boolean
search_by_ma_account:
description: Members can search for others under same master account, including all sub accounts.
type: boolean
total_members:
description: Group member count.
type: integer
type: object
application/xml:
schema:
properties:
id:
description: Group ID.
type: string
name:
description: Group name.
type: string
search_by_account:
description: Members can search for others under same account.
type: boolean
search_by_domain:
description: Members can search for others in the same email domain.
type: boolean
search_by_ma_account:
description: Members can search for others under same master account, including all sub accounts.
type: boolean
total_members:
description: Group member count.
type: integer
type: object
new:
examples:
response:
value:
id: string
name: string
search_by_account: boolean
search_by_domain: boolean
search_by_ma_account: boolean
total_members: integer
description: |-
**HTTP Status Code:** `201`
IM Group created.
headers:
Content-Location:
description: Location of created IM Group
schema:
type: string
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `4130`
Group does not exist:{groupId}.
"409":
description: |-
**HTTP Status Code:** `409`
**Error Code:** `4132`
Group name {groupName} is already in use.
summary: Create an IM directory group
tags:
- IM Groups
"/im/groups/{groupId}":
delete:
description: |-
Delete an [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) under your account.
Scopes: `imgroup:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: imGroupDelete
parameters:
- description: |-
The group ID.
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
in: path
name: groupId
required: true
schema:
type: string
responses:
"204":
description: |+
**HTTP Status Code:** `204`
IM group deleted.
"300":
description: |-
**Error Code:** `300`
Missing field: name.
"404":
description: |-
**HTTP Status Code:** `404`
IM Group not found.
**Error Code:** `4130`
Group does not exist:{groupId}.
summary: Delete an IM directory group
tags:
- IM Groups
get:
description: |-
Retrieve an [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) under your account.
Scopes: `imgroup:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: imGroup
parameters:
- description: |-
The group ID.
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
in: path
name: groupId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
id: string
name: string
search_by_account: boolean
search_by_domain: boolean
search_by_ma_account: boolean
total_members: integer
type: string
schema:
allOf:
- properties:
id:
description: Group ID.
type: string
type: object
- allOf:
- description: Group object.
properties:
name:
description: Group name.
type: string
total_members:
description: Total number of members in this group.
type: integer
type: object
- properties:
search_by_account:
description: Members can search for others under same account.
type: boolean
search_by_domain:
description: Members can search for others in the same email domain.
type: boolean
search_by_ma_account:
description: Members can search for others under same master account - including all sub accounts.
type: boolean
type:
default: normal
description: "IM Group types: `normal` - Only members can see the other members in the group. Other people can search for members in the group. `shared` - Everyone in the account can see the group and members. `restricted` - No one except group members can see the group or search for other group members. "
enum:
- normal
- shared
- restricted
type: string
x-enum-descriptions:
- Only members can see the group automatically. Other people can search members in the group.
- All people in the account can see the group and members automatically
- Nobody can see the group or search members except the members in the group
description: IM group object.
type: object
application/xml:
schema:
allOf:
- properties:
id:
description: Group ID.
type: string
type: object
- allOf:
- description: Group object.
properties:
name:
description: Group name.
type: string
total_members:
description: Total number of members in this group.
type: integer
type: object
- properties:
search_by_account:
description: Members can search for others under same account.
type: boolean
search_by_domain:
description: Members can search for others in the same email domain.
type: boolean
search_by_ma_account:
description: Members can search for others under same master account - including all sub accounts.
type: boolean
type:
default: normal
description: "IM Group types: `normal` - Only members can see the other members in the group. Other people can search for members in the group. `shared` - Everyone in the account can see the group and members. `restricted` - No one except group members can see the group or search for other group members. "
enum:
- normal
- shared
- restricted
type: string
x-enum-descriptions:
- Only members can see the group automatically. Other people can search members in the group.
- All people in the account can see the group and members automatically
- Nobody can see the group or search members except the members in the group
description: IM group object.
type: object
description: |-
**HTTP Status Code:** `200`
IM group object returned.
**Error Code:** `200`
Only available for paid account:{accountId}.
"300":
description: |-
**Error Code:** `300`
Missing field: name.
"404":
description: |-
**HTTP Status Code:**
IM Group not found.
**Error Code:** `4130`
Group does not exist:{groupId}.
summary: Retrieve an IM directory group
tags:
- IM Groups
patch:
description: |-
Update an [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) under your account.
**Scopes**: `imgroup:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: imGroupUpdate
parameters:
- description: |-
The group ID.
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
in: path
name: groupId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
name:
description: "Group name: must be unique to one account."
maxLength: 128
type: string
search_by_account:
description: Members can search for others under same account.
type: boolean
search_by_domain:
description: Members can search for others in the same email domain.
type: boolean
search_by_ma_account:
description: Members can search for others under same master account, including all sub accounts.
type: boolean
type:
description: IM Group types: `normal` - Only group members can automatically see others in their group. Other people can search for members in the group. `shared` - Everyone under the account can see the group and members automatically. `restricted` - Nobody can see the group or search for members except for the members in the group.
enum:
- normal
- shared
- restricted
type: string
x-enum-descriptions:
- Only members can see the group automatically. Other people can search members in the group.
- All people in the account can see the group and members automatically
- Nobody can see the group or search members except the members in the group
type: object
multipart/form-data:
schema:
properties:
name:
description: "Group name: must be unique to one account."
maxLength: 128
type: string
search_by_account:
description: Members can search for others under same account.
type: boolean
search_by_domain:
description: Members can search for others in the same email domain.
type: boolean
search_by_ma_account:
description: Members can search for others under same master account, including all sub accounts.
type: boolean
type:
description: IM Group types: `normal` - Only group members can automatically see others in their group. Other people can search for members in the group. `shared` - Everyone under the account can see the group and members automatically. `restricted` - Nobody can see the group or search for members except for the members in the group.
enum:
- normal
- shared
- restricted
type: string
x-enum-descriptions:
- Only members can see the group automatically. Other people can search members in the group.
- All people in the account can see the group and members automatically
- Nobody can see the group or search members except the members in the group
type: object
required: true
x-examples:
application/json:
name: string
search_by_account: boolean
search_by_domain: boolean
search_by_ma_account: boolean
type: string
responses:
"204":
description: |-
**HTTP Status Code:** `204`
IM group updated.
"300":
description: |-
**Error Code:** `300`
Missing field: name
"404":
description: |-
**HTTP Status Code:** `404`
IM Group not found.
**Error Code:** `4130`
Group does not exist:{groupId}.
summary: Update an IM directory group
tags:
- IM Groups
"/im/groups/{groupId}/members":
get:
description: |-
List the members of an [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management).
**Scope:** `imgroup:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: imGroupMembers
parameters:
- description: |-
The group ID.
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
in: path
name: groupId
required: true
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: |-
**Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
The page number of the current page in the returned records.
in: query
name: page_number
schema:
default: 1
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
members:
- email: fidsgkrdjksagf@someemail.dsfjksdh
first_name: Rahul
id: dlfjdhq3430394
last_name: Ghimire
type: "2"
page_count: "1"
page_number: "1"
page_size: "1"
total_records: "1"
schema:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
members:
description: List of Group member objects.
items:
description: Group member object.
properties:
email:
description: User email.
type: string
first_name:
description: User first name.
type: string
id:
description: User ID.
type: string
last_name:
description: User last name.
type: string
type:
description: |-
User type.
`1` - Basic `2` - Licensed
`3` - On-prem
type: integer
type: object
type: array
description: List of Group Members.
title: Group Member List
type: object
application/xml:
schema:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
members:
description: List of Group member objects.
items:
description: Group member object.
properties:
email:
description: User email.
type: string
first_name:
description: User first name.
type: string
id:
description: User ID.
type: string
last_name:
description: User last name.
type: string
type:
description: |-
User type.
`1` - Basic `2` - Licensed
`3` - On-prem
type: integer
type: object
type: array
description: List of Group Members.
title: Group Member List
type: object
description: |-
**HTTP Status Code:** `200`
IM group member list returned.
**Error Code:** `200`
Only available for paid account:{accountId}.
"300":
description: |-
**Error Code:** `300`
Missing field: name.
"404":
description: |-
**HTTP Status Code:** `404`
IM Group not found.
security:
- OAuth: []
summary: List IM directory group members
tags:
- IM Groups
post:
description: |-
Add members to an [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) under an account.
**Scope:** `imgroup:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: imGroupMembersCreate
parameters:
- description: |-
The group ID.
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
in: path
name: groupId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
members:
description: List of IM group members.
items:
properties:
email:
description: "User email. If the user ID is given then ignore the user email. "
type: string
id:
description: User ID.
type: string
type: object
maximum: 10
type: array
type: object
multipart/form-data:
schema:
properties:
members:
description: List of IM group members.
items:
properties:
email:
description: "User email. If the user ID is given then ignore the user email. "
type: string
id:
description: User ID.
type: string
type: object
maximum: 10
type: array
type: object
required: true
x-examples:
application/json: |-
{
"members": [
{
"id": "dlfjdhq3430jh394",
"email": "fidsgkrcbdjksagf@someemail.dsfjksdh",
}
]
}
responses:
"200":
description: |-
**Error Code:** `200`
Only available for paid account:{accountId}.
"201":
content:
application/json:
examples:
response:
value:
added_at: string [date-time]
ids: string
schema:
properties:
added_at:
format: date-time
type: string
ids:
type: string
application/xml:
schema:
properties:
added_at:
format: date-time
type: string
ids:
type: string
description: |-
**HTTP Status Code:** `201`
Member added.
"300":
description: |-
**Error Code:** `300`
Missing field: name.
"404":
description: |-
**HTTP Status Code:** `404`
IM Group not found
security:
- OAuth: []
summary: Add IM directory group members
tags:
- IM Groups
"/im/groups/{groupId}/members/{memberId}":
delete:
description: |-
Delete a member from an [IM directory group](https://support.zoom.us/hc/en-us/articles/203749815-IM-Management) under an account.
Scopes: `imgroup:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: imGroupMembersDelete
parameters:
- description: |-
The group ID.
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
in: path
name: groupId
required: true
schema:
type: string
- description: The member ID.
in: path
name: memberId
required: true
schema:
type: string
responses:
"200":
description: |-
**Error Code:** `200`
Only available for paid account, {accountId}.
"204":
description: |-
**HTTP Status Code:** `204`
IM group member deleted.
"300":
description: |-
**Error Code:** `300`
Missing field: name.
Can not delete account from default group:{groupId}.
"404":
description: |-
**HTTP Status Code:** `404`
IM Group or IM Group member not found.
**Error Code:** `4130`
Group does not exist:{groupId}.
security:
- OAuth: []
summary: Delete an IM directory group member
tags:
- IM Groups
/im/users/me/chat/messages:
post:
deprecated: true
description: |-
Send chat message to a user.
**Scope:** `imchat:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: sendimmessages
parameters:
- description: The email address (registered with Zoom) or the userId of the chat user.
in: query
name: chat_user
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
message:
description: IM message content.
type: string
type: object
multipart/form-data:
schema:
properties:
message:
description: IM message content.
type: string
type: object
x-examples:
application/json:
message: Hello World!
responses:
"201":
content:
application/json:
examples:
response:
value:
id: string
schema:
properties:
id:
description: IM message UUID.
format: uuid
type: string
type: object
application/xml:
schema:
properties:
id:
description: IM message UUID.
format: uuid
type: string
type: object
description: |-
**HTTP Status Code:** `201`
Message Sent.
security:
- OAuth: []
summary: Send IM messages
tags:
- IM Chat
"/im/users/{userId}/chat/messages":
get:
deprecated: true
description: |-
Get IM Chat messages for a specified period of time.
**Scopes:** `imchat:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
Please see the [announcements page related to this deprecation.](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#im-api-notice)
operationId: listimmessages
parameters:
- description: The user ID or email address.
in: path
name: userId
required: true
schema:
type: string
- description: Chat user's ID or email address.
in: query
name: chat_user
schema:
type: string
- description: IM Channel's ID.
in: query
name: channel
schema:
type: string
- description: IM message's query date time, format as yyyy-MM-dd.
in: query
name: date
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 100
minimum: 1
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
date: string [date]
messages:
- date_time: string [date-time]
id: string
message: string
sender: string
timstamp: Long
next_page_token: string
page_size: integer
schema:
properties:
date:
description: Query date time, format as yyyy-mm-dd.
format: date-time
type: string
messages:
description: Array of im messages.
items:
properties:
date_time:
description: IM message send time.
format: date-time
type: string
id:
description: IM message UUID.
format: uuid
type: string
message:
description: IM message content.
type: string
sender:
description: IM message sender.
type: string
timstamp:
description: IM message send timestamp.
type: integer
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
type: object
application/xml:
schema:
properties:
date:
description: Query date time, format as yyyy-mm-dd.
format: date-time
type: string
messages:
description: Array of im messages.
items:
properties:
date_time:
description: IM message send time.
format: date-time
type: string
id:
description: IM message UUID.
format: uuid
type: string
message:
description: IM message content.
type: string
sender:
description: IM message sender.
type: string
timstamp:
description: IM message send timestamp.
type: integer
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
type: object
description: |-
**HTTP Status Code:** `200`
User's IM messages returned.
security:
- OAuth: []
summary: Get user’s IM messages
tags:
- IM Chat
"/live_meetings/{meetingId}/events":
parameters:
- in: path
name: meetingId
required: true
schema:
type: string
patch:
description: |-
Use this API to control the [in-meeting](https://support.zoom.us/hc/en-us/articles/360021921032-In-Meeting-Controls) **recording features** such as starting a recording, stopping a recording, pausing a recording, and resuming a recording. This API only works for Cloud Recordings and not for local recordings.
**Prerequisite:**
* The meeting must be a live meeting.
* Cloud Recording must be enabled.
* The user using this API must either be the host or alternative host of the meeting.
**Scopes:** `meeting:write`, `meeting:write:admin`, `meeting:master`
operationId: inMeetingRecordingControl
parameters:
- description: Unique identifier of the live meeting.
in: path
name: meetingId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
method:
description: |+
The method that you would like to control. The value of this field can be one of the following:
* `recording.start`: Provide this value if you would like to start the recording.
* `recording.stop`: Provide this value if you would like to stop the recording.
* `recording.pause`: Provide this value if you would like to pause the recording.
* `recording.resume`: Provide this value if you would like to resume the recording that was previously paused.
type: string
type: object
multipart/form-data:
schema:
properties:
method:
description: |+
The method that you would like to control. The value of this field can be one of the following:
* `recording.start`: Provide this value if you would like to start the recording.
* `recording.stop`: Provide this value if you would like to stop the recording.
* `recording.pause`: Provide this value if you would like to pause the recording.
* `recording.resume`: Provide this value if you would like to resume the recording that was previously paused.
type: string
type: object
x-examples:
application/json:
method: recording.start
responses:
"202":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status:** `202` **Accepted**
Request processed successfully.
"400":
description: |
**HTTP Status:** `400` **Bad Request**
**Error Code:** `300`
* Meeting id does not exist.
* Invalid meeting id.
* Meeting does not exist.
* No permission.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `3001` Meeting {meetingId} is not found or has expired.
summary: Use in-Meeting recording controls
tags:
- Meetings
"/meetings/{meetingId}":
delete:
description: |+
Delete a meeting.
**Scopes:** `meeting:write:admin` `meeting:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: meetingDelete
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
- description: The meeting occurrence ID.
in: query
name: occurrence_id
schema:
type: string
- description: |-
`true`: Notify host and alternative host about the meeting cancellation via email.
`false`: Do not send any email notification.
in: query
name: schedule_for_reminder
schema:
type: boolean
- description: |-
`true`: Notify registrants about the meeting cancellation via email.
`false`: Do not send any email notification to meeting registrants.
The default value of this field is `false`.
in: query
name: cancel_meeting_reminder
schema:
type: string
responses:
"204":
description: |-
**HTTP Status Code**: `204`
Meeting deleted.
"400":
description: |+
**HTTP Status Code**: `400`
**Error Code**: `1010`
User does not belong to this account: {accountId}.
**Error Code**: `3000` Cannot access meeting information. Invalid occurrence_id.
**Error Code**: `3002`
Sorry, you cannot delete this meeting since it is in progress. **Error Code**: `3003` You are not the meeting host.
**Error Code**: `3007` Sorry, you cannot delete this meeting since it has ended. **Error Code**: `3018`
Not allowed to delete PMI. **Error Code**: `3037` Not allowed to delete PAC.
"404":
description: |-
**HTTP Status Code**: `404`
Meeting not found.
**Error Code**: `1001`
User does not exist: {userId}.
**Error Code**: `3001`
Meeting with this {meetingId} is not found or has expired.
security:
- OAuth: []
summary: Delete a meeting
tags:
- Meetings
get:
description: |+
Retrieve the details of a meeting.
**Scopes:** `meeting:read:admin` `meeting:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: meeting
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
- description: Meeting Occurrence ID. Provide this field to view meeting details of a particular occurrence of the [recurring meeting](https://support.zoom.us/hc/en-us/articles/214973206-Scheduling-Recurring-Meetings).
in: query
name: occurrence_id
schema:
type: string
- description: "Set the value of this field to `true` if you would like to view meeting details of all previous occurrences of a [recurring meeting](https://support.zoom.us/hc/en-us/articles/214973206-Scheduling-Recurring-Meetings). "
in: query
name: show_previous_occurrences
schema:
type: boolean
responses:
"200":
content:
application/json:
examples:
response:
value:
agenda: API overview
created_at: 2019-09-09T15:54:24Z
duration: 60
host_id: ABcdofjdogh11111
id: 1234555466
join_url: https://zoom.us/j/1234555466
settings:
alternative_hosts: kjxckfjxgfgjdfk@dkjfhdskhf.com
approval_type: 2
audio: both
auto_recording: local
close_registration: false
cn_meeting: false
enforce_login: false
enforce_login_domains: mycompanydomain.com
global_dial_in_countries:
- US
global_dial_in_numbers:
- city: New York
country: US
country_name: US
number: +1 000011100
type: toll
- city: San Jose
country: US
country_name: US
number: +1 6699006833
type: toll
- city: San Jose
country: US
country_name: US
number: +1 221122112211
type: toll
host_video: false
in_meeting: false
join_before_host: true
mute_upon_entry: false
participant_video: false
registrants_confirmation_email: true
registrants_email_notification: true
use_pmi: false
waiting_room: false
watermark: false
start_time: 2019-08-30T22:00:00Z
start_url: https://zoom.us/1234555466/cdknfdffgggdfg4MDUxNjY0LCJpYXQiOjE1NjgwNDQ0NjQsImFpZCI6IjRBOWR2QkRqVHphd2J0amxoejNQZ1EiLCJjaWQiOiIifQ.Pz_msGuQwtylTtYQ
status: waiting
timezone: America/New_York
topic: My API Test
type: 2
uuid: iAABBBcccdddd7A==
schema:
allOf:
- properties:
assistant_id:
description: Unique identifier of the scheduler who scheduled this meeting on behalf of the host. This field is only returned if you used "schedule_for" option in the [Create a Meeting API request](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate).
type: string
host_email:
description: Email address of the meeting host.
format: email
type: string
host_id:
description: ID of the user who is set as host of meeting.
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
uuid:
description: |
Unique meeting ID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). You can retrieve a list of UUIDs from past meeting instances using [this API](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetings) . Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
type: string
type: object
- description: Meeting object.
properties:
agenda:
description: Meeting description
maxLength: 2000
type: string
created_at:
description: "Time of creation. "
format: date-time
type: string
duration:
description: Meeting duration.
type: integer
encrypted_password:
description: Encrypted passcode for third party endpoints (H323/SIP).
type: string
h323_password:
description: H.323/SIP room system passcode.
type: string
join_url:
description: URL for participants to join the meeting. This URL should only be shared with users that you would like to invite for the meeting.
type: string
occurrences:
description: Array of occurrence objects.
items:
description: Occurence object. This object is only returned for Recurring Webinars.
properties:
duration:
description: Duration.
type: integer
occurrence_id:
description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
type: string
start_time:
description: Start time.
format: date-time
type: string
status:
description: Occurrence status.
type: string
type: object
type: array
password:
description: Meeting passcode.
minimum: 8
type: string
pmi:
description: Personal Meeting Id. Only used for scheduled meetings and recurring meetings with no fixed time.
format: int64
type: integer
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
description: Meeting settings.
properties:
allow_multiple_devices:
description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_exception:
description: The participants added here will receive unique meeting invite links and bypass authentication.
items:
properties:
email:
description: Email address of the participant.
format: email
type: string
name:
description: Name of the participant.
type: string
type: object
type: array
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Meeting authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
global_dial_in_numbers:
description: Global Dial-in Countries/Regions
items:
properties:
city:
description: City of the number, if any. For example, Chicago.
type: string
country:
description: Country code. For example, BR.
type: string
country_name:
description: Full name of country. For example, Brazil.
type: string
number:
description: Phone number. For example, +1 2332357613.
type: string
type:
description: "Type of number. "
enum:
- toll
- tollfree
type: string
type: object
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
type: boolean
language_interpretation:
properties:
enable:
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: "`true`- Only authenticated users can join meetings."
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_confirmation_email:
description: Send confirmation email to registrants upon successful registration.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
Show social share buttons on the meeting registration page.
This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
use_pmi:
default: false
description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
default: false
description: Enable waiting room
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
start_time:
description: |
Meeting start time in GMT/UTC. Start time will not be returned if the meeting is an **instant** meeting.
format: date-time
type: string
start_url:
description: |-
This URL should only be used by the host of the meeting and **should not be shared with anyone other than the host** of the meeting as anyone with this URL will be able to login to the Zoom Client as the host of the meeting.
type: string
status:
description: Meeting status
enum:
- waiting
- started
type: string
timezone:
description: Timezone to format the meeting start time on the .
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Label of the tracking field.
type: string
value:
description: Value for the field.
type: string
visible:
description: |-
Indicates whether the [tracking field](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) is visible in the meeting scheduling options in the Zoom Web Portal or not.
`true`: Tracking field is visible.
`false`: Tracking field is not visible to the users when they look at the meeting details in the Zoom Web Portal but the field was used while scheduling this meeting via API. An invisible tracking field can be used by users while scheduling meetings via API only.
type: boolean
type: object
type: array
type:
default: 2
description: |-
Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `4` - PMI Meeting
`8` - Recurring meeting with a fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
application/xml:
schema:
allOf:
- properties:
assistant_id:
description: Unique identifier of the scheduler who scheduled this meeting on behalf of the host. This field is only returned if you used "schedule_for" option in the [Create a Meeting API request](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate).
type: string
host_email:
description: Email address of the meeting host.
format: email
type: string
host_id:
description: ID of the user who is set as host of meeting.
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
uuid:
description: |
Unique meeting ID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). You can retrieve a list of UUIDs from past meeting instances using [this API](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetings) . Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
type: string
type: object
- description: Meeting object.
properties:
agenda:
description: Meeting description
maxLength: 2000
type: string
created_at:
description: "Time of creation. "
format: date-time
type: string
duration:
description: Meeting duration.
type: integer
encrypted_password:
description: Encrypted passcode for third party endpoints (H323/SIP).
type: string
h323_password:
description: H.323/SIP room system passcode.
type: string
join_url:
description: URL for participants to join the meeting. This URL should only be shared with users that you would like to invite for the meeting.
type: string
occurrences:
description: Array of occurrence objects.
items:
description: Occurence object. This object is only returned for Recurring Webinars.
properties:
duration:
description: Duration.
type: integer
occurrence_id:
description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
type: string
start_time:
description: Start time.
format: date-time
type: string
status:
description: Occurrence status.
type: string
type: object
type: array
password:
description: Meeting passcode.
minimum: 8
type: string
pmi:
description: Personal Meeting Id. Only used for scheduled meetings and recurring meetings with no fixed time.
format: int64
type: integer
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
description: Meeting settings.
properties:
allow_multiple_devices:
description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_exception:
description: The participants added here will receive unique meeting invite links and bypass authentication.
items:
properties:
email:
description: Email address of the participant.
format: email
type: string
name:
description: Name of the participant.
type: string
type: object
type: array
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Meeting authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
global_dial_in_numbers:
description: Global Dial-in Countries/Regions
items:
properties:
city:
description: City of the number, if any. For example, Chicago.
type: string
country:
description: Country code. For example, BR.
type: string
country_name:
description: Full name of country. For example, Brazil.
type: string
number:
description: Phone number. For example, +1 2332357613.
type: string
type:
description: "Type of number. "
enum:
- toll
- tollfree
type: string
type: object
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
type: boolean
language_interpretation:
properties:
enable:
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: "`true`- Only authenticated users can join meetings."
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_confirmation_email:
description: Send confirmation email to registrants upon successful registration.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
Show social share buttons on the meeting registration page.
This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
use_pmi:
default: false
description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
default: false
description: Enable waiting room
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
start_time:
description: |
Meeting start time in GMT/UTC. Start time will not be returned if the meeting is an **instant** meeting.
format: date-time
type: string
start_url:
description: |-
This URL should only be used by the host of the meeting and **should not be shared with anyone other than the host** of the meeting as anyone with this URL will be able to login to the Zoom Client as the host of the meeting.
type: string
status:
description: Meeting status
enum:
- waiting
- started
type: string
timezone:
description: Timezone to format the meeting start time on the .
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Label of the tracking field.
type: string
value:
description: Value for the field.
type: string
visible:
description: |-
Indicates whether the [tracking field](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) is visible in the meeting scheduling options in the Zoom Web Portal or not.
`true`: Tracking field is visible.
`false`: Tracking field is not visible to the users when they look at the meeting details in the Zoom Web Portal but the field was used while scheduling this meeting via API. An invisible tracking field can be used by users while scheduling meetings via API only.
type: boolean
type: object
type: array
type:
default: 2
description: |-
Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `4` - PMI Meeting
`8` - Recurring meeting with a fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
description: |-
**HTTP Status Code:** `200`
Meeting object returned.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `1010`
User not found on this account: {accountId}. **Error Code:** `3000`
Cannot access webinar info.
"404":
description: |-
**HTTP Status Code:** `404`
Meeting not found.
**Error Code:** `1001`
User not exist: {userId}. **Error Code:** `3001`
Meeting {meetingId} is not found or has expired.
security:
- OAuth: []
summary: Get a meeting
tags:
- Meetings
patch:
description: |+
Update the details of a meeting. This API has a rate limit of 100 requests per day. Therefore, a meeting can only be updated for a maximum of 100 times within a 24 hour window.
**Scopes:** `meeting:write:admin` `meeting:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: meetingUpdate
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
- description: "Meeting occurrence id. Support change of agenda, start_time, duration, settings: {host_video, participant_video, join_before_host, mute_upon_entry, waiting_room, watermark, auto_recording}"
in: query
name: occurrence_id
schema:
type: string
requestBody:
content:
application/json:
schema:
allOf:
- properties:
schedule_for:
description: Email or userId if you want to schedule meeting for another user.
type: string
type: object
- allOf:
- description: Base object for sessions.
properties:
agenda:
description: Meeting description.
maxLength: 2000
type: string
duration:
description: Meeting duration (minutes). Used for scheduled meetings only.
type: integer
password:
description: |-
Meeting passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
allOf:
- description: Meeting settings.
properties:
allow_multiple_devices:
description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_exception:
description: The participants added here will receive unique meeting invite links and bypass authentication.
items:
properties:
email:
description: Email address of the participant.
format: email
type: string
name:
description: Name of the participant.
type: string
type: object
type: array
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Meeting authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
global_dial_in_numbers:
description: Global Dial-in Countries/Regions
items:
properties:
city:
description: City of the number, if any. For example, Chicago.
type: string
country:
description: Country code. For example, BR.
type: string
country_name:
description: Full name of country. For example, Brazil.
type: string
number:
description: Phone number. For example, +1 2332357613.
type: string
type:
description: "Type of number. "
enum:
- toll
- tollfree
type: string
type: object
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
type: boolean
language_interpretation:
properties:
enable:
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: "`true`- Only authenticated users can join meetings."
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_confirmation_email:
description: Send confirmation email to registrants upon successful registration.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
Show social share buttons on the meeting registration page.
This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
use_pmi:
default: false
description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
default: false
description: Enable waiting room
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
- properties:
registrants_confirmation_email:
description: Send confirmation Email to Registrants
type: boolean
type: object
start_time:
description: Meeting start time. When using a format like "yyyy-MM-dd'T'HH:mm:ss'Z'", always use GMT time. When using a format like "yyyy-MM-dd'T'HH:mm:ss", you should use local time and specify the time zone. Only used for scheduled meetings and recurring meetings with a fixed time.
format: date-time
type: string
template_id:
description: |-
Unique identifier of the meeting template.
Use this field if you would like to [schedule the meeting from a meeting template](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates#h_86f06cff-0852-4998-81c5-c83663c176fb). You can retrieve the value of this field by calling the [List meeting templates]() API.
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 2
description: Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with a fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
description: Meeting object
type: object
multipart/form-data:
schema:
allOf:
- properties:
schedule_for:
description: Email or userId if you want to schedule meeting for another user.
type: string
type: object
- allOf:
- description: Base object for sessions.
properties:
agenda:
description: Meeting description.
maxLength: 2000
type: string
duration:
description: Meeting duration (minutes). Used for scheduled meetings only.
type: integer
password:
description: |-
Meeting passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
allOf:
- description: Meeting settings.
properties:
allow_multiple_devices:
description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_exception:
description: The participants added here will receive unique meeting invite links and bypass authentication.
items:
properties:
email:
description: Email address of the participant.
format: email
type: string
name:
description: Name of the participant.
type: string
type: object
type: array
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Meeting authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
global_dial_in_numbers:
description: Global Dial-in Countries/Regions
items:
properties:
city:
description: City of the number, if any. For example, Chicago.
type: string
country:
description: Country code. For example, BR.
type: string
country_name:
description: Full name of country. For example, Brazil.
type: string
number:
description: Phone number. For example, +1 2332357613.
type: string
type:
description: "Type of number. "
enum:
- toll
- tollfree
type: string
type: object
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
type: boolean
language_interpretation:
properties:
enable:
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: "`true`- Only authenticated users can join meetings."
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_confirmation_email:
description: Send confirmation email to registrants upon successful registration.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
Show social share buttons on the meeting registration page.
This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
use_pmi:
default: false
description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
default: false
description: Enable waiting room
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
- properties:
registrants_confirmation_email:
description: Send confirmation Email to Registrants
type: boolean
type: object
start_time:
description: Meeting start time. When using a format like "yyyy-MM-dd'T'HH:mm:ss'Z'", always use GMT time. When using a format like "yyyy-MM-dd'T'HH:mm:ss", you should use local time and specify the time zone. Only used for scheduled meetings and recurring meetings with a fixed time.
format: date-time
type: string
template_id:
description: |-
Unique identifier of the meeting template.
Use this field if you would like to [schedule the meeting from a meeting template](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates#h_86f06cff-0852-4998-81c5-c83663c176fb). You can retrieve the value of this field by calling the [List meeting templates]() API.
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 2
description: Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with a fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
description: Meeting object
type: object
description: Meeting
required: true
x-examples:
application/json:
agenda: My Meeting
duration: 60
password: abcd
settings:
alternative_hosts: mycohost@someemail.com
approval_type: 0
global_dial_in_countries:
- city: San Jose
country: US
country_name: US
number: +1 1212121212121212
type: toll
host_video: false
in_meeting: false
join_before_host: true
mute_upon_entry: false
participant_video: false
registrants_confirmation_email: true
use_pmi: false
waiting_room: false
watermark: false
start_time: 2019-08-30T18:00:00
timezone: America/New_York
topic: Michael API Test
type: 2
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Meeting updated.
"300":
description: |
**Error Code:** `300`
Invalid enforce_login_domains, separate multiple domains by semicolon.
A maximum of {rateLimitNumber} meetings can be created/updated for a single user in one day.
"400":
description: |
**HTTP Status Code:** `400`
**Error Code:** `1010`
User not found on this account: {accountId}.
**Error Code:** `3000`
Cannot access meeting information.
**Error Code:** `3003`
You are not the meeting host.
"404":
description: |-
**HTTP Status Code:** `404`
Meeting not found.
**Error Code:** `1001`
User does not exist: {userId}.
**Error Code:** `3001`
A meeting with this {meetingId} is not found or has expired.
security:
- OAuth: []
summary: Update a meeting
tags:
- Meetings
"/meetings/{meetingId}/batch_polls":
parameters:
- in: path
name: meetingId
required: true
schema:
type: string
post:
description: |-
Polls allow the meeting host to survey attendees. Use this API to create batch [polls](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings) for a meeting.
**Scopes**: `meeting:write:admin` `meeting:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites**:
* Host user type must be **Pro** or higher plan.
* Polling feature must be enabled in the host's account.
* Meeting must be a scheduled meeting. Instant meetings do not have polling features enabled.
operationId: createBatchPolls
parameters:
- in: path
name: meetingId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
questions:
items:
properties:
answers:
description: Possible answers for the question.
items:
type: string
type: array
name:
description: Name of the question.
type: string
type:
description: Question type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
type: object
type: array
title:
description: Meeting Poll Title.
type: string
type: object
multipart/form-data:
schema:
properties:
questions:
items:
properties:
answers:
description: Possible answers for the question.
items:
type: string
type: array
name:
description: Name of the question.
type: string
type:
description: Question type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
type: object
type: array
title:
description: Meeting Poll Title.
type: string
type: object
description: Batch Meeting poll object
x-examples:
application/json:
polls:
- questions:
- answers:
- answer 1
- answer 2
name: Question Name
type: multiple
- answers:
- answer 1
- answer 2
name: Question Name 2
type: single
title: Meeting Usefulness
responses:
"201":
content:
application/json:
examples:
response:
value:
polls:
- id: ex eiusmod
questions:
- answers:
- est officia
- dolor amet consectetur ad
- irure consectetur enim commodo
name: in mollit cillum adipisicing ullamco
type: consectetur magna et
- answers:
- ut ut
- non pariatur dolore eiusmod consectetur
- pariatur deserunt in dolore et
- deserunt exercitation incididunt nostrud dolore
- dolor sit in laboris eiusmod
name: non proident dolor eiusmod consectetur
type: "et deserunt nisi "
- answers:
- dolor mollit
- dolore Lorem voluptate
name: minim
type: velit labore
status: Excepteur Lorem dolor exercitation
title: in dolore culpa ad qui
- id: mollit do
questions:
- answers:
- "culpa "
- aliquip dolore
name: exercitation consectetur officia do
type: id ex consequat culpa
- answers:
- ullamco consequat ut id esse
- veniam eiusmod anim laborum
name: proident ad
type: Lorem nostrud nulla
- answers:
- nostrud voluptate eu velit
- non labore dolor ad eiusmod
- vo
name: sint cillum ut
type: in enim
- answers:
- sunt voluptate
- reprehenderit ea
- sunt aute
- elit
name: eu ullamco
type: anim dolor sunt
- answers:
- nulla Duis
name: sit enim consequat cupidatat
type: cillum adipisicing
status: deserunt id occaecat nisi qui
title: est incididunt in dolore tempor
- id: "qui "
questions:
- answers:
- laboris laborum
- nostrud sit dolore veniam
- sunt commodo amet dolor ex
name: ullamco et pariatur
type: proident
- answers:
- anim magna ut Lorem
name: adipisicing dolor culpa commodo
type: aliquip veniam
- answers:
- "sunt dolor Excepteur amet "
- qui pariatur esse id fugiat
- aliquip
name: laborum nisi
type: in Duis qui Excepteur aute
status: ut Ut esse
title: ullamco dolore
schema:
properties:
polls:
items:
properties:
id:
description: Meeting Poll ID
type: string
questions:
items:
properties:
answers:
description: Answers to questons
items:
type: string
type: array
name:
description: Name of question.
type: string
type:
description: Poll question and answer type.
enum:
- single
- multiple
type: string
type: object
type: array
status:
description: Status of the Meeting Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
title:
description: Title for the Poll
type: string
type: object
type: array
type: object
application/xml:
schema:
properties:
polls:
items:
properties:
id:
description: Meeting Poll ID
type: string
questions:
items:
properties:
answers:
description: Answers to questons
items:
type: string
type: array
name:
description: Name of question.
type: string
type:
description: Poll question and answer type.
enum:
- single
- multiple
type: string
type: object
type: array
status:
description: Status of the Meeting Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
title:
description: Title for the Poll
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `201`
Meeting Poll Created
"400":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `300`
Invalid Meeting ID.
**Error Code:** `300`
Meeting id does not exist.
**Error Code:** `3000`
Cannot access meeting information.
**Error Code:** `3001`
Meeting does not exist: {meetingId}.
**Error Code:** `4400`
Polling has not been enabled for this meeting: {meetingId}.
**Error Code:** `4400`
You can add a maximum of 25 polls.
summary: Perform batch poll creation
tags:
- Meetings
"/meetings/{meetingId}/batch_registrants":
parameters:
- in: path
name: meetingId
required: true
schema:
type: string
"/meetings/{meetingId}/invitation":
get:
description: |+
Retrieve the meeting invite note that was sent for a specific meeting.
**Scopes:** `meeting:read:admin` `meeting:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: meetingInvitation
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
invitation: "Shrijana G is inviting you to a scheduled Zoom meeting.\r
\r
Topic: MyTestMeeting\r
Time: Jul 31, 2019 04:00 PM Pacific Time (US and Canada)\r
\r
Join Zoom Meeting\r
https://zoom.us/j/000000\r
\r
One tap mobile\r
+000000"
schema:
description: Meeting invitation details.
properties:
invitation:
description: Meeting invitation.
type: string
title: Meeting Invitation
type: object
application/xml:
schema:
description: Meeting invitation details.
properties:
invitation:
description: Meeting invitation.
type: string
title: Meeting Invitation
type: object
description: |-
**HTTP Status Code:** `200`
Meeting invitation returned.
security:
- OAuth: []
summary: Get meeting invitation
tags:
- Meetings
"/meetings/{meetingId}/livestream":
get:
description: |+
Zoom allows users to [live stream a meeting](https://support.zoom.us/hc/en-us/articles/115001777826-Live-Streaming-Meetings-or-Webinars-Using-a-Custom-Service) to a custom platform. Use this API to get a meeting's live stream configuration details such as Stream URL, Stream Key and Page URL.
**Prerequisites:**
* Meeting host must be a licensed user with a Pro or higher plan.
* Live streaming details must have been [configured](https://support.zoom.us/hc/en-us/articles/115001777826-Live-Streaming-Meetings-or-Webinars-Using-a-Custom-Service#h_01589a6f-a40a-4e18-a448-cb746e52ebc5) for the meeting.
**Scopes:** `meeting:read:admin` `meeting:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: getLiveStreamDetails
parameters:
- description: Unique identifier of the meeting.
in: path
name: meetingId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
page_url: https://somecompany.com/livestream/123
stream_key: Contact It@somecompany.com
stream_url: https://somecompany.com/livestream
schema:
properties:
page_url:
description: Live streaming page URL. This is the URL using which anyone can view the live stream of the meeting.
type: string
stream_key:
description: Stream Key.
type: string
stream_url:
description: Stream URL.
type: string
type: object
application/xml:
schema:
properties:
page_url:
description: Live streaming page URL. This is the URL using which anyone can view the live stream of the meeting.
type: string
stream_key:
description: Stream Key.
type: string
stream_url:
description: Stream URL.
type: string
type: object
description: |+
**HTTP Status Code:** `200` **OK**
Live Stream details returned.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Missing meetingId
Invalid meetingId
**Error Code:** `1010`
User does not belong to this account: {accountId}
"404":
description: |+
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User {userId} does not exist.
summary: Get live stream details
tags:
- Meetings
parameters:
- in: path
name: meetingId
required: true
schema:
type: string
patch:
description: |+
Zoom allows users to [live stream a meeting](https://support.zoom.us/hc/en-us/articles/115001777826-Live-Streaming-Meetings-or-Webinars-Using-a-Custom-Service) to a custom platform. Use this API to update a meeting's live stream information.
**Prerequisites:**
* Meeting host must have a Pro license.
**Scopes:** `meeting:write:admin` `meeting:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: meetingLiveStreamUpdate
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
description: Meeting live stream.
properties:
page_url:
description: The livestream page URL.
format: uri
maxLength: 1024
type: string
stream_key:
description: Stream name and key.
maxLength: 512
type: string
stream_url:
description: Streaming URL.
maxLength: 1024
type: string
required:
- stream_url
- stream_key
type: object
multipart/form-data:
schema:
description: Meeting live stream.
properties:
page_url:
description: The livestream page URL.
format: uri
maxLength: 1024
type: string
stream_key:
description: Stream name and key.
maxLength: 512
type: string
stream_url:
description: Streaming URL.
maxLength: 1024
type: string
required:
- stream_url
- stream_key
type: object
description: Meeting
required: true
x-examples:
application/json:
page_url: mycompany.com/livestream/123
stream_key: Contact it@mycompany.com
stream_url: mycompany.com/livestream
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Meeting live stream updated.
"300":
description: "**Error Code:** `300` Missing meetingId Invalid meetingId."
"400":
description: |-
**HTTP Status Code:** `400` **Error Code:** `1010`
User does not belong to this account: {accountId}.
**Error Code:** `3000` Cannot access webinar info.
"404":
description: |
**HTTP Status Code:** `404` **Error Code:** `1001` User {userId} does not exist.
security:
- OAuth: []
summary: Update a live stream
tags:
- Meetings
"/meetings/{meetingId}/livestream/status":
patch:
description: |+
Zoom allows users to [live stream a meeting](https://support.zoom.us/hc/en-us/articles/115001777826-Live-Streaming-Meetings-or-Webinars-Using-a-Custom-Service) to a custom platform. Use this API to update the status of a meeting's live stream.
**Prerequisites:**
* Meeting host must have a Pro license.
**Scopes:** `meeting:write:admin` `meeting:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: meetingLiveStreamStatusUpdate
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
description: Meeting live stream status.
properties:
action:
description: |-
Update the status of a livestream.
The value can be one of the following:
`start`: Start a live stream.
`stop`: Stop an ongoing live stream.
enum:
- start
- stop
type: string
x-enum-descriptions:
- Start a meeting live stream.
- Stop a meeting live stream.
settings:
description: Update the settings of a live streaming session. The settings can only be updated for a live stream that has been stopped. You can not update the settings of an ongoing live stream.
properties:
active_speaker_name:
description: Display the name of the active speaker during a live stream.
type: boolean
display_name:
description: Display name of the live stream.
maxLength: 50
minLength: 1
type: string
type: object
type: object
multipart/form-data:
schema:
description: Meeting live stream status.
properties:
action:
description: |-
Update the status of a livestream.
The value can be one of the following:
`start`: Start a live stream.
`stop`: Stop an ongoing live stream.
enum:
- start
- stop
type: string
x-enum-descriptions:
- Start a meeting live stream.
- Stop a meeting live stream.
settings:
description: Update the settings of a live streaming session. The settings can only be updated for a live stream that has been stopped. You can not update the settings of an ongoing live stream.
properties:
active_speaker_name:
description: Display the name of the active speaker during a live stream.
type: boolean
display_name:
description: Display name of the live stream.
maxLength: 50
minLength: 1
type: string
type: object
type: object
description: Meeting
required: true
x-examples:
application/json:
action: stop
settings:
active_speaker_name: false
display_name: inc
responses:
"204":
description: |+
**HTTP Status Code:** `204`
Meeting live stream updated.
"300":
description: |-
**Error Code:** `300`
Missing meetingId.
Invalid meetingId
"400":
description: |
**HTTP Status Code:** `400`
**Error Code:**`3000`
Cannot access webinar info.
**Error Code:**`1010` User does not belong to this account: {accountId}.
"404":
description: |
**HTTP Status Code:** `404`
**Error Code:**`1001`
User {userId} does not exist.
"429":
description: "**HTTP Status Code:** `429` Too many requests submitted to start the live stream of this meeting: {meetingId}. If the live stream has not already started, retry making a new request after 30 seconds."
security:
- OAuth: []
summary: Update Live Stream Status
tags:
- Meetings
"/meetings/{meetingId}/polls":
get:
description: |-
Polls allow the meeting host to survey attendees. Use this API to list [polls](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings) of a meeting.
**Scopes**: `meeting:read:admin` `meeting:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites**:
* Host user type must be **Pro** or higher plan.
* Meeting must be a scheduled meeting. Instant meetings do not have polling features enabled.
operationId: meetingPolls
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
polls:
- id: YB33NcABCdg_g1AAAxTQ
questions:
- answers:
- Extremely useful
- Somewhat useful
- Not useful at all
name: How useful was this meeting?
type: multiple
status: notstart
title: Meeting Usefulness
total_records: 1
schema:
allOf:
- properties:
polls:
description: Array of Polls
items:
allOf:
- properties:
id:
description: ID of Poll
type: string
status:
description: Status of Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
type: array
total_records:
description: The number of all records available across pages
type: integer
description: Poll List
title: Poll List
type: object
application/xml:
schema:
allOf:
- properties:
polls:
description: Array of Polls
items:
allOf:
- properties:
id:
description: ID of Poll
type: string
status:
description: Status of Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
type: array
total_records:
description: The number of all records available across pages
type: integer
description: Poll List
title: Poll List
type: object
description: |-
**HTTP Status Code:**
List polls of a Meeting returned
"404":
description: |-
**Error Code:** `404`
Meeting Poll not found
security:
- OAuth: []
summary: List meeting polls
tags:
- Meetings
post:
description: |-
Polls allow the meeting host to survey attendees. Use this API to create a [poll](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings) for a meeting.
**Scopes**: `meeting:write:admin` `meeting:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites**:
* Host user type must be **Pro** or higher plan.
* Polling feature must be enabled in the host's account.
* Meeting must be a scheduled meeting. Instant meetings do not have polling features enabled.
operationId: meetingPollCreate
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
allOf:
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
multipart/form-data:
schema:
allOf:
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
description: Meeting poll object
required: true
x-examples:
application/json:
questions:
- answers:
- Extremely useful
- Somewhat useful
- Not useful at all
name: How useful was this meeting?
type: multiple
title: Meeting Usefulness
responses:
"201":
content:
application/json:
examples:
response:
value:
id: abcdaaaeefffhhh
questions:
- answers:
- Extremely useful
- Somewhat useful
- Not useful at all
name: How useful was this meeting?
type: multiple
status: notstart
title: Meeting Usefulness
schema:
allOf:
- properties:
id:
description: Meeting Poll ID
type: string
status:
description: Status of the Meeting Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
type: object
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
application/xml:
schema:
allOf:
- properties:
id:
description: Meeting Poll ID
type: string
status:
description: Status of the Meeting Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
type: object
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
description: |-
**HTTP Status Code:** `201`
Meeting Poll Created
headers:
Content-Location:
description: Location of created Meeting Poll
schema:
type: string
"404":
description: |-
**Error Code:** `404`
Meeting not found
security:
- OAuth: []
summary: Create a meeting poll
tags:
- Meetings
"/meetings/{meetingId}/polls/{pollId}":
delete:
description: |-
Polls allow the meeting host to survey attendees. Use this API to delete a meeting [poll](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings).
**Scopes**: `meeting:write:admin` `meeting:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites**:
* Host user type must be **Pro**.
* Polling feature should be enabled in the host's account.
* Meeting must be a scheduled meeting. Instant meetings do not have polling features enabled.
operationId: meetingPollDelete
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
- description: The poll ID
in: path
name: pollId
required: true
schema:
type: string
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Meeting Poll deleted
"404":
description: |-
**Error Code:** `404`
Meeting Poll not found
security:
- OAuth: []
summary: Delete a meeting poll
tags:
- Meetings
get:
description: |+
Polls allow the meeting host to survey attendees. Use this API to get information about a specific meeting [poll](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings).
**Scopes**: `meeting:read:admin` `meeting:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: meetingPollGet
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
- description: The poll ID
in: path
name: pollId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
id: abcdaaaeefffhhh
questions:
- answers:
- Extremely useful
- Somewhat useful
- Not useful at all
name: How useful was this meeting?
type: multiple
status: notstart
title: Meeting Usefulness
schema:
allOf:
- properties:
id:
description: Meeting Poll ID
type: string
status:
description: Status of the Meeting Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
type: object
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
application/xml:
schema:
allOf:
- properties:
id:
description: Meeting Poll ID
type: string
status:
description: Status of the Meeting Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
type: object
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
description: |-
**HTTP Status Code:** `200`
Meeting Poll object returned
"404":
description: |-
**Error Code:** `404`
Meeting Poll not found.
security:
- OAuth: []
summary: Get a meeting poll
tags:
- Meetings
put:
description: |+
Polls allow the meeting host to survey attendees. Use this API to update information of a specific meeting [poll](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings)
**Scopes**: `meeting:write:admin` `meeting:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: meetingPollUpdate
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
- description: The poll ID
in: path
name: pollId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
allOf:
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
multipart/form-data:
schema:
allOf:
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
description: Meeting Poll
required: true
x-examples:
application/json:
questions:
- answers:
- Definitely
- Probably
- Not going to use it again
name: Would you like to use our service again?
type: multiple
title: Meeting Usefulness
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Meeting Poll Updated
"404":
description: |-
**Error Code:** `404`
Meeting Poll not found
security:
- OAuth: []
summary: Update a meeting poll
tags:
- Meetings
"/meetings/{meetingId}/recordings":
delete:
description: |
Delete all recording files of a meeting.
**Scopes:** `recording:write:admin` `recording:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites**:
* Cloud Recording should be enabled on the user's account.
operationId: recordingDelete
parameters:
- description: |-
To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
- description: The recording delete actions: `trash` - Move recording to trash. `delete` - Delete recording permanently.
in: query
name: action
schema:
default: trash
enum:
- trash
- delete
type: string
x-enum-descriptions:
- move recording to trash
- delete recording permanently
responses:
"200":
description: |-
**Error Code:** `200`
You do not have the right permission.
"204":
description: |-
**HTTP Status Code:** `204`
Meeting recording deleted.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `1010`
User does not belong to this account: {accountId}.
"404":
description: |
**HTTP Status Code:** `404`
Meeting recording not found
**Error Code:** `1001` User {userId} does not exist or does not belong to this account.
**Error Code:** `3301` There is no recording for this meeting.
security:
- OAuth: []
summary: Delete meeting recordings
tags:
- Cloud Recording
get:
description: |+
Get all the [recordings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-Recording#h_7420acb5-1897-4061-87b4-5b76e99c03b4) from a meeting or Webinar instance.
The recording files can be downloaded via the `download_url` property listed in the response.
> To access a password protected cloud recording, add an "access_token" parameter to the download URL and provide OAuth access token or [JWT](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app) as the value of the "access_token".
**Scopes:** `recording:read:admin` `recording:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: recordingGet
parameters:
- description: |-
To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
- description: Get the `download_access_token` field for downloading meeting recordings.
in: query
name: include_fields
schema:
type: string
- description: Time to live (TTL) of the `download_access_token`. This is only valid if the `include_fields` query parameter contains `download_access_token`. The range is between 0-604800.
in: query
name: ttl
schema:
maximum: 604800
minimum: 0
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
account_id: EABkdslfBBBdk
duration: 1
host_id: z8yBXksaAAjdhfsfdfkjgg
id: 68000000031879
recording_count: 3
recording_files:
- download_url: https://api.zoom.us/recording/download/Qg75t7xZBtEbAkjdlgbfdngBBBB
file_size: 37285
file_type: MP4
id: 96119skjlfhdshkjf-djkfndjf0-f791
meeting_id: gkABCDEbbbbbbbkPuA==
play_url: https://api.zoom.us/recording/play/Qg75t7xZBtEbAkjdlgbfdngBBBB
recording_end: 2019-08-29T21:55:24Z
recording_start: 2019-08-29T21:54:55Z
recording_type: shared_screen_with_speaker_view
status: completed
- download_url: https://api.zoom.us/recording/download/ABdkEEEfhlgldfjkglfghlkfdklhsg
file_size: 10098
file_type: M4A
id: 5890sfjkdsf-aaaakdf-fbbb618718e
meeting_id: gkABCDEbbbbbbbkPuA==
play_url: https://api.zoom.us/recording/play/ABdkEEEfhlgldfjkglfghlkfdklhsg
recording_end: 2019-08-29T21:55:24Z
recording_start: 2019-08-29T21:54:55Z
recording_type: audio_only
status: completed
- download_url: https://api.zoom.us/recording/download/e2ed-dlkjgdfkgh-kslsdbsjf1a
file_type: TIMELINE
meeting_id: gkABCDEbbbbbbbkPuA==
recording_end: 2019-08-29T21:55:24Z
recording_start: 2019-08-29T21:54:55Z
share_url: https://api.zoom.us/recording/share/abcdkhfdbbfdjbg
start_time: 2019-08-29T21:54:49Z
timezone: America/Los_Angeles
topic: MyTestPollMeeting
total_size: 47383
type: 2
uuid: gkABCDEbbbbbbbkPuA==
schema:
allOf:
- allOf:
- properties:
account_id:
description: Unique Identifier of the user account.
type: string
duration:
description: Meeting duration.
type: integer
host_id:
description: ID of the user set as host of meeting.
type: string
id:
description: Meeting ID - also known as the meeting number.
type: string
recording_count:
description: Number of recording files returned in the response of this API call.
type: string
start_time:
description: The time at which the meeting started.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_size:
description: Total size of the recording.
type: string
type:
description: |-
Type of the meeting that was recorded.
Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
type: string
uuid:
description: Unique Meeting Identifier. Each instance of the meeting will have its own UUID.
type: string
- allOf:
- properties:
recording_files:
description: List of recording file.
items:
allOf:
- description: Recording file object.
properties:
deleted_time:
description: The time at which recording was deleted. Returned in the response only for trash query.
type: string
download_url:
description: |+
The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
**Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
type: string
file_size:
description: The recording file size.
type: number
file_type:
description: |-
The recording file type. The value of this field could be one of the following:
`MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
`TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
`id`, `status`, `file_size`, `recording_type`, and `play_url`.
type: string
id:
description: The recording file ID. Included in the response of general query.
type: string
meeting_id:
description: "The meeting ID. "
type: string
play_url:
description: The URL using which a recording file can be played.
type: string
recording_end:
description: The recording end time. Response in general query.
type: string
recording_start:
description: The recording start time.
type: string
recording_type:
description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
type: string
status:
description: The recording status.
enum:
- completed
type: string
type: object
title: Recording file List
type: array
description: List of recording file.
title: Recording file List
type: object
description: The recording meeting object.
type: object
- properties:
download_access_token:
description: |-
JWT token for downloading the meeting recording.
This is only returned if the `include_fields` query parameter contains `download_access_token`.
type: string
application/xml:
schema:
allOf:
- allOf:
- properties:
account_id:
description: Unique Identifier of the user account.
type: string
duration:
description: Meeting duration.
type: integer
host_id:
description: ID of the user set as host of meeting.
type: string
id:
description: Meeting ID - also known as the meeting number.
type: string
recording_count:
description: Number of recording files returned in the response of this API call.
type: string
start_time:
description: The time at which the meeting started.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_size:
description: Total size of the recording.
type: string
type:
description: |-
Type of the meeting that was recorded.
Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
type: string
uuid:
description: Unique Meeting Identifier. Each instance of the meeting will have its own UUID.
type: string
- allOf:
- properties:
recording_files:
description: List of recording file.
items:
allOf:
- description: Recording file object.
properties:
deleted_time:
description: The time at which recording was deleted. Returned in the response only for trash query.
type: string
download_url:
description: |+
The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
**Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
type: string
file_size:
description: The recording file size.
type: number
file_type:
description: |-
The recording file type. The value of this field could be one of the following:
`MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
`TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
`id`, `status`, `file_size`, `recording_type`, and `play_url`.
type: string
id:
description: The recording file ID. Included in the response of general query.
type: string
meeting_id:
description: "The meeting ID. "
type: string
play_url:
description: The URL using which a recording file can be played.
type: string
recording_end:
description: The recording end time. Response in general query.
type: string
recording_start:
description: The recording start time.
type: string
recording_type:
description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
type: string
status:
description: The recording status.
enum:
- completed
type: string
type: object
title: Recording file List
type: array
description: List of recording file.
title: Recording file List
type: object
description: The recording meeting object.
type: object
- properties:
download_access_token:
description: |-
JWT token for downloading the meeting recording.
This is only returned if the `include_fields` query parameter contains `download_access_token`.
type: string
description: |
**Error Code:** `200`
You do not have the right permissions.
**HTTP Status Code:** `200`
Recording object returned.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `1010`
User not found on this account: {accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
Meeting recording not found.
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `3301`
There is no recording for this meeting.
security:
- OAuth: []
summary: Get meeting recordings
tags:
- Cloud Recording
"/meetings/{meetingId}/recordings/registrants":
get:
description: |
Cloud Recordings of past Zoom Meetings can be made [on-demand](https://support.zoom.us/hc/en-us/articles/360000488283-On-demand-Recordings). Users should be [registered](https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/meetingrecordingregistrantcreate) to view these recordings.
Use this API to list registrants of **On-demand Cloud Recordings** of a past meeting.
**Scopes:** `recording:read:admin`, `recording:read`.
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: meetingRecordingRegistrants
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
- description: The registrant status: `pending` - Registrant's status is pending. `approved` - Registrant's status is approved. `denied` - Registrant's status is denied.
in: query
name: status
schema:
default: approved
enum:
- pending
- approved
- denied
type: string
x-enum-descriptions:
- registrants status is pending
- registrants status is approved
- registrants status is denied
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: |-
**Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
The page number of the current page in the returned records.
in: query
name: page_number
schema:
default: 1
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
page_count: 0
page_number: 1
page_size: 30
registrants:
- address: dsdsfsf st
city: Paris
comments: Amazing!
country: France
create_time: 2019-08-29T23:04:08Z
custom_questions: []
email: shriee@somekindofmail.com
first_name: Shri
id: sskldsbdABBBBBBBB
industry: sfsdf
job_title: sfsdfsdf
last_name: Shree
no_of_employees: "40"
org: dsadsfsf
phone: "000000"
purchasing_time_frame: Within a month
role_in_purchase_process: Influencer
share_url: https://zoom.us/recording/share/IlA1ABCDDJHKNDkkkkkkkTziMw
state: astate
status: approved
zip: "3555354"
total_records: 1
schema:
allOf:
- allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
registrants:
description: List of Registrant objects
items:
allOf:
- properties:
id:
type: string
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
type: array
description: List of Recording Registration
title: Recording Registration List
type: object
description: List of meeting recording registrant
title: Registration List
type: object
application/xml:
schema:
allOf:
- allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
registrants:
description: List of Registrant objects
items:
allOf:
- properties:
id:
type: string
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
type: array
description: List of Recording Registration
title: Recording Registration List
type: object
description: List of meeting recording registrant
title: Registration List
type: object
description: |-
**HTTP Status Code:** `200`
Registrants returned.
"404":
description: |-
**HTTP Status Code:** `404`
Meeting recording not found.
security:
- OAuth: []
summary: List recording registrants
tags:
- Cloud Recording
post:
description: |+
Cloud Recordings of past Zoom Meetings can be made [on-demand](https://support.zoom.us/hc/en-us/articles/360000488283-On-demand-Recordings). Users should be [registered](https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/meetingrecordingregistrantcreate) to view these recordings.
Use this API to register a user to gain access to **On-demand Cloud Recordings** of a past meeting.
**Scopes:** `recording:write:admin`, `recording:write`.
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: meetingRecordingRegistrantCreate
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
multipart/form-data:
schema:
allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
required: true
x-examples:
application/json:
address: 123 Main St
city: San Jose
comments: Welcome to the meeting recording
country: US
custom_questions:
- title: Favorite thing about Zoom
value: Meet Happy
email: mmyemaill@mycompanydomain.com
first_name: Samriddhi
industry: Tech
job_title: DA
last_name: Harris
no_of_employees: 1-20
org: IT
phone: 000-444-4444
purchasing_time_frame: More Than 6 Months
role_in_purchase_process: Influencer
state: CA
zip: "95550"
responses:
"201":
content:
application/json:
examples:
response:
value:
id: 12345666
registrant_id: veniamKIW1Sonseq
share_url: https://zoom.us/recording/share/IpAAABBBBBBA1aqqkzFFgiJ2jpR
topic: cupidatat dolore quis minim aliquip
schema:
properties:
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
registrant_id:
description: Registrant ID
type: string
share_url:
description: "Share URL for the on-demand recording. This includes the “tk” token for the registrant. This is similar to the token that Zoom returns in the URL response to join a registered meeting, for example: `url?tk=xxxx`. Except while the meeting registration token can be used to join the meeting, this token can only be used to watch the recording."
type: string
topic:
description: Meeting Topic
type: string
type: object
application/xml:
schema:
properties:
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
registrant_id:
description: Registrant ID
type: string
share_url:
description: "Share URL for the on-demand recording. This includes the “tk” token for the registrant. This is similar to the token that Zoom returns in the URL response to join a registered meeting, for example: `url?tk=xxxx`. Except while the meeting registration token can be used to join the meeting, this token can only be used to watch the recording."
type: string
topic:
description: Meeting Topic
type: string
type: object
description: |-
**HTTP Status Code:** `201`
Registration submitted.
"404":
description: |-
**HTTP Status Code:** `404`
Meeting recording not found
security:
- OAuth: []
summary: Create a recording registrant
tags:
- Cloud Recording
"/meetings/{meetingId}/recordings/registrants/questions":
get:
description: |
For [on-demand](https://support.zoom.us/hc/en-us/articles/360000488283-On-demand-Recordings) meeting recordings, you can include fields with questions that will be shown to registrants when they register to view the recording.
Use this API to retrieve a list of questions that are displayed for users to complete when registering to view the recording of a specific meeting.
**Scopes:** `recording:read:admin`, `recording:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: recordingRegistrantsQuestionsGet
parameters:
- description: |-
To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
custom_questions:
- answers:
- Yes
- No
required: false
title: Would you like us to contact you for a survey?
type: multiple
questions:
- field_name: address
required: false
schema:
description: Recording Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions
items:
properties:
answers:
description: Answer choices for the question. Can not be used with Short answer type.
items:
type: string
type: array
required:
description: State whether registrants are required to answer custom questions or not.
type: boolean
title:
description: Title of the question.
type: string
type:
description: The type of registration question and answers.
enum:
- short
- single
- multiple
type: string
x-enum-descriptions:
- Short Answer
- Single Answer
- Multiple Answer
type: object
type: array
questions:
description: Array of Registrant Questions
items:
properties:
field_name:
description: Field name.
enum:
- last_name
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Last Name
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: State whether the field is required to be answered by the registrant or not.
type: boolean
type: object
type: array
title: Recording Registrant Questions
type: object
application/xml:
schema:
description: Recording Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions
items:
properties:
answers:
description: Answer choices for the question. Can not be used with Short answer type.
items:
type: string
type: array
required:
description: State whether registrants are required to answer custom questions or not.
type: boolean
title:
description: Title of the question.
type: string
type:
description: The type of registration question and answers.
enum:
- short
- single
- multiple
type: string
x-enum-descriptions:
- Short Answer
- Single Answer
- Multiple Answer
type: object
type: array
questions:
description: Array of Registrant Questions
items:
properties:
field_name:
description: Field name.
enum:
- last_name
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Last Name
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: State whether the field is required to be answered by the registrant or not.
type: boolean
type: object
type: array
title: Recording Registrant Questions
type: object
description: |-
**HTTP Status Code:** `200`
Recording Registrant Question object returned.
"404":
description: |-
**HTTP Status Code:** `404`
Meeting recording or registrant not found.
security:
- OAuth: []
summary: Get registration questions
tags:
- Cloud Recording
patch:
description: |
For [on-demand](https://support.zoom.us/hc/en-us/articles/360000488283-On-demand-Recordings) meeting recordings, you can include fields with questions that will be shown to registrants when they register to view the recording.
Use this API to update registration questions that are to be answered by users while registering to view a recording.
**Scopes:** `recording:write:admin`, `recording:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: recordingRegistrantQuestionUpdate
parameters:
- description: |-
To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
allOf:
- description: Recording Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions
items:
properties:
answers:
description: Answer choices for the question. Can not be used with Short answer type.
items:
type: string
type: array
required:
description: State whether registrants are required to answer custom questions or not.
type: boolean
title:
description: Title of the question.
type: string
type:
description: The type of registration question and answers.
enum:
- short
- single
- multiple
type: string
x-enum-descriptions:
- Short Answer
- Single Answer
- Multiple Answer
type: object
type: array
questions:
description: Array of Registrant Questions
items:
properties:
field_name:
description: Field name.
enum:
- last_name
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Last Name
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: State whether the field is required to be answered by the registrant or not.
type: boolean
type: object
type: array
title: Recording Registrant Questions
type: object
multipart/form-data:
schema:
allOf:
- description: Recording Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions
items:
properties:
answers:
description: Answer choices for the question. Can not be used with Short answer type.
items:
type: string
type: array
required:
description: State whether registrants are required to answer custom questions or not.
type: boolean
title:
description: Title of the question.
type: string
type:
description: The type of registration question and answers.
enum:
- short
- single
- multiple
type: string
x-enum-descriptions:
- Short Answer
- Single Answer
- Multiple Answer
type: object
type: array
questions:
description: Array of Registrant Questions
items:
properties:
field_name:
description: Field name.
enum:
- last_name
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Last Name
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: State whether the field is required to be answered by the registrant or not.
type: boolean
type: object
type: array
title: Recording Registrant Questions
type: object
description: Recording Registrant Questions
required: true
x-examples:
application/json:
custom_questions:
- required: false
title: Are you looking for a job?
type: short
- answers:
- Full-time
- Part-time
- Internship
required: false
title: What kind of job are you looking for?
type: multiple
questions:
- field_name: job_title
required: true
- field_name: last_name
required: true
responses:
"204":
description: |-
**HTTP Status Code:** `200`
Recording Registrant Questions Updated
"404":
description: |-
**HTTP Status Code:** `404`
Meeting recording or Registrant not found
security:
- OAuth: []
summary: Update registration questions
tags:
- Cloud Recording
"/meetings/{meetingId}/recordings/registrants/status":
put:
description: |
A registrant can either be approved or denied from viewing the [on-demand](https://support.zoom.us/hc/en-us/articles/360000488283-On-demand-Recordings) recording.
Use this API to update a registrant's status.
**Scopes:** `recording:write:admin`, `recording:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: meetingRecordingRegistrantStatus
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
description: Registrant Status
properties:
action:
enum:
- approve
- deny
type: string
x-enum-descriptions:
- Approve registrant
- Deny registrant
registrants:
description: List of registrants
items:
properties:
id:
type: string
maximum: 30
type: array
required:
- action
type: object
multipart/form-data:
schema:
description: Registrant Status
properties:
action:
enum:
- approve
- deny
type: string
x-enum-descriptions:
- Approve registrant
- Deny registrant
registrants:
description: List of registrants
items:
properties:
id:
type: string
maximum: 30
type: array
required:
- action
type: object
required: true
x-examples:
application/json:
action: approve
registrants:
- id: "644339795"
- id: "44220011"
- id: "55226611"
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Registrant status updated.
"404":
description: |-
**HTTP Status Code:** `404`
Meeting recording or Registrant not found
security:
- OAuth: []
summary: Update registrant's status
tags:
- Cloud Recording
"/meetings/{meetingId}/recordings/settings":
get:
description: |-
Retrieve settings applied to a meeting's [Cloud Recording](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-Recording).
**Scopes**: `recording:read:admin` `recording:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: recordingSettingUpdate
parameters:
- description: |-
To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
approval_type: 1
authentication_domains: ccc.com
authentication_option: abc
on_demand: false
password: dAbyzK1
recording_authentication: true
send_email_to_host: true
share_recording: none
show_social_share_buttons: true
viewer_download: false
schema:
properties:
approval_type:
description: |-
Approval type for the registration.
`0`- Automatically approve the registration when a user registers.
`1` - Manually approve or deny the registration of a user.
`2` - No registration required to view the recording.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Registrants can watch the recording directly after registration
- Registrants will receive emails then watch the recording after you approve the registration
- Disabled
authentication_domains:
description: Authentication domains.
type: string
authentication_option:
description: Authentication Options.
type: string
on_demand:
description: Determine whether registration isrequired to view the recording.
type: boolean
password:
description: |-
Enable password protection for the recording by setting a password. The password must have a minimum of **eight** characters with a mix of numbers, letters and special characters.
**Note:** If the account owner or the admin has set minimum password strength requirements for recordings via Account Settings, the password value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
minLength: 8
type: string
recording_authentication:
description: Only authenticated users can view.
type: boolean
send_email_to_host:
description: Send an email to host when someone registers to view the recording. This applies for On-demand recordings only.
type: boolean
share_recording:
description: Determine how the meeting recording is shared.
enum:
- publicly
- internally
- none
type: string
x-enum-descriptions:
- Publicly
- Internally(account members only)
- None
show_social_share_buttons:
description: Show social share buttons on registration page. This applies for On-demand recordings only.
type: boolean
topic:
description: Name of the recording.
type: string
viewer_download:
description: Determine whether a viewer can download the recording file or not.
type: boolean
title: Recording settings
type: object
application/xml:
schema:
properties:
approval_type:
description: |-
Approval type for the registration.
`0`- Automatically approve the registration when a user registers.
`1` - Manually approve or deny the registration of a user.
`2` - No registration required to view the recording.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Registrants can watch the recording directly after registration
- Registrants will receive emails then watch the recording after you approve the registration
- Disabled
authentication_domains:
description: Authentication domains.
type: string
authentication_option:
description: Authentication Options.
type: string
on_demand:
description: Determine whether registration isrequired to view the recording.
type: boolean
password:
description: |-
Enable password protection for the recording by setting a password. The password must have a minimum of **eight** characters with a mix of numbers, letters and special characters.
**Note:** If the account owner or the admin has set minimum password strength requirements for recordings via Account Settings, the password value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
minLength: 8
type: string
recording_authentication:
description: Only authenticated users can view.
type: boolean
send_email_to_host:
description: Send an email to host when someone registers to view the recording. This applies for On-demand recordings only.
type: boolean
share_recording:
description: Determine how the meeting recording is shared.
enum:
- publicly
- internally
- none
type: string
x-enum-descriptions:
- Publicly
- Internally(account members only)
- None
show_social_share_buttons:
description: Show social share buttons on registration page. This applies for On-demand recordings only.
type: boolean
topic:
description: Name of the recording.
type: string
viewer_download:
description: Determine whether a viewer can download the recording file or not.
type: boolean
title: Recording settings
type: object
description: |-
**HTTP Status Code:** `200`
Meeting recording settings returned
"404":
description: |-
**HTTP Status Code:** `404`
Meeting recording not found.
security:
- OAuth: []
summary: Get meeting recording settings
tags:
- Cloud Recording
patch:
description: |-
Update settings applied to a meeting's [Cloud Recording](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-Recording)
**Scopes**: `recording:write:admin` `recording:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: recordingSettingsUpdate
parameters:
- description: |-
To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
approval_type:
description: |-
Approval type for the registration.
`0`- Automatically approve the registration when a user registers.
`1` - Manually approve or deny the registration of a user.
`2` - No registration required to view the recording.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Registrants can watch the recording directly after registration
- Registrants will receive emails then watch the recording after you approve the registration
- Disabled
authentication_domains:
description: Authentication domains.
type: string
authentication_option:
description: Authentication Options.
type: string
on_demand:
description: Determine whether registration isrequired to view the recording.
type: boolean
password:
description: |-
Enable password protection for the recording by setting a password. The password must have a minimum of **eight** characters with a mix of numbers, letters and special characters.
**Note:** If the account owner or the admin has set minimum password strength requirements for recordings via Account Settings, the password value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
minLength: 8
type: string
recording_authentication:
description: Only authenticated users can view.
type: boolean
send_email_to_host:
description: Send an email to host when someone registers to view the recording. This applies for On-demand recordings only.
type: boolean
share_recording:
description: Determine how the meeting recording is shared.
enum:
- publicly
- internally
- none
type: string
x-enum-descriptions:
- Publicly
- Internally(account members only)
- None
show_social_share_buttons:
description: Show social share buttons on registration page. This applies for On-demand recordings only.
type: boolean
topic:
description: Name of the recording.
type: string
viewer_download:
description: Determine whether a viewer can download the recording file or not.
type: boolean
title: Recording settings
type: object
multipart/form-data:
schema:
properties:
approval_type:
description: |-
Approval type for the registration.
`0`- Automatically approve the registration when a user registers.
`1` - Manually approve or deny the registration of a user.
`2` - No registration required to view the recording.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Registrants can watch the recording directly after registration
- Registrants will receive emails then watch the recording after you approve the registration
- Disabled
authentication_domains:
description: Authentication domains.
type: string
authentication_option:
description: Authentication Options.
type: string
on_demand:
description: Determine whether registration isrequired to view the recording.
type: boolean
password:
description: |-
Enable password protection for the recording by setting a password. The password must have a minimum of **eight** characters with a mix of numbers, letters and special characters.
**Note:** If the account owner or the admin has set minimum password strength requirements for recordings via Account Settings, the password value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
minLength: 8
type: string
recording_authentication:
description: Only authenticated users can view.
type: boolean
send_email_to_host:
description: Send an email to host when someone registers to view the recording. This applies for On-demand recordings only.
type: boolean
share_recording:
description: Determine how the meeting recording is shared.
enum:
- publicly
- internally
- none
type: string
x-enum-descriptions:
- Publicly
- Internally(account members only)
- None
show_social_share_buttons:
description: Show social share buttons on registration page. This applies for On-demand recordings only.
type: boolean
topic:
description: Name of the recording.
type: string
viewer_download:
description: Determine whether a viewer can download the recording file or not.
type: boolean
title: Recording settings
type: object
description: Meeting recording Settings
required: true
x-examples:
application/json:
approval_type: 1
authentication_domains: ccc.com
authentication_option: abc
on_demand: true
password: 18idxa
recording_authentication: true
send_email_to_host: true
share_recording: internally
show_social_share_buttons: true
viewer_download: false
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Meeting recording setting's updated
"404":
description: |-
**HTTP Status Code:** `404`
Meeting recording not found.
security:
- OAuth: []
summary: Update meeting recording settings
tags:
- Cloud Recording
"/meetings/{meetingId}/recordings/status":
put:
description: |-
Zoom allows users to recover recordings from trash for up to 30 days from the deletion date. Use this API to recover all deleted [Cloud Recordings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-Recording) of a specific meeting.
**Scopes**: `recording:write:admin` `recording:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites**:
* A Pro user with Cloud Recording enabled.
operationId: recordingStatusUpdate
parameters:
- description: |-
To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
requestBody:
$ref: "#/components/requestBodies/recordingStatusUpdateBody"
responses:
"200":
description: |-
**Error Code:** `200`
You do not have the right permissions.
"204":
description: |-
**HTTP Status Code:** `204`
Deleted recordings of the meeting recovered.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `1010`
User does not belong to this account: {accountId}.
"404":
description: |+
**HTTP Status Code:** `404`
Meeting recording not found. **Error Code:** `1001` User does not exist: {userId}.
**Error Code:** `3301` There is no recording for this meeting.
security:
- OAuth: []
summary: Recover meeting recordings
tags:
- Cloud Recording
"/meetings/{meetingId}/recordings/{recordingId}":
delete:
description: |-
Delete a sprecific recording file from a meeting.
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: recordingDeleteOne
parameters:
- description: |-
To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
- description: The recording ID.
in: path
name: recordingId
required: true
schema:
type: string
- description: The recording delete actions: `trash` - Move recording to trash. `delete` - Delete recording permanently.
in: query
name: action
schema:
default: trash
enum:
- trash
- delete
type: string
x-enum-descriptions:
- move recording to trash
- delete recording permanently
responses:
"200":
description: |-
**Error Code:** `200`
You do not have the right permissions.
"204":
description: |-
**HTTP Status Code:** `204`
Meeting recording file deleted.
"400":
description: |-
**HTTP Status Code:** `400` **Error Code:** `1010`
User does not belong to this account: {accountId}.
**Error Code:** `3303`
You can not delete an uncompleted meeting.
"404":
description: |
**HTTP Status Code:** `404`
Meeting recording file not found
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `3301` There is no recording for this meeting.
security:
- OAuth: []
summary: Delete a meeting recording file
tags:
- Cloud Recording
"/meetings/{meetingId}/recordings/{recordingId}/status":
put:
description: |
Zoom allows users to recover recordings from trash for up to 30 days from the deletion date. Use this API to recover a single recording file from the meeting.
**Scopes:** `recording:write:admin` `recording:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: recordingStatusUpdateOne
parameters:
- description: |-
To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
- description: The recording ID.
in: path
name: recordingId
required: true
schema:
type: string
requestBody:
$ref: "#/components/requestBodies/recordingStatusUpdateBody"
responses:
"204":
description: |+
**HTTP Status Code:** `204` Meeting recording recovered.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `1010`
User does not belong to this account: {accountId}.
"404":
description: |-
**HTTP Status Code:** `404` Meeting recording not found.
**Error Code:** `1001` User {userId} does not exist or does not belong to this account.
**Error Code:** `3301`There is no recording for this meeting.
security:
- OAuth: []
summary: Recover a single recording
tags:
- Cloud Recording
"/meetings/{meetingId}/registrants":
get:
description: |-
A host or a user with admin permission can require [registration for a Zoom meeting](https://support.zoom.us/hc/en-us/articles/211579443-Registration-for-Meetings). Use this API to list users that have registered for a meeting.
**Scopes**: `meeting:read:admin` `meeting:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: meetingRegistrants
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
- description: The meeting occurrence ID.
in: query
name: occurrence_id
schema:
type: string
- description: The registrant status: `pending` - Registrant's status is pending. `approved` - Registrant's status is approved. `denied` - Registrant's status is denied.
in: query
name: status
schema:
default: approved
enum:
- pending
- approved
- denied
type: string
x-enum-descriptions:
- registrants status is pending
- registrants status is approved
- registrants status is denied
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: |-
**Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
The page number of the current page in the returned records.
in: query
name: page_number
schema:
default: 1
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
page_count: 1
page_number: 1
page_size: 1
registrants:
- address: 11111 Awesome St
city: Paris
comments: Love using Zoom APIs
country: France
create_time: 2012-04-14T16:55:30.231Z
custom_questions:
- title: Did you enjoy the registration process?
value: Yes, alot.
- title: Would you like to register for our next meeting?
value: Absolutely.
email: somemeail@emailprovider.com
first_name: Tim
id: zjkfsdfjdfhg
industry: Tech
job_title: Developer
join_url: https://success.zoom.us/j/0000000000000
last_name: S.
no_of_employees: 1-20
org: Growth
phone: "00000"
purchasing_time_frame: Within a month
role_in_purchase_process: Not involved
state: Ile-de-France
status: approved
zip: "11000"
total_records: 1
schema:
allOf:
- allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
registrants:
description: List of registrant objects.
items:
allOf:
- properties:
id:
description: Registrant ID.
type: string
type: object
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
- properties:
create_time:
description: The time at which the registrant registered.
format: date-time
type: string
join_url:
description: The URL using which an approved registrant can join the webinar.
format: string
type: string
status:
description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
type: string
type: object
type: array
description: List of users.
title: Registration List
type: object
description: List of users.
title: Registration List
type: object
application/xml:
schema:
allOf:
- allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
registrants:
description: List of registrant objects.
items:
allOf:
- properties:
id:
description: Registrant ID.
type: string
type: object
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
- properties:
create_time:
description: The time at which the registrant registered.
format: date-time
type: string
join_url:
description: The URL using which an approved registrant can join the webinar.
format: string
type: string
status:
description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
type: string
type: object
type: array
description: List of users.
title: Registration List
type: object
description: List of users.
title: Registration List
type: object
description: |-
**HTTP Status Code:** `200`
Successfully listedd meeting registrants.
"300":
description: |
**Error Code:** `300`
Meeting {meetingId} is not found or has expired.
This meeting has not set registration as required: {meetingId}.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `1010`
User does not belong to this account: {accountId}.
**Error Code:** `3003`
You are not the meeting host.
**Error Code:** `3000`
Cannot access meeting info.
"404":
description: |-
**HTTP Status Code:** `404`
Meeting not found.
**Error Code:** `1001`
Meeting host does not exist: {userId}.
security:
- OAuth: []
summary: List meeting registrants
tags:
- Meetings
post:
description: |-
Register a participant for a meeting.
Note that there is a maximum limit of 4999 registrants per meeting and users will see an error if the capacity has reached.
**Prerequisite:**
* Host user type must be "Licensed".
**Scopes:** `meeting:write:admin` `meeting:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: meetingRegistrantCreate
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
- description: Occurrence IDs. You can find these with the meeting get API. Multiple values separated by comma.
in: query
name: occurrence_ids
schema:
type: string
requestBody:
content:
application/json:
schema:
allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
- properties:
language:
description: |-
Registrant's language preference for confirmation emails. The value can be one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
- properties:
auto_approve:
type: boolean
description: " Registrant."
type: object
multipart/form-data:
schema:
allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
- properties:
language:
description: |-
Registrant's language preference for confirmation emails. The value can be one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
- properties:
auto_approve:
type: boolean
description: " Registrant."
type: object
required: true
x-examples:
application/json:
address: 123 Main ST
city: San Jose
comments: Excited to host you.
country: US
custom_questions:
- title: Favorite thing about Zoom
value: Meet Happy
email: myemail@mycompany.com
first_name: Mike
industry: Tech
job_title: DA
last_name: Brown
no_of_employees: 1-20
org: IT
phone: 111-444-4444
purchasing_time_frame: More Than 6 Months
role_in_purchase_process: Influencer
state: CA
zip: "95550"
responses:
"201":
content:
application/json:
examples:
response:
value:
id: 85746065
join_url: amet
registrant_id: a
start_time: culpa mollit
topic: reprehenderit ea ut ex Excepteur
schema:
properties:
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
join_url:
description: |-
Unique URL for this registrant to join the meeting. This URL should only be shared with the registrant for whom the API request was made.
If the meeting was [created](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate) with manual approval type (`approval_type`: 1), the join URL will not be returned in the response.
type: string
registrant_id:
description: Unique identifier of the registrant.
type: string
start_time:
description: The start time for the meeting.
type: string
topic:
description: Topic of the meeting.
type: string
type: object
application/xml:
schema:
properties:
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
join_url:
description: |-
Unique URL for this registrant to join the meeting. This URL should only be shared with the registrant for whom the API request was made.
If the meeting was [created](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate) with manual approval type (`approval_type`: 1), the join URL will not be returned in the response.
type: string
registrant_id:
description: Unique identifier of the registrant.
type: string
start_time:
description: The start time for the meeting.
type: string
topic:
description: Topic of the meeting.
type: string
type: object
description: |-
**HTTP Status Code:** `201`
Registration created.
"300":
description: |-
**Error Code:** `300`
Meeting {meetingId} is not found or has expired.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `1010`
User does not belong to this account: {accountId}.
**Error Code:** `3003`
You are not the meeting host.
**Error Code:** `3043`
Meeting has reached maximum attendee capacity.
**Error Code:** `3000`
Cannot access meeting info.
"404":
description: |-
**HTTP Status Code:** `404`
Meeting not found.
**Error Code:** `1001`
Meeting host does not exist: {userId}.
security:
- OAuth: []
summary: Add meeting registrant
tags:
- Meetings
"/meetings/{meetingId}/registrants/questions":
get:
description: |+
List registration questions that will be displayed to users while [registering for a meeting](https://support.zoom.us/hc/en-us/articles/211579443-Registration-for-Meetings).
**Scopes:** `meeting:read`, `meeting:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: meetingRegistrantsQuestionsGet
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
custom_questions:
- required: false
title: How long have you been working?
type: short
questions:
- field_name: address
required: true
schema:
allOf:
- description: Meeting Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions
items:
properties:
answers:
description: Answer choices for the question. Can not be used for `short` question type as this type of question requires registrants to type out the answer.
items:
type: string
type: array
required:
description: Indicates whether or not the custom question is required to be answered by participants or not.
type: boolean
title:
description: Title of the custom question.
type: string
type:
description: Type of the question being asked.
enum:
- short
- single
type: string
x-enum-descriptions:
- Short Answer
- Single Answer
type: object
type: array
questions:
description: Array of Registrant Questions
items:
properties:
field_name:
description: Field name of the question.
enum:
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: Indicates whether or not the displayed fields are required to be filled out by registrants.
type: boolean
type: object
type: array
title: Meeting Registrant Questions
type: object
application/xml:
schema:
allOf:
- description: Meeting Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions
items:
properties:
answers:
description: Answer choices for the question. Can not be used for `short` question type as this type of question requires registrants to type out the answer.
items:
type: string
type: array
required:
description: Indicates whether or not the custom question is required to be answered by participants or not.
type: boolean
title:
description: Title of the custom question.
type: string
type:
description: Type of the question being asked.
enum:
- short
- single
type: string
x-enum-descriptions:
- Short Answer
- Single Answer
type: object
type: array
questions:
description: Array of Registrant Questions
items:
properties:
field_name:
description: Field name of the question.
enum:
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: Indicates whether or not the displayed fields are required to be filled out by registrants.
type: boolean
type: object
type: array
title: Meeting Registrant Questions
type: object
description: |-
**HTTP Status Code:** `200`
Meeting Registrant Question object returned
"404":
description: |-
**HTTP Status Code:** `404`
Meeting not found
security:
- OAuth: []
summary: "List registration questions "
tags:
- Meetings
patch:
description: |+
Update registration questions that will be displayed to users while [registering for a meeting](https://support.zoom.us/hc/en-us/articles/211579443-Registration-for-Meetings).
**Scopes:** `meeting:write`, `meeting:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: meetingRegistrantQuestionUpdate
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
allOf:
- description: Meeting Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions
items:
properties:
answers:
description: Answer choices for the question. Can not be used for `short` question type as this type of question requires registrants to type out the answer.
items:
type: string
type: array
required:
description: Indicates whether or not the custom question is required to be answered by participants or not.
type: boolean
title:
description: Title of the custom question.
type: string
type:
description: Type of the question being asked.
enum:
- short
- single
type: string
x-enum-descriptions:
- Short Answer
- Single Answer
type: object
type: array
questions:
description: Array of Registrant Questions
items:
properties:
field_name:
description: Field name of the question.
enum:
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: Indicates whether or not the displayed fields are required to be filled out by registrants.
type: boolean
type: object
type: array
title: Meeting Registrant Questions
type: object
multipart/form-data:
schema:
allOf:
- description: Meeting Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions
items:
properties:
answers:
description: Answer choices for the question. Can not be used for `short` question type as this type of question requires registrants to type out the answer.
items:
type: string
type: array
required:
description: Indicates whether or not the custom question is required to be answered by participants or not.
type: boolean
title:
description: Title of the custom question.
type: string
type:
description: Type of the question being asked.
enum:
- short
- single
type: string
x-enum-descriptions:
- Short Answer
- Single Answer
type: object
type: array
questions:
description: Array of Registrant Questions
items:
properties:
field_name:
description: Field name of the question.
enum:
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: Indicates whether or not the displayed fields are required to be filled out by registrants.
type: boolean
type: object
type: array
title: Meeting Registrant Questions
type: object
description: Meeting Registrant Questions
required: true
x-examples:
application/json:
custom_questions:
- required: true
title: How long have you been working?
type: short
questions:
- field_name: address
required: true
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Meeting Registrant Questions Updated
"404":
description: |-
**HTTP Status Code:** `404`
Meeting not found.
security:
- OAuth: []
summary: Update registration questions
tags:
- Meetings
"/meetings/{meetingId}/registrants/status":
put:
description: |-
Update a meeting registrant's status by either approving, cancelling or denying a registrant from joining the meeting.
**Scopes:** `meeting:write:admin` `meeting:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: meetingRegistrantStatus
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
- description: The meeting occurrence ID.
in: query
name: occurrence_id
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
action:
description: Registrant Status: `approve` - Approve registrant. `cancel` - Cancel previously approved registrant's registration. `deny` - Deny registrant.
enum:
- approve
- cancel
- deny
type: string
x-enum-descriptions:
- Approve registrant
- Cancel previously approved registrant
- Deny registrant
registrants:
description: List of registrants.
items:
properties:
email:
type: string
id:
type: string
type: object
maximum: 30
type: array
required:
- action
type: object
multipart/form-data:
schema:
properties:
action:
description: Registrant Status: `approve` - Approve registrant. `cancel` - Cancel previously approved registrant's registration. `deny` - Deny registrant.
enum:
- approve
- cancel
- deny
type: string
x-enum-descriptions:
- Approve registrant
- Cancel previously approved registrant
- Deny registrant
registrants:
description: List of registrants.
items:
properties:
email:
type: string
id:
type: string
type: object
maximum: 30
type: array
required:
- action
type: object
required: true
x-examples:
application/json:
action: approve
registrants:
- email: someemail@companyname.com
id: "173525362"
- email: anotheremail@companyname.com
id: "156234353456"
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Registrant status updated.
"300":
description: |-
**Error Code:** `300`
This meeting has not set registration as required:{meetingId}.
"400":
description: |+
**HTTP Status Code:** `400`
**Error Code:** `1010`
User does not belong to this account: {accountId}.
**Error Code:** `3000`
Cannot access meeting information.
**Error Code:** `3003`
You're not the meeting host.
"404":
description: |
**HTTP Status Code:** `404`
Meeting or registrant not found.
**Error Code:** `1001`
User does not exist: {userId}.
security:
- OAuth: []
summary: Update registrant's status
tags:
- Meetings
"/meetings/{meetingId}/registrants/{registrantId}":
delete:
description: |-
Delete a meeting registrant.
**Scopes**: `meeting:write:admin` `meeting:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: meetingregistrantdelete
parameters:
- description: The meeting occurence ID.
in: query
name: occurrence_id
schema:
type: string
- description: The meeting ID.
in: path
name: meetingId
required: true
schema:
type: integer
- description: The meeting registrant ID.
in: path
name: registrantId
required: true
schema:
type: string
responses:
"204":
description: |-
**HTTP status code:** `204`
OK
"400":
description: |-
**HTTP status code:** `400`
Bad Request
**Error code:** `200`
Only available for paid users: {0}.
**Error code:** `300`
The value that you entered for the Registrant ID field is invalid. Enter a valid value and try again.
**Error code:** `404`
Registration has not been enabled for this meeting: {0}.
**Error code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error code:** `3000`
Cannot access webinar info. ***Note:** Zoom throws this error when the meetingId is a webinarId.*
Registrant {0} was not found.
**Error code:** `3001`
Meeting does not exist: {0}.
summary: Delete a meeting registrant
tags:
- Meetings
"/meetings/{meetingId}/status":
put:
description: |-
Update the status of a meeting.
**Scopes:** `meeting:write:admin` `meeting:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: meetingStatus
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
properties:
action:
description: |
`end` - End a meeting.
`recover` - [Recover](https://support.zoom.us/hc/en-us/articles/360038297111-Recover-a-deleted-meeting) a deleted meeting.
enum:
- end
- recover
type: string
type: object
multipart/form-data:
schema:
properties:
action:
description: |
`end` - End a meeting.
`recover` - [Recover](https://support.zoom.us/hc/en-us/articles/360038297111-Recover-a-deleted-meeting) a deleted meeting.
enum:
- end
- recover
type: string
type: object
required: true
x-examples:
application/json:
action: end
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Meeting updated.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `1010`
User does not belong to this account: {accountId}.
**Error Code:** `3000`
Cannot access meeting info.
**Error Code:** `3003`
You're not the meeting host.
**Error Code:** `3063`
Can not end on-premise user's meeting: {meetingId}.
"404":
description: |+
**HTTP Status Code:** `404`
Meeting not found.
**Error Code:** `1001`
Meeting host does not exist: {userId}.
security:
- OAuth: []
summary: Update meeting status
tags:
- Meetings
/metrics/client/feedback:
get:
description: |-
Retrieve survey results from [Zoom meetings client feedback](https://support.zoom.us/hc/en-us/articles/115005855266-End-of-Meeting-Feedback-Survey#h_e30d552b-6d8e-4e0a-a588-9ca8180c4dbf). You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
**Prerequisites:**
* Business or higher account
* [Feedback to Zoom](https://support.zoom.us/hc/en-us/articles/115005838023) enabled.
**Scope:** `account:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: dashboardClientFeedback
parameters:
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
client_feedbacks:
- feedback_id: "53532100000"
feedback_name: Poor audio quality.
participants_count: 1
- feedback_id: "53532100000"
feedback_name: They could not hear us.
participants_count: 2
from: 2013-03-16
to: 2013-04-16
total_records: 2
schema:
properties:
client_feedbacks:
items:
properties:
feedback_id:
description: Feedback Id
type: string
feedback_name:
description: Feedback Name
type: string
participants_count:
description: The number of participants that upvoted the feedback.
type: integer
type: object
type: array
from:
description: Start date for this report
format: date
type: string
to:
description: End date for this report
format: date
type: string
total_records:
description: The number of all records available across pages
type: integer
type: object
application/xml:
schema:
properties:
client_feedbacks:
items:
properties:
feedback_id:
description: Feedback Id
type: string
feedback_name:
description: Feedback Name
type: string
participants_count:
description: The number of participants that upvoted the feedback.
type: integer
type: object
type: array
from:
description: Start date for this report
format: date
type: string
to:
description: End date for this report
format: date
type: string
total_records:
description: The number of all records available across pages
type: integer
type: object
description: |-
**HTTP Status Code:** `200`
Client Feedback details returned.
security:
- OAuth: []
summary: List Zoom meetings client feedback
tags:
- Dashboards
"/metrics/client/feedback/{feedbackId}":
get:
description: |-
Retrieve detailed information on a [Zoom meetings client feedback](https://support.zoom.us/hc/en-us/articles/115005855266-End-of-Meeting-Feedback-Survey#h_e30d552b-6d8e-4e0a-a588-9ca8180c4dbf). You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
**Prerequisites:**
* Business or higher account
* [Feedback to Zoom](https://support.zoom.us/hc/en-us/articles/115005838023) enabled.
**Scope:** `dashboard_home:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
`
operationId: dashboardClientFeedbackDetail
parameters:
- description: Feedback Detail Id
in: path
name: feedbackId
required: true
schema:
type: string
- in: query
name: from
schema:
format: date
type: string
- in: query
name: to
schema:
format: date
type: string
- in: query
name: page_size
schema:
default: 30
type: integer
- in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
client_feedback_details:
- email: hdfgjsfhdfbs@someemail.sdfkhjdf
meeting_id: "3789500000000"
participant_name: Meghan Styles
time: 2017-10-21T11:35:33.480Z
from: 2017-09-28
next_page_token: w7587w4eiyfsudgf
page_size: 30
to: 2017-10-28
schema:
allOf:
- properties:
from:
description: Start date for this report
format: date
type: string
to:
description: End date for this report
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
type: string
page_size:
default: 30
description: "The amount of records returns within a single API call. "
maximum: 300
type: integer
type: object
- properties:
client_feedback_details:
items:
properties:
email:
description: Email address of the participant.
type: string
meeting_id:
description: Meeting ID
type: string
participant_name:
description: Participant Name
type: string
time:
description: Time at which the feedback was submitted by the participant.
format: date-time
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- properties:
from:
description: Start date for this report
format: date
type: string
to:
description: End date for this report
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
type: string
page_size:
default: 30
description: "The amount of records returns within a single API call. "
maximum: 300
type: integer
type: object
- properties:
client_feedback_details:
items:
properties:
email:
description: Email address of the participant.
type: string
meeting_id:
description: Meeting ID
type: string
participant_name:
description: Participant Name
type: string
time:
description: Time at which the feedback was submitted by the participant.
format: date-time
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Client Feedback details returned
security:
- OAuth: []
summary: Get zoom meetings client feedback
tags:
- Dashboards
/metrics/client/satisfaction:
get:
description: |-
If the [End of Meeting Feedback Survey](https://support.zoom.us/hc/en-us/articles/115005855266) option is enabled, attendees will be prompted with a survey window where they can tap either the **Thumbs Up** or **Thumbs Down** button that indicates their Zoom meeting experience. With this API, you can get information on the attendees' meeting satisfaction. Specify a monthly date range for the query using the from and to query parameters. The month should fall within the last six months.
To get information on the survey results with negative experiences (indicated by **Thumbs Down**), use the [Get Zoom Meetings Client Feedback API](https://marketplace.zoom.us/docs/api-reference/zoom-api/dashboards/dashboardclientfeedbackdetail).
**Scopes:** `dashboard:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: listMeetingSatisfaction
parameters:
- description: "The start date for the query in “yyyy-mm-dd” format. "
in: query
name: from
schema:
format: date
type: string
- description: "The end date for the query in “yyyy-mm-dd” format. "
in: query
name: to
schema:
format: date
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
client_satisfaction:
- date: 2019-08-05
good_count: 5
none_count: 0
not_good_count: 1
satisfaction_percent: 100
- date: 2019-08-06
good_count: 0
none_count: 0
not_good_count: 0
satisfaction_percent: 100
from: 2019-08-05
to: 2019-09-05
total_records: 30
schema:
properties:
client_satisfaction:
items:
properties:
date:
description: Date of the report.
format: date
type: string
good_count:
description: The total number of "thumbs up" received for this meeting.
type: integer
none_count:
description: The total number of attendees who didn't submit any response (neither thumbs up nor thumbs down).
type: integer
not_good_count:
description: The total number of "thumbs down" received for this meeting.
type: integer
satisfaction_percent:
description: |-
Satisfaction Percentage.
The satisfaction percentage is calculated as `(good_count + none_count)` / `total_count`.
format: int64
type: integer
type: object
type: array
from:
description: Start date for this report in 'yyyy-mm-dd' format.
format: date
type: string
to:
description: End date for this report in 'yyyy-mm-dd' format.
format: date
type: string
total_records:
description: The total number of records available across all pages.
type: integer
type: object
application/xml:
schema:
properties:
client_satisfaction:
items:
properties:
date:
description: Date of the report.
format: date
type: string
good_count:
description: The total number of "thumbs up" received for this meeting.
type: integer
none_count:
description: The total number of attendees who didn't submit any response (neither thumbs up nor thumbs down).
type: integer
not_good_count:
description: The total number of "thumbs down" received for this meeting.
type: integer
satisfaction_percent:
description: |-
Satisfaction Percentage.
The satisfaction percentage is calculated as `(good_count + none_count)` / `total_count`.
format: int64
type: integer
type: object
type: array
from:
description: Start date for this report in 'yyyy-mm-dd' format.
format: date
type: string
to:
description: End date for this report in 'yyyy-mm-dd' format.
format: date
type: string
total_records:
description: The total number of records available across all pages.
type: integer
type: object
description: |-
**HTTP Status Code:** `200`
Client satisfaction data returned.
security:
- OAuth: []
summary: List client meeting satisfaction
tags:
- Dashboards
/metrics/crc:
get:
description: |-
A Cloud Room Connector allows H.323/SIP endpoints to connect to a Zoom meeting.
Use this API to get the hour by hour CRC Port usage for a specified period of time.
**Prerequisites:**
* Business, Education or API Plan.
* Room Connector must be enabled on the account.
**Scopes:** `dashboard_crc:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: dashboardCRC
parameters:
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
crc_ports_usage:
- crc_ports_hour_usage:
- hour: sed
max_usage: 8
total_usage: 14
date_time: 2019-05-01T15:13:39.424Z
from: 2019-04-03
to: 2019-04-04
schema:
allOf:
- properties:
from:
description: Start date for this report.
format: date
type: string
to:
description: End date for this report.
format: date
type: string
- properties:
crc_ports_usage:
items:
properties:
crc_ports_hour_usage:
items:
properties:
hour:
description: Hour in the day, during which the CRC was used. For example if the CRC was used at 11 pm, the value of this field will be 23.
type: string
max_usage:
description: The maximum number of concurrent ports that are being used in that hour.
type: integer
total_usage:
description: The total number of H.323/SIP connections in that hour.
type: integer
type: object
type: array
date_time:
description: The date and time of the port usage.
format: date-time
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- properties:
from:
description: Start date for this report.
format: date
type: string
to:
description: End date for this report.
format: date
type: string
- properties:
crc_ports_usage:
items:
properties:
crc_ports_hour_usage:
items:
properties:
hour:
description: Hour in the day, during which the CRC was used. For example if the CRC was used at 11 pm, the value of this field will be 23.
type: string
max_usage:
description: The maximum number of concurrent ports that are being used in that hour.
type: integer
total_usage:
description: The total number of H.323/SIP connections in that hour.
type: integer
type: object
type: array
date_time:
description: The date and time of the port usage.
format: date-time
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
CRC usage returned.
Only available for paid accounts that have enabled the Dashboard feature.
security:
- OAuth: []
summary: Get CRC port usage
tags:
- Dashboards
/metrics/im:
get:
description: |+
Get [metrics](https://support.zoom.us/hc/en-us/articles/204654719-Dashboard#h_cc7e9749-1c70-4afb-a9a2-9680654821e4) on how users are utilizing the Zoom Chat Client.
You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
**Scope:** `dashboard_im:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Resource-intensive`
**Prerequisites:**
* Business or a higher plan.
operationId: dashboardIM
parameters:
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
from: 2019-04-09
page_count: 1
page_size: 1
to: 2019-05-09
total_records: 1
users:
- calls_receive: 5
calls_send: 1
email: ipsum@ipsumemailksfj.sfhkf
emoji_receive: 5
emoji_send: 4
files_receive: 8
files_send: 3
group_receive: 5
group_send: 5
images_receive: 2
images_send: 5
total_receive: 30
total_send: 20
user_id: sdfjk393lklrf
user_name: culpa ipsum
videos_receive: 2
videos_send: 1
voice_receive: 3
voice_send: 0
schema:
allOf:
- properties:
from:
description: Start date for this report.
format: date
type: string
to:
description: End date for this report.
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
users:
items:
properties:
calls_receive:
description: Total number of instant meeting calls received by the user.
type: integer
calls_send:
description: Total number of instant meeting calls made by the user.
type: integer
email:
description: User email.
format: email
type: string
emoji_receive:
description: Total number of emojis received by the user.
type: integer
emoji_send:
description: Total number of emojis sent by the user.
type: integer
files_receive:
description: Total number of files received by the user.
type: integer
files_send:
description: Total number of files sent by the user.
type: integer
group_receive:
description: Total number of messages received by the user in channels.
type: integer
group_send:
description: Total number of messages sent by the user in channels.
type: integer
images_receive:
description: Total number of images received by the user.
type: integer
images_send:
description: Total number of images sent by the user.
type: integer
total_receive:
description: Total number of messages received by the user.
type: integer
total_send:
description: Total number of messages sent by the user.
type: integer
user_id:
description: User ID.
type: string
user_name:
description: User display name.
type: string
videos_receive:
description: "Total number of video files received by the user. "
type: integer
videos_send:
description: Total number of video files sent by the user.
type: integer
voice_receive:
description: Total number of voice files received by the user.
type: integer
voice_send:
description: Total number of voice files sent by the user.
type: integer
type: object
type: array
type: object
application/xml:
schema:
allOf:
- properties:
from:
description: Start date for this report.
format: date
type: string
to:
description: End date for this report.
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
users:
items:
properties:
calls_receive:
description: Total number of instant meeting calls received by the user.
type: integer
calls_send:
description: Total number of instant meeting calls made by the user.
type: integer
email:
description: User email.
format: email
type: string
emoji_receive:
description: Total number of emojis received by the user.
type: integer
emoji_send:
description: Total number of emojis sent by the user.
type: integer
files_receive:
description: Total number of files received by the user.
type: integer
files_send:
description: Total number of files sent by the user.
type: integer
group_receive:
description: Total number of messages received by the user in channels.
type: integer
group_send:
description: Total number of messages sent by the user in channels.
type: integer
images_receive:
description: Total number of images received by the user.
type: integer
images_send:
description: Total number of images sent by the user.
type: integer
total_receive:
description: Total number of messages received by the user.
type: integer
total_send:
description: Total number of messages sent by the user.
type: integer
user_id:
description: User ID.
type: string
user_name:
description: User display name.
type: string
videos_receive:
description: "Total number of video files received by the user. "
type: integer
videos_send:
description: Total number of video files sent by the user.
type: integer
voice_receive:
description: Total number of voice files received by the user.
type: integer
voice_send:
description: Total number of voice files sent by the user.
type: integer
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
IM details returned.
Only available for paid accounts that have enabled the dashboard feature.
security:
- OAuth: []
summary: Get IM metrics
tags:
- Dashboards
/metrics/issues/zoomrooms:
get:
description: |-
Get information on top 25 Zoom Rooms with issues in a month. The month specified with the "from" and "to" range should fall within the last six months.
**Scope:** `dashboard_home:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Business or a higher plan.
* Zoom Room must be enabled in the account.
operationId: dashboardIssueZoomRoom
parameters:
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
responses:
"200":
content:
application/json:
schema:
allOf:
- properties:
from:
description: Start date for this report
format: date
type: string
to:
description: End date for this report
format: date
type: string
total_records:
description: The number of all records available across pages
type: integer
- properties:
zoom_rooms:
items:
properties:
id:
description: Zoom Room ID
type: string
issues_count:
description: Issue Count of Zoom Room
type: integer
room_name:
description: Zoom Room Name
type: string
type: array
application/xml:
schema:
allOf:
- properties:
from:
description: Start date for this report
format: date
type: string
to:
description: End date for this report
format: date
type: string
total_records:
description: The number of all records available across pages
type: integer
- properties:
zoom_rooms:
items:
properties:
id:
description: Zoom Room ID
type: string
issues_count:
description: Issue Count of Zoom Room
type: integer
room_name:
description: Zoom Room Name
type: string
type: array
description: |-
**HTTP Status Code:** `200`
Zoom Room with issue details returned
security:
- OAuth: []
summary: Get top 25 Zoom Rooms with issues
tags:
- Dashboards
"/metrics/issues/zoomrooms/{zoomroomId}":
get:
description: |-
Get information about the issues that occured on the Top 25 **Zoom Rooms with issues** in an acount. You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
**Scope:** `dashboard_home:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Business or a higher plan.
* Zoom Room must be enabled in the account.
operationId: dashboardIssueDetailZoomRoom
parameters:
- description: The Zoom room ID.
in: path
name: zoomroomId
required: true
schema:
type: string
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
from: 2019-02-28
issue_details:
- issue: Zoom room is offline
time: 2019-03-07T11:17:00.956Z
page_count: 1
page_size: 1
to: 2019-03-28
total_records: 1
schema:
allOf:
- properties:
from:
description: Start date for this report
format: date
type: string
to:
description: End date for this report
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
issue_details:
items:
properties:
issue:
description: |-
Zoom Room Issue Detail. The value of the this field could be one of the following:
* `Room Controller disconnected`
* `Room Controller connected`
* `Selected camera has disconnected`
* `Selected camera is reconnected`
* `Selected microphone has disconnected`
* `Selected microphone is reconnected`
* `Selected speaker has disconnected`
* `Selected speaker is reconnected`
* `Zoom room is offline`
* `Zoom room is online`
* `High CPU usage is detected`
* `Low bandwidth network is detected`
* `{name} battery is low`
* `{name} battery is normal`
* `{name} disconnected`
* `{name} connected`
* `{name} is not charging`
Possible values for {name}:
* Zoom Rooms Computer
* Controller
* Scheduling Display
type: string
time:
description: Time at which the issue was encountered.
format: date-time
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- properties:
from:
description: Start date for this report
format: date
type: string
to:
description: End date for this report
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
issue_details:
items:
properties:
issue:
description: |-
Zoom Room Issue Detail. The value of the this field could be one of the following:
* `Room Controller disconnected`
* `Room Controller connected`
* `Selected camera has disconnected`
* `Selected camera is reconnected`
* `Selected microphone has disconnected`
* `Selected microphone is reconnected`
* `Selected speaker has disconnected`
* `Selected speaker is reconnected`
* `Zoom room is offline`
* `Zoom room is online`
* `High CPU usage is detected`
* `Low bandwidth network is detected`
* `{name} battery is low`
* `{name} battery is normal`
* `{name} disconnected`
* `{name} connected`
* `{name} is not charging`
Possible values for {name}:
* Zoom Rooms Computer
* Controller
* Scheduling Display
type: string
time:
description: Time at which the issue was encountered.
format: date-time
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Zoom Room with issue details returned
security:
- OAuth: []
summary: Get issues of Zoom Rooms
tags:
- Dashboards
/metrics/meetings:
get:
description: |-
List total live or past meetings that occurred during a specified period of time. This overview will show if features such as audio, video, screen sharing, and recording were being used in the meeting. You can also see the license types of each user on your account. You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
**Scopes:** `dashboard_meetings:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Resource-intensive`
**Prerequisites:**
* Business or a higher plan.
operationId: dashboardMeetings
parameters:
- description: |-
Specify a value to get the response for the corresponding meeting type. The value of this field can be one of the following:
`past` - Meeting that already occurred in the specified date range. `pastOne` - Past meetings that were attended by only one user. `live` - Live meetings.
If you do not provide this field, the default value will be `live` and thus, the API will only query responses for live meetings.
in: query
name: type
schema:
default: live
enum:
- past
- pastOne
- live
type: string
x-enum-descriptions:
- past meetings
- past one user meetings
- live meetings
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: Set the value of this field to "tracking_fields" if you would like to include tracking fields of each meeting in the response.
in: query
name: include_fields
schema:
enum:
- tracking_fields
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
from: string [date]
meetings:
- duration: string
email: string
end_time: string [date-time]
has_3rd_party_audio: boolean
has_pstn: boolean
has_recording: boolean
has_screen_share: boolean
has_sip: boolean
has_video: boolean
has_voip: boolean
host: string
id: integer
participants: integer
start_time: string [date-time]
topic: string
user_type: string
uuid: string [uuid]
next_page_token: string
page_count: integer
page_size: integer
to: string [date]
total_records: integer
schema:
allOf:
- properties:
from:
description: Start date for this report in 'yyyy-mm-dd' format.
format: date
type: string
to:
description: End date for this report in 'yyyy-mm-dd' format.
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
meetings:
description: Array of meeting objects.
items:
description: Meeting metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the meeting.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the meeting.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: "Meeting duration. Formatted as hh:mm:ss, for example: `16:08` for 16 minutes and 8 seconds."
type: string
email:
description: Email address of the host.
type: string
end_time:
description: Meeting end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
type: boolean
has_pstn:
description: Indicates whether or not the PSTN was used in the meeting.
type: boolean
has_recording:
description: "Indicates whether or not the recording feature was used in the meeting. "
type: boolean
has_screen_share:
description: Indicates whether or not screenshare feature was used in the meeting.
type: boolean
has_sip:
description: Indicates whether or not someone joined the meeting using SIP.
type: boolean
has_video:
description: Indicates whether or not video was used in the meeting.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used in the meeting.
type: boolean
host:
description: Host display name.
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
in_room_participants:
description: The number of Zoom Room participants in the meeting.
type: integer
participants:
description: Meeting participant count.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields and values assigned to the meeting.
items:
properties:
field:
description: Label of the tracking field.
maxLength: 64
type: string
value:
description: Value of the tracking field.
maxLength: 256
type: string
type: object
type: array
user_type:
description: License type of the user.
type: string
uuid:
description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
format: uuid
type: string
title: Metrics
type: object
type: array
type: object
application/xml:
schema:
allOf:
- properties:
from:
description: Start date for this report in 'yyyy-mm-dd' format.
format: date
type: string
to:
description: End date for this report in 'yyyy-mm-dd' format.
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
meetings:
description: Array of meeting objects.
items:
description: Meeting metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the meeting.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the meeting.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: "Meeting duration. Formatted as hh:mm:ss, for example: `16:08` for 16 minutes and 8 seconds."
type: string
email:
description: Email address of the host.
type: string
end_time:
description: Meeting end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
type: boolean
has_pstn:
description: Indicates whether or not the PSTN was used in the meeting.
type: boolean
has_recording:
description: "Indicates whether or not the recording feature was used in the meeting. "
type: boolean
has_screen_share:
description: Indicates whether or not screenshare feature was used in the meeting.
type: boolean
has_sip:
description: Indicates whether or not someone joined the meeting using SIP.
type: boolean
has_video:
description: Indicates whether or not video was used in the meeting.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used in the meeting.
type: boolean
host:
description: Host display name.
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
in_room_participants:
description: The number of Zoom Room participants in the meeting.
type: integer
participants:
description: Meeting participant count.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields and values assigned to the meeting.
items:
properties:
field:
description: Label of the tracking field.
maxLength: 64
type: string
value:
description: Value of the tracking field.
maxLength: 256
type: string
type: object
type: array
user_type:
description: License type of the user.
type: string
uuid:
description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
format: uuid
type: string
title: Metrics
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Meetings returned.
Only available for paid accounts that have dashboard feature enabled.
"300":
description: |-
**Error Code:** `300`
The next page token is invalid or expired.
security:
- OAuth: []
summary: List meetings
tags:
- Dashboards
"/metrics/meetings/{meetingId}":
get:
description: |-
Get details on live or past meetings. This overview will show if features such as audio, video, screen sharing, and recording were being used in the meeting. You can also see the license types of each user on your account. You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
**Scopes:** `dashboard_meetings:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Business or a higher plan.
operationId: dashboardMeetingDetail
parameters:
- description: |-
The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
- description: "The meeting types: `past` - Past meetings. `pastOne` - Past one user meetings. `live` - Live meetings."
in: query
name: type
schema:
default: live
enum:
- past
- pastOne
- live
type: string
x-enum-descriptions:
- past meeting
- past one user meeting
- live meeting
responses:
"200":
content:
application/json:
examples:
response:
value:
duration: 30:00
email: so@djkfsfj.gh
end_time: 2007-06-16T16:59:42.078Z
has_3rd_party_audio: false
has_pstn: false
has_recording: false
has_screen_share: false
has_sip: false
has_video: false
has_voip: false
host: cool host
id: 33281536
in_room_participants: 3
participants: 4874645
start_time: 2007-06-16T16:55:42.078Z
topic: My meeting
user_type: Pro|Webinar100
uuid: carreter@-2c9b447f3
schema:
description: Meeting metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the meetinh.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the meeting.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: Meeting duration.
type: string
email:
description: Email address of the host.
type: string
end_time:
description: Meeting end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
type: boolean
has_pstn:
description: Indicates whether or not the PSTN was used in the meeting.
type: boolean
has_recording:
description: "Indicates whether or not the recording feature was used in the meeting. "
type: boolean
has_screen_share:
description: Indicates whether or not screenshare feature was used in the meeting.
type: boolean
has_sip:
description: Indicates whether or not someone joined the meeting using SIP.
type: boolean
has_video:
description: Indicates whether or not video was used in the meeting.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used in the meeting.
type: boolean
host:
description: Host display name.
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
in_room_participants:
description: The number of Zoom Room participants in the meeting.
type: integer
participants:
description: Meeting participant count.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
user_type:
description: License type of the user.
type: string
uuid:
description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
format: uuid
type: string
title: Meeting Metrics
type: object
application/xml:
schema:
description: Meeting metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the meetinh.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the meeting.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: Meeting duration.
type: string
email:
description: Email address of the host.
type: string
end_time:
description: Meeting end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
type: boolean
has_pstn:
description: Indicates whether or not the PSTN was used in the meeting.
type: boolean
has_recording:
description: "Indicates whether or not the recording feature was used in the meeting. "
type: boolean
has_screen_share:
description: Indicates whether or not screenshare feature was used in the meeting.
type: boolean
has_sip:
description: Indicates whether or not someone joined the meeting using SIP.
type: boolean
has_video:
description: Indicates whether or not video was used in the meeting.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used in the meeting.
type: boolean
host:
description: Host display name.
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
in_room_participants:
description: The number of Zoom Room participants in the meeting.
type: integer
participants:
description: Meeting participant count.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
user_type:
description: License type of the user.
type: string
uuid:
description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
format: uuid
type: string
title: Meeting Metrics
type: object
description: |-
**HTTP Status Code:** `200`
Meeting returned.
Only available for paid accounts that have enabled the dashboard feature.
"300":
description: |-
**Error Code:** `300`
Can not access webinar info, {meetingId}.
"404":
description: |
**HTTP Status Code:** `404`
**Error Code:** `3001`
Meeting ID is invalid or the meeting has not ended yet.
This meeting's details are not available.
security:
- OAuth: []
summary: Get meeting details
tags:
- Dashboards
"/metrics/meetings/{meetingId}/participants":
get:
description: |-
Get a list of participants from live or past meetings.
If you do not provide the `type` query parameter, the default value will be set to `live` and thus, you will only see metrics for participants in a live meeting, if any meeting is currently being conducted. To view metrics on past meeting participants, provide the appropriate value for `type`. You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
**Scopes:** `dashboard_meetings:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:** Business or a higher plan.
operationId: dashboardMeetingParticipants
parameters:
- description: |-
The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
- description: "The meeting types: `past` - Past meetings. `pastOne` - Past one user meetings. `live` - Live meetings."
in: query
name: type
schema:
default: live
enum:
- past
- pastOne
- live
type: string
x-enum-descriptions:
- past meeting
- past one user meeting
- live meeting
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: Provide `registrant_id` as the value for this field if you would like to see the registrant ID attribute in the response of this API call. A registrant ID is a unique identifier of a [meeting registrant](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrants). This is not supported for `live` meeting types.
in: query
name: include_fields
schema:
enum:
- registrant_id
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: ""
page_count: 1
page_size: 30
participants:
- camera: FaceTime HD Camera
connection_type: P2P
data_center: SC
device: WIN
domain: Dojo-workspace
harddisk_id: sed proident in
id: d52f19c548b88490b5d16fcbd38
ip_address: 127.0.0.1
join_time: 2019-09-07T13:15:02.837Z
leave_reason: "Dojo left the meeting. Reason: Host ended the meeting."
leave_time: 2019-09-07T13:15:09.837Z
location: New York
mac_addr: " 00:0a:95:9d:68:16"
microphone: Plantronics BT600
network_type: Wired
pc_name: dojo's pc
recording: false
share_application: false
share_desktop: true
share_whiteboard: true
speaker: Plantronics BT600
status: in_waiting_room
user_id: 32dsfsd4g5gd
user_name: dojo
version: 4.4.55383.0716
- connection_type: UDP
data_center: SC
device: Android
domain: Rea-workspace
harddisk_id: ""
id: z8aaaaaaCfp8uQ
ip_address: 120.000.000
join_time: 2019-08-02T15:31:48Z
leave_reason: "Rea left the meeting. Reason: Host closed the meeting."
leave_time: 2019-08-02T16:04:12Z
location: San Jose (US)
mac_addr: ""
network_type: Wifi
pc_name: Rea's PC
recording: false
share_application: false
share_desktop: false
share_whiteboard: false
user_id: "1670000000"
user_name: Rea
version: 4.4.55383.0716
total_records: 2
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
participants:
description: Array of participant session objects. If a participant left a meeting and rejoined the same meeting, their information will appear multiple times (as many times as they joined the meeting).
items:
properties:
audio_quality:
description: Audio quality of the participant.
enum:
- " "
- good
- fair
- poor
- bad
type: string
camera:
description: The type of camera used by participant during the meeting.
type: string
connection_type:
description: Participant connection type.
type: string
customer_key:
description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
maxLength: 15
type: string
data_center:
description: Data Center where participant's meeting data is stored.
type: string
device:
description: |-
The type of device using which the participant joined the meeting. The possible values for this field are:
* `Phone`: Participant joined via PSTN.
* `H.323/SIP`: Participant joined via an H.323 or SIP device.
* `Windows`: Participant joined via VoIP using a Windows device.
* `Mac`: Participant joined via VoIP using a Mac device.
* `iOS`: Participant joined via VoIP using an iOS device.
* `Android`: Participant joined via VoIP using an Android device.
type: string
domain:
description: Participant's PC domain.
type: string
email:
description: Email address of the participant.
format: email
type: string
harddisk_id:
description: Participant's hard disk ID.
type: string
id:
description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
format: uuid
type: string
in_room_participants:
description: The number of participants who joined via Zoom Room.
type: integer
ip_address:
description: Participant's IP address.
type: string
join_time:
description: The time at which participant joined the meeting.
format: date-time
type: string
leave_reason:
description: Possible reasons for why participant left the meeting.
type: string
leave_time:
description: The time at which a participant left the meeting. For live meetings, this field will only be returned if a participant has left the ongoing meeting.
format: date-time
type: string
location:
description: Participant's location.
type: string
mac_addr:
description: Participant's MAC address.
type: string
microphone:
description: The type of Microphone that participant used during the meeting.
type: string
network_type:
description: Participant's network type.
enum:
- Wired
- Wifi
- PPP
- Cellular (3G and 4G)
- Others
type: string
pc_name:
description: Name of Participant's PC.
type: string
recording:
description: Indicates whether or not recording was used during the meeting.
type: boolean
registrant_id:
description: Unique identifier of the registrant. This field is only returned if you entered "registrant_id" as the value of `include_fields` query parameter. This is not supported for `live` meeting types.
type: string
screen_share_quality:
description: Screen share quality of the participant.
enum:
- " "
- good
- fair
- poor
- bad
type: string
share_application:
description: "Indicates whether or not a user selected to share an iPhone/iPad app during the screenshare. "
type: boolean
share_desktop:
description: "Indicates whether or not a user selected to share their desktop during the screenshare. "
type: boolean
share_whiteboard:
description: "Indicates whether or not a user selected to share their whiteboard during the screenshare. "
type: boolean
speaker:
description: The type of speaker participant used during the meeting.
type: string
status:
description: |-
Indicates whether the participant is in the waiting room or in the meeting.
The value of this field can be `in_meeting` or `in_waiting_room`.
enum:
- in_meeting
- in_waiting_room
type: string
user_id:
description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
type: string
user_name:
description: Participant display name.
type: string
version:
description: Participant's Zoom Client version.
type: string
video_quality:
description: Video quality of the participant.
enum:
- " "
- good
- fair
- poor
- bad
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
participants:
description: Array of participant session objects. If a participant left a meeting and rejoined the same meeting, their information will appear multiple times (as many times as they joined the meeting).
items:
properties:
audio_quality:
description: Audio quality of the participant.
enum:
- " "
- good
- fair
- poor
- bad
type: string
camera:
description: The type of camera used by participant during the meeting.
type: string
connection_type:
description: Participant connection type.
type: string
customer_key:
description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
maxLength: 15
type: string
data_center:
description: Data Center where participant's meeting data is stored.
type: string
device:
description: |-
The type of device using which the participant joined the meeting. The possible values for this field are:
* `Phone`: Participant joined via PSTN.
* `H.323/SIP`: Participant joined via an H.323 or SIP device.
* `Windows`: Participant joined via VoIP using a Windows device.
* `Mac`: Participant joined via VoIP using a Mac device.
* `iOS`: Participant joined via VoIP using an iOS device.
* `Android`: Participant joined via VoIP using an Android device.
type: string
domain:
description: Participant's PC domain.
type: string
email:
description: Email address of the participant.
format: email
type: string
harddisk_id:
description: Participant's hard disk ID.
type: string
id:
description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
format: uuid
type: string
in_room_participants:
description: The number of participants who joined via Zoom Room.
type: integer
ip_address:
description: Participant's IP address.
type: string
join_time:
description: The time at which participant joined the meeting.
format: date-time
type: string
leave_reason:
description: Possible reasons for why participant left the meeting.
type: string
leave_time:
description: The time at which a participant left the meeting. For live meetings, this field will only be returned if a participant has left the ongoing meeting.
format: date-time
type: string
location:
description: Participant's location.
type: string
mac_addr:
description: Participant's MAC address.
type: string
microphone:
description: The type of Microphone that participant used during the meeting.
type: string
network_type:
description: Participant's network type.
enum:
- Wired
- Wifi
- PPP
- Cellular (3G and 4G)
- Others
type: string
pc_name:
description: Name of Participant's PC.
type: string
recording:
description: Indicates whether or not recording was used during the meeting.
type: boolean
registrant_id:
description: Unique identifier of the registrant. This field is only returned if you entered "registrant_id" as the value of `include_fields` query parameter. This is not supported for `live` meeting types.
type: string
screen_share_quality:
description: Screen share quality of the participant.
enum:
- " "
- good
- fair
- poor
- bad
type: string
share_application:
description: "Indicates whether or not a user selected to share an iPhone/iPad app during the screenshare. "
type: boolean
share_desktop:
description: "Indicates whether or not a user selected to share their desktop during the screenshare. "
type: boolean
share_whiteboard:
description: "Indicates whether or not a user selected to share their whiteboard during the screenshare. "
type: boolean
speaker:
description: The type of speaker participant used during the meeting.
type: string
status:
description: |-
Indicates whether the participant is in the waiting room or in the meeting.
The value of this field can be `in_meeting` or `in_waiting_room`.
enum:
- in_meeting
- in_waiting_room
type: string
user_id:
description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
type: string
user_name:
description: Participant display name.
type: string
version:
description: Participant's Zoom Client version.
type: string
video_quality:
description: Video quality of the participant.
enum:
- " "
- good
- fair
- poor
- bad
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Meeting participants returned.
Only available for paid accounts that have enabled the dashboard feature.
"300":
description: |-
**Error Code:** `300`
Can not access webinar info.
{meetingId} or the next page token is either invalid or expired.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `3001`
Meeting ID is invalid or has not ended.
security:
- OAuth: []
summary: List meeting participants
tags:
- Dashboards
"/metrics/meetings/{meetingId}/participants/qos":
get:
description: |-
Get a list of meeting participants from live or past meetings along with the quality of service they recieve during the meeting such as connection quality for sending/receiving video, audio, and shared content. If you do not provide the `type` query parameter, the default value will be set to `live` and thus, you will only see metrics for participants in a live meeting, if any meeting is currently being conducted. To view metrics on past meeting participants, provide the appropriate value for `type`.
You can specify a monthly date range for the dashboard data using the `from` and `to` query parameters. The month should fall within the last six months.
**Scopes:** `dashboard_meetings:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Business or a higher plan.
operationId: dashboardMeetingParticipantsQOS
parameters:
- description: |-
The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
- description: "The meeting types: `past` - Past meetings. `live` - Live Meetings."
in: query
name: type
schema:
default: live
enum:
- past
- pastOne
- live
type: string
x-enum-descriptions:
- past meeting
- single past user meetings
- live meeting
- description: The number of items returned per page.
in: query
name: page_size
schema:
default: 1
maximum: 10
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: string
page_count: integer [int64]
page_size: integer
participants:
- device: string
domain: string
harddisk_id: string
ip_address: string
join_time: string [date-time]
leave_time: string [date-time]
location: string
mac_addr: string
pc_name: string
user_id: string [uuid]
user_name: string
user_qos:
- as_input:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
as_output:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
audio_input:
avg_loss: string
bitrate: string
jitter: string
latency: string
max_loss: string
audio_output:
avg_loss: string
bitrate: string
jitter: string
latency: string
max_loss: string
cpu_usage:
system_max_cpu_usage: string
zoom_avg_cpu_usage: string
zoom_max_cpu_usage: string
zoom_min_cpu_usage: string
date_time: string [date-time]
video_input:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
video_output:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
version: string
total_records: integer [int64]
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
format: int64
type: integer
page_size:
default: 1
description: The number of items per page.
maximum: 10
type: integer
total_records:
description: The number of all records available across pages.
format: int64
type: integer
type: object
- properties:
participants:
description: Array of user objects.
items:
description: Participant QOS.
properties:
device:
description: The type of device using which the participant joined the meeting.
type: string
domain:
description: Participant's PC domain.
type: string
harddisk_id:
description: Participant's hard disk ID.
type: string
ip_address:
description: Participant's IP address.
type: string
join_time:
description: The time at which participant joined the meeting.
format: date-time
type: string
leave_time:
description: The time at which participant left the meeting.
format: date-time
type: string
location:
description: Participant's location.
type: string
mac_addr:
description: Participant's MAC address.
type: string
pc_name:
description: Participant's PC name.
type: string
user_id:
description: Participant ID.
format: uuid
type: string
user_name:
description: Participant display name.
type: string
user_qos:
description: Quality of service provided to the user.
items:
properties:
as_device_from_crc:
description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_device_to_crc:
description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
as_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
audio_device_from_crc:
description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_device_to_crc:
description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_input:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
audio_output:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
cpu_usage:
properties:
system_max_cpu_usage:
description: System Maximum CPU Usage
type: string
zoom_avg_cpu_usage:
description: Zoom Average CPU Usage
type: string
zoom_max_cpu_usage:
description: Zoom Maximum CPU Usage
type: string
zoom_min_cpu_usage:
description: Zoom Minimum CPU Usage
type: string
type: object
date_time:
description: Date-time of QOS
format: date-time
type: string
video_device_from_crc:
description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_device_to_crc:
description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
video_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
type: object
type: array
version:
description: Participant's Zoom Client version.
type: string
title: Participant QOS
type: object
type: array
description: Participant QOS list.
title: Participant QOS List
type: object
application/xml:
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
format: int64
type: integer
page_size:
default: 1
description: The number of items per page.
maximum: 10
type: integer
total_records:
description: The number of all records available across pages.
format: int64
type: integer
type: object
- properties:
participants:
description: Array of user objects.
items:
description: Participant QOS.
properties:
device:
description: The type of device using which the participant joined the meeting.
type: string
domain:
description: Participant's PC domain.
type: string
harddisk_id:
description: Participant's hard disk ID.
type: string
ip_address:
description: Participant's IP address.
type: string
join_time:
description: The time at which participant joined the meeting.
format: date-time
type: string
leave_time:
description: The time at which participant left the meeting.
format: date-time
type: string
location:
description: Participant's location.
type: string
mac_addr:
description: Participant's MAC address.
type: string
pc_name:
description: Participant's PC name.
type: string
user_id:
description: Participant ID.
format: uuid
type: string
user_name:
description: Participant display name.
type: string
user_qos:
description: Quality of service provided to the user.
items:
properties:
as_device_from_crc:
description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_device_to_crc:
description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
as_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
audio_device_from_crc:
description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_device_to_crc:
description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_input:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
audio_output:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
cpu_usage:
properties:
system_max_cpu_usage:
description: System Maximum CPU Usage
type: string
zoom_avg_cpu_usage:
description: Zoom Average CPU Usage
type: string
zoom_max_cpu_usage:
description: Zoom Maximum CPU Usage
type: string
zoom_min_cpu_usage:
description: Zoom Minimum CPU Usage
type: string
type: object
date_time:
description: Date-time of QOS
format: date-time
type: string
video_device_from_crc:
description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_device_to_crc:
description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
video_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
type: object
type: array
version:
description: Participant's Zoom Client version.
type: string
title: Participant QOS
type: object
type: array
description: Participant QOS list.
title: Participant QOS List
type: object
description: |-
**HTTP Status Code:** `200`
Meeting participants returned.
Only available for paid accounts that have enabled the dashboard feature.
"300":
description: |-
**Error Code:** `300`
Can not access webinar info, {meetingId}.
The next page token is either invalid or expired.
"404":
description: |
**HTTP Status Code:** `404`
**Error Code:** `3001`
This meeting's detail info is not available.
The Meeting ID is not valid or the meeting has not ended yet.
security:
- OAuth: []
summary: List meeting participants QoS
tags:
- Dashboards
"/metrics/meetings/{meetingId}/participants/satisfaction":
get:
description: |-
When a meeting ends, each attendee will be prompted to share their meeting experience by clicking either thumbs up or thumbs down. Use this API to retrieve the feedback submitted for a specific meeting. Note that this API only works for meetings scheduled after December 20, 2020.
**Prerequisites:**
* [Feedback to Zoom](https://support.zoom.us/hc/en-us/articles/115005838023) setting must be enabled by the participant prior to the meeting.
* The user making the API request must be enrolled in a Business or a higher plan.
**Scope:** `dashboard_meetings:read:admiin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: participantFeedback
parameters:
- description: |-
The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
- description: |-
Specify a value to get the response for the corresponding meeting type. The value of this field can be one of the following:
`past` - Meeting that already occurred in the specified date range. `pastOne` - Past meetings that were attended by only one user. `live` - Live meetings.
If you do not provide this field, the default value will be `live` and thus, the API will only query responses for live meetings.
in: query
name: type
schema:
default: live
enum:
- past
- pastOne
- live
type: string
x-enum-descriptions:
- past meetings
- past one user meetings
- live meetings
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: ""
page_size: 1
participants:
- date_time: 2021-02-21T18:48:06.423Z
email: RB6iBb@aWlMmuZFPVjptyOCzNgpi.mx
quality: GOOD
user_id: aegr46312rum
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
participants:
items:
properties:
date_time:
description: Date and time at which the feedback was submitted.
format: date-time
type: string
email:
description: Email address of the participant.
format: email
type: string
quality:
description: |-
Feedback submitted by the participant.
* `GOOD`: Thumbs up.
* `NOT GOOD`: Thumbs down.
enum:
- GOOD
- NOT GOOD
type: string
user_id:
description: User ID of the participant.
type: string
type: object
type: array
type: object
application/xml:
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
participants:
items:
properties:
date_time:
description: Date and time at which the feedback was submitted.
format: date-time
type: string
email:
description: Email address of the participant.
format: email
type: string
quality:
description: |-
Feedback submitted by the participant.
* `GOOD`: Thumbs up.
* `NOT GOOD`: Thumbs down.
enum:
- GOOD
- NOT GOOD
type: string
user_id:
description: User ID of the participant.
type: string
type: object
type: array
type: object
description: |+
**HTTP Status Code:** `200`
"400":
description: |
**HTTP Status Code:** `400`
**Error Code:** `200`
Only available for paid accounts that have dashboard feature enabled.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `3001`
Meeting ID is invalid or not end.
summary: Get post meeting feedback
tags:
- Dashboards
parameters:
- in: path
name: meetingId
required: true
schema:
type: string
"/metrics/meetings/{meetingId}/participants/sharing":
get:
description: |-
Retrieve the sharing and recording details of participants from live or past meetings.
**Scopes:** `dashboard_meetings:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Business or a higher plan.
operationId: dashboardMeetingParticipantShare
parameters:
- description: |-
The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
- description: "The meeting types: `past` - Past meetings. `live` - Live Meetings."
in: query
name: type
schema:
default: live
enum:
- past
- pastOne
- live
type: string
x-enum-descriptions:
- past meeting
- single past user meetings
- live meeting
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: string
page_count: integer
page_size: integer
participants:
- details:
- content: string
end_time: string
start_time: string
id: string
user_id: string
user_name: string
total_records: integer
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
participants:
description: Array of participants.
items:
properties:
details:
description: Array of sharing and recording details.
items:
properties:
content:
description: Type of content shared.
type: string
end_time:
description: End time of sharing.
type: string
start_time:
description: Start time of sharing.
type: string
type: object
type: array
id:
description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
type: string
user_id:
description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
type: string
user_name:
description: Participant display name.
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
participants:
description: Array of participants.
items:
properties:
details:
description: Array of sharing and recording details.
items:
properties:
content:
description: Type of content shared.
type: string
end_time:
description: End time of sharing.
type: string
start_time:
description: Start time of sharing.
type: string
type: object
type: array
id:
description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
type: string
user_id:
description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
type: string
user_name:
description: Participant display name.
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Meeting participants returned.
"300":
description: |-
**Error Code:** `300`
Can not access webinar info, {meetingId}.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `3001`
This meeting's detail info is not available or ID is not valid.
security:
- OAuth: []
summary: Get sharing/recording details
tags:
- Dashboards
"/metrics/meetings/{meetingId}/participants/{participantId}/qos":
get:
description: |-
Retrieve the quality of service for participants from live or past meetings. This data indicates the connection quality for sending/receiving video, audio, and shared content. If nothing is being sent or received at that time, no information will be shown in the fields.
**Scopes:** `dashboard_meetings:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: dashboardMeetingParticipantQOS
parameters:
- description: |-
The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
- description: Participant ID.
in: path
name: participantId
required: true
schema:
type: string
- description: "The meeting types: `past` - Past meetings. `live` - Live Meetings."
in: query
name: type
schema:
default: live
enum:
- past
- pastOne
- live
type: string
x-enum-descriptions:
- past meeting
- single past user meetings
- live meeting
responses:
"200":
content:
application/json:
examples:
response:
value:
device: string
domain: string
harddisk_id: string
ip_address: string
join_time: string [date-time]
leave_time: string [date-time]
location: string
mac_addr: string
pc_name: string
user_id: string [uuid]
user_name: string
user_qos:
- as_input:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
as_output:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
audio_input:
avg_loss: string
bitrate: string
jitter: string
latency: string
max_loss: string
audio_output:
avg_loss: string
bitrate: string
jitter: string
latency: string
max_loss: string
cpu_usage:
system_max_cpu_usage: string
zoom_avg_cpu_usage: string
zoom_max_cpu_usage: string
zoom_min_cpu_usage: string
date_time: string [date-time]
video_input:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
video_output:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
version: string
schema:
description: Participant QOS.
properties:
device:
description: The type of device using which the participant joined the meeting.
type: string
domain:
description: Participant's PC domain.
type: string
harddisk_id:
description: Participant's hard disk ID.
type: string
ip_address:
description: Participant's IP address.
type: string
join_time:
description: The time at which participant joined the meeting.
format: date-time
type: string
leave_time:
description: The time at which participant left the meeting.
format: date-time
type: string
location:
description: Participant's location.
type: string
mac_addr:
description: Participant's MAC address.
type: string
pc_name:
description: Participant's PC name.
type: string
user_id:
description: Participant ID.
format: uuid
type: string
user_name:
description: Participant display name.
type: string
user_qos:
description: Quality of service provided to the user.
items:
properties:
as_device_from_crc:
description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_device_to_crc:
description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
as_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
audio_device_from_crc:
description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_device_to_crc:
description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_input:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
audio_output:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
cpu_usage:
properties:
system_max_cpu_usage:
description: System Maximum CPU Usage
type: string
zoom_avg_cpu_usage:
description: Zoom Average CPU Usage
type: string
zoom_max_cpu_usage:
description: Zoom Maximum CPU Usage
type: string
zoom_min_cpu_usage:
description: Zoom Minimum CPU Usage
type: string
type: object
date_time:
description: Date-time of QOS
format: date-time
type: string
video_device_from_crc:
description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_device_to_crc:
description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
video_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
type: object
type: array
version:
description: Participant's Zoom Client version.
type: string
title: Participant QOS
type: object
application/xml:
schema:
description: Participant QOS.
properties:
device:
description: The type of device using which the participant joined the meeting.
type: string
domain:
description: Participant's PC domain.
type: string
harddisk_id:
description: Participant's hard disk ID.
type: string
ip_address:
description: Participant's IP address.
type: string
join_time:
description: The time at which participant joined the meeting.
format: date-time
type: string
leave_time:
description: The time at which participant left the meeting.
format: date-time
type: string
location:
description: Participant's location.
type: string
mac_addr:
description: Participant's MAC address.
type: string
pc_name:
description: Participant's PC name.
type: string
user_id:
description: Participant ID.
format: uuid
type: string
user_name:
description: Participant display name.
type: string
user_qos:
description: Quality of service provided to the user.
items:
properties:
as_device_from_crc:
description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_device_to_crc:
description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
as_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
audio_device_from_crc:
description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_device_to_crc:
description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_input:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
audio_output:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
cpu_usage:
properties:
system_max_cpu_usage:
description: System Maximum CPU Usage
type: string
zoom_avg_cpu_usage:
description: Zoom Average CPU Usage
type: string
zoom_max_cpu_usage:
description: Zoom Maximum CPU Usage
type: string
zoom_min_cpu_usage:
description: Zoom Minimum CPU Usage
type: string
type: object
date_time:
description: Date-time of QOS
format: date-time
type: string
video_device_from_crc:
description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_device_to_crc:
description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
video_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
type: object
type: array
version:
description: Participant's Zoom Client version.
type: string
title: Participant QOS
type: object
description: |-
**HTTP Status Code:** `200`
Meeting participant QOS returned.
Only available for paid account that have enabled the dashboard feature.
"300":
description: |-
**Error Code:** `300`
Can not access webinar info, {meetingId}.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `3001`
This meeting's detail info is not available.
This meeting has not ended yet or the Meeting ID is invalid.
security:
- OAuth: []
summary: Get meeting participant QoS
tags:
- Dashboards
/metrics/quality: {}
/metrics/webinars:
get:
description: |+
List all the live or past webinars from a specified period of time.
**Scopes:** `dashboard_webinars:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Resource-intensive`
**Prerequisites:**
* Business, Education or API Plan with Webinar add-on.
operationId: dashboardWebinars
parameters:
- description: The webinar type.
in: query
name: type
schema:
default: live
enum:
- past
- live
type: string
x-enum-descriptions:
- past webinars
- live webinars
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
from: string [date]
next_page_token: string
page_count: integer
page_size: integer
to: string [date]
total_records: integer
webinars:
- duration: string
email: string
end_time: string [date-time]
has_3rd_party_audio: boolean
has_pstn: boolean
has_recording: boolean
has_screen_share: boolean
has_sip: boolean
has_video: boolean
has_voip: boolean
host: string
id: integer
participants: integer
start_time: string [date-time]
topic: string
user_type: string
uuid: string [uuid]
schema:
allOf:
- properties:
from:
description: Start date for this report in 'yyyy-mm-dd' format.
format: date
type: string
to:
description: End date for this report in 'yyyy-mm-dd' format.
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
webinars:
description: Array of webinar objects.
items:
description: Webinar metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the Webinar.
items:
properties:
key:
description: Custom key associated with the Webinar.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the Webinar.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: "Webinar duration, formatted as hh:mm:ss, for example: `10:00` for ten minutes."
type: string
email:
description: User email.
type: string
end_time:
description: Webinar end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not TSP was used for the Webinar.
type: boolean
has_pstn:
description: Indicates whether or not PSTN was used for the Webinar.
type: boolean
has_recording:
description: Indicates whether or not recording was used for the Webinar.
type: boolean
has_screen_share:
description: Indicates whether or not screen sharing was used for the Webinar.
type: boolean
has_sip:
description: Indicates whether or not SIP was used for the Webinar.
type: boolean
has_video:
description: Indicates whether or not video was used for the Webinar.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used for the Webinar.
type: boolean
host:
description: User display name.
type: string
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
participants:
description: Webinar participant count.
type: integer
start_time:
description: Webinar start time.
format: date-time
type: string
topic:
description: Webinar topic.
type: string
user_type:
description: User type.
type: string
uuid:
description: Webinar UUID.
format: uuid
type: string
title: Webinar Metrics
type: object
type: array
type: object
application/xml:
schema:
allOf:
- properties:
from:
description: Start date for this report in 'yyyy-mm-dd' format.
format: date
type: string
to:
description: End date for this report in 'yyyy-mm-dd' format.
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
webinars:
description: Array of webinar objects.
items:
description: Webinar metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the Webinar.
items:
properties:
key:
description: Custom key associated with the Webinar.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the Webinar.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: "Webinar duration, formatted as hh:mm:ss, for example: `10:00` for ten minutes."
type: string
email:
description: User email.
type: string
end_time:
description: Webinar end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not TSP was used for the Webinar.
type: boolean
has_pstn:
description: Indicates whether or not PSTN was used for the Webinar.
type: boolean
has_recording:
description: Indicates whether or not recording was used for the Webinar.
type: boolean
has_screen_share:
description: Indicates whether or not screen sharing was used for the Webinar.
type: boolean
has_sip:
description: Indicates whether or not SIP was used for the Webinar.
type: boolean
has_video:
description: Indicates whether or not video was used for the Webinar.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used for the Webinar.
type: boolean
host:
description: User display name.
type: string
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
participants:
description: Webinar participant count.
type: integer
start_time:
description: Webinar start time.
format: date-time
type: string
topic:
description: Webinar topic.
type: string
user_type:
description: User type.
type: string
uuid:
description: Webinar UUID.
format: uuid
type: string
title: Webinar Metrics
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Meetings returned.
Only available for paid accounts that have enabled the Dashboard feature.
"300":
description: |-
**Error Code:** `200`
The next page token is invalid or has expired.
security:
- OAuth: []
summary: List webinars
tags:
- Dashboards
"/metrics/webinars/{webinarId}":
get:
description: |+
Retrieve details from live or past webinars.
**Scopes:** `dashboard_webinars:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Business, Education or API Plan with Webinar add-on.
operationId: dashboardWebinarDetail
parameters:
- description: |-
The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: webinarId
required: true
schema:
type: string
- description: The webinar type.
in: query
name: type
schema:
default: live
enum:
- past
- live
type: string
x-enum-descriptions:
- past webinar
- live webinar
responses:
"200":
content:
application/json:
examples:
response:
value: |-
{
"uuid": "CJaaaaaaaEV6A==",
"id": 00001,
"topic": "MyTestWebinar",
"host": "Henry Chao",
"email": "hc@sdfdfdsfdfsdf.com",
"user_type": "Pro|Webinar1000",
"start_time": "2019-07-16T17:14:39Z",
"end_time": "2019-07-16T17:26:20Z",
"duration": 12,
"participants": 1,
"has_pstn": false,
"has_voip": false,
"has_3rd_party_audio": false,
"has_video": false,
"has_screen_share": false,
"has_recording": false,
"has_sip": false
}
schema:
description: Webinar metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the Webinar.
items:
properties:
key:
description: Custom key associated with the Webinar.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the Webinar.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: "Webinar duration, formatted as hh:mm:ss, for example: `10:00` for ten minutes."
type: string
email:
description: User email.
type: string
end_time:
description: Webinar end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not TSP was used for the Webinar.
type: boolean
has_pstn:
description: Indicates whether or not PSTN was used for the Webinar.
type: boolean
has_recording:
description: Indicates whether or not recording was used for the Webinar.
type: boolean
has_screen_share:
description: Indicates whether or not screen sharing was used for the Webinar.
type: boolean
has_sip:
description: Indicates whether or not SIP was used for the Webinar.
type: boolean
has_video:
description: Indicates whether or not video was used for the Webinar.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used for the Webinar.
type: boolean
host:
description: User display name.
type: string
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
participants:
description: Webinar participant count.
type: integer
start_time:
description: Webinar start time.
format: date-time
type: string
topic:
description: Webinar topic.
type: string
user_type:
description: User type.
type: string
uuid:
description: Webinar UUID.
format: uuid
type: string
title: Webinar Metrics
type: object
application/xml:
schema:
description: Webinar metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the Webinar.
items:
properties:
key:
description: Custom key associated with the Webinar.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the Webinar.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: "Webinar duration, formatted as hh:mm:ss, for example: `10:00` for ten minutes."
type: string
email:
description: User email.
type: string
end_time:
description: Webinar end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not TSP was used for the Webinar.
type: boolean
has_pstn:
description: Indicates whether or not PSTN was used for the Webinar.
type: boolean
has_recording:
description: Indicates whether or not recording was used for the Webinar.
type: boolean
has_screen_share:
description: Indicates whether or not screen sharing was used for the Webinar.
type: boolean
has_sip:
description: Indicates whether or not SIP was used for the Webinar.
type: boolean
has_video:
description: Indicates whether or not video was used for the Webinar.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used for the Webinar.
type: boolean
host:
description: User display name.
type: string
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
participants:
description: Webinar participant count.
type: integer
start_time:
description: Webinar start time.
format: date-time
type: string
topic:
description: Webinar topic.
type: string
user_type:
description: User type.
type: string
uuid:
description: Webinar UUID.
format: uuid
type: string
title: Webinar Metrics
type: object
description: |-
**HTTP Status Code:** `200`
Webinar details returned.
Only available for paid accounts that have enabled the Dashboard feature.
"300":
description: |-
**Error Code:** `200`
Can not access webinar info, {webinarId}.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `3001`
The webinar has not ended yet or the Webinar ID is not valid.
This webinar's detail is not available.
security:
- OAuth: []
summary: Get webinar details
tags:
- Dashboards
"/metrics/webinars/{webinarId}/participants":
get:
description: |+
Retrieve details on participants from live or past webinars.
**Scopes:** `dashboard_webinars:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Business, Education or API Plan with Webinar add-on.
operationId: dashboardWebinarParticipants
parameters:
- description: |-
The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: webinarId
required: true
schema:
type: string
- description: The webinar type.
in: query
name: type
schema:
default: live
enum:
- past
- live
type: string
x-enum-descriptions:
- past webinar
- live webinar
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: |+
Provide 'registrant_id' as the value for this field if you would like to see the registrant ID attribute in the response of this API call. A registrant ID is a unique identifier of a [webinar registrant](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarregistrants).
in: query
name: include_fields
schema:
enum:
- registrant_id
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: string
page_count: integer
page_size: integer
participants:
- connection_type: string
data_center: string
device: string
domain: string
harddisk_id: string
id: string [uuid]
ip_address: string
join_time: string [date-time]
leave_reason: string
leave_time: string [date-time]
location: string
mac_addr: string
microphone: string
network_type: string
pc_name: string
recording: boolean
share_application: boolean
share_desktop: boolean
share_whiteboard: boolean
speaker: string
user_id: string
user_name: string
version: string
total_records: integer
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
participants:
description: Array of user objects.
items:
properties:
audio_quality:
description: Audio quality of the participant.
enum:
- " "
- good
- fair
- poor
- bad
type: string
connection_type:
description: Participant connection type.
type: string
customer_key:
description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
maxLength: 15
type: string
data_center:
description: Participant data center.
type: string
device:
description: |-
The type of device using which the participant joined the webinar. The possible values for this field are:
* `Phone`: Participant joined via PSTN.
* `H.323/SIP`: Participant joined via an H.323 or SIP device.
* `Windows`: Participant joined via VoIP using a Windows device.
* `Mac`: Participant joined via VoIP using a Mac device.
* `iOS`: Participant joined via VoIP using an iOS device.
* `Android`: Participant joined via VoIP using an Android device.
type: string
domain:
description: Participant domain.
type: string
email:
description: Email address of the participant.
type: string
harddisk_id:
description: Participant hard disk ID.
type: string
id:
description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
format: uuid
type: string
ip_address:
description: Participant IP address.
type: string
join_time:
description: Participant join time.
format: date-time
type: string
leave_reason:
description: |
Possible reasons for why a participant left the Webinar.
type: string
leave_time:
description: Participant leave time.
format: date-time
type: string
location:
description: Participant location.
type: string
mac_addr:
description: Participant MAC address.
type: string
microphone:
description: Participant microphone.
type: string
network_type:
description: Participant network type.
type: string
pc_name:
description: Participant PC name.
type: string
recording:
description: Participant record?
type: boolean
registrant_id:
description: Unique identifier of the registrant. This field is only returned if you entered "registrant_id" as the value of `include_fields` query parameter.
type: string
screen_share_quality:
description: Screen share quality of the participant.
enum:
- " "
- good
- fair
- poor
- bad
type: string
share_application:
description: Did the participant share an application?
type: boolean
share_desktop:
description: Did the participant share their desktop?
type: boolean
share_whiteboard:
description: Did the participant share their whiteboard?
type: boolean
speaker:
description: Participant speaker.
type: string
user_id:
description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
type: string
user_name:
description: Participant display name.
type: string
version:
description: Participant version.
type: string
video_quality:
description: Video quality of the participant.
enum:
- " "
- good
- fair
- poor
- bad
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
participants:
description: Array of user objects.
items:
properties:
audio_quality:
description: Audio quality of the participant.
enum:
- " "
- good
- fair
- poor
- bad
type: string
connection_type:
description: Participant connection type.
type: string
customer_key:
description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
maxLength: 15
type: string
data_center:
description: Participant data center.
type: string
device:
description: |-
The type of device using which the participant joined the webinar. The possible values for this field are:
* `Phone`: Participant joined via PSTN.
* `H.323/SIP`: Participant joined via an H.323 or SIP device.
* `Windows`: Participant joined via VoIP using a Windows device.
* `Mac`: Participant joined via VoIP using a Mac device.
* `iOS`: Participant joined via VoIP using an iOS device.
* `Android`: Participant joined via VoIP using an Android device.
type: string
domain:
description: Participant domain.
type: string
email:
description: Email address of the participant.
type: string
harddisk_id:
description: Participant hard disk ID.
type: string
id:
description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
format: uuid
type: string
ip_address:
description: Participant IP address.
type: string
join_time:
description: Participant join time.
format: date-time
type: string
leave_reason:
description: |
Possible reasons for why a participant left the Webinar.
type: string
leave_time:
description: Participant leave time.
format: date-time
type: string
location:
description: Participant location.
type: string
mac_addr:
description: Participant MAC address.
type: string
microphone:
description: Participant microphone.
type: string
network_type:
description: Participant network type.
type: string
pc_name:
description: Participant PC name.
type: string
recording:
description: Participant record?
type: boolean
registrant_id:
description: Unique identifier of the registrant. This field is only returned if you entered "registrant_id" as the value of `include_fields` query parameter.
type: string
screen_share_quality:
description: Screen share quality of the participant.
enum:
- " "
- good
- fair
- poor
- bad
type: string
share_application:
description: Did the participant share an application?
type: boolean
share_desktop:
description: Did the participant share their desktop?
type: boolean
share_whiteboard:
description: Did the participant share their whiteboard?
type: boolean
speaker:
description: Participant speaker.
type: string
user_id:
description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
type: string
user_name:
description: Participant display name.
type: string
version:
description: Participant version.
type: string
video_quality:
description: Video quality of the participant.
enum:
- " "
- good
- fair
- poor
- bad
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Webinar participants returned.
"300":
description: |-
**Error Code:** `300`
Can not access webinar info, {webinarId}.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `3001`
This webinar's detail info is not available or ID is not valid.
security:
- OAuth: []
summary: Get webinar participants
tags:
- Dashboards
"/metrics/webinars/{webinarId}/participants/qos":
get:
description: |+
Retrieve a list of participants from live or past webinars and the quality of service they received. This data indicates the connection quality for sending/receiving video, audio, and shared content. If nothing is being sent or received at that time, no information will be shown in the fields.
**Scopes:** `dashboard_webinars:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Business, Education or API Plan with Webinar add-on.
operationId: dashboardWebinarParticipantsQOS
parameters:
- description: |-
The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: webinarId
required: true
schema:
type: string
- description: The webinar type.
in: query
name: type
schema:
default: live
enum:
- past
- live
type: string
x-enum-descriptions:
- past webinar
- live webinar
- description: The number of items returned per page.
in: query
name: page_size
schema:
default: 1
maximum: 10
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: string
page_count: integer [int64]
page_size: integer
participants:
- device: string
domain: string
harddisk_id: string
ip_address: string
join_time: string [date-time]
leave_time: string [date-time]
location: string
mac_addr: string
pc_name: string
user_id: string [uuid]
user_name: string
user_qos:
- as_input:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
as_output:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
audio_input:
avg_loss: string
bitrate: string
jitter: string
latency: string
max_loss: string
audio_output:
avg_loss: string
bitrate: string
jitter: string
latency: string
max_loss: string
cpu_usage:
system_max_cpu_usage: string
zoom_avg_cpu_usage: string
zoom_max_cpu_usage: string
zoom_min_cpu_usage: string
date_time: string [date-time]
video_input:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
video_output:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
version: string
total_records: integer [int64]
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
format: int64
type: integer
page_size:
default: 1
description: The number of items per page.
maximum: 10
type: integer
total_records:
description: The number of all records available across pages.
format: int64
type: integer
type: object
- properties:
participants:
description: Array of user objects.
items:
description: Participant QOS.
properties:
device:
description: The type of device using which the participant joined the meeting.
type: string
domain:
description: Participant's PC domain.
type: string
harddisk_id:
description: Participant's hard disk ID.
type: string
ip_address:
description: Participant's IP address.
type: string
join_time:
description: The time at which participant joined the meeting.
format: date-time
type: string
leave_time:
description: The time at which participant left the meeting.
format: date-time
type: string
location:
description: Participant's location.
type: string
mac_addr:
description: Participant's MAC address.
type: string
pc_name:
description: Participant's PC name.
type: string
user_id:
description: Participant ID.
format: uuid
type: string
user_name:
description: Participant display name.
type: string
user_qos:
description: Quality of service provided to the user.
items:
properties:
as_device_from_crc:
description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_device_to_crc:
description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
as_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
audio_device_from_crc:
description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_device_to_crc:
description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_input:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
audio_output:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
cpu_usage:
properties:
system_max_cpu_usage:
description: System Maximum CPU Usage
type: string
zoom_avg_cpu_usage:
description: Zoom Average CPU Usage
type: string
zoom_max_cpu_usage:
description: Zoom Maximum CPU Usage
type: string
zoom_min_cpu_usage:
description: Zoom Minimum CPU Usage
type: string
type: object
date_time:
description: Date-time of QOS
format: date-time
type: string
video_device_from_crc:
description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_device_to_crc:
description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
video_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
type: object
type: array
version:
description: Participant's Zoom Client version.
type: string
title: Participant QOS
type: object
type: array
description: Participant QOS list.
title: Participant QOS List
type: object
application/xml:
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
format: int64
type: integer
page_size:
default: 1
description: The number of items per page.
maximum: 10
type: integer
total_records:
description: The number of all records available across pages.
format: int64
type: integer
type: object
- properties:
participants:
description: Array of user objects.
items:
description: Participant QOS.
properties:
device:
description: The type of device using which the participant joined the meeting.
type: string
domain:
description: Participant's PC domain.
type: string
harddisk_id:
description: Participant's hard disk ID.
type: string
ip_address:
description: Participant's IP address.
type: string
join_time:
description: The time at which participant joined the meeting.
format: date-time
type: string
leave_time:
description: The time at which participant left the meeting.
format: date-time
type: string
location:
description: Participant's location.
type: string
mac_addr:
description: Participant's MAC address.
type: string
pc_name:
description: Participant's PC name.
type: string
user_id:
description: Participant ID.
format: uuid
type: string
user_name:
description: Participant display name.
type: string
user_qos:
description: Quality of service provided to the user.
items:
properties:
as_device_from_crc:
description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_device_to_crc:
description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
as_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
audio_device_from_crc:
description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_device_to_crc:
description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_input:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
audio_output:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
cpu_usage:
properties:
system_max_cpu_usage:
description: System Maximum CPU Usage
type: string
zoom_avg_cpu_usage:
description: Zoom Average CPU Usage
type: string
zoom_max_cpu_usage:
description: Zoom Maximum CPU Usage
type: string
zoom_min_cpu_usage:
description: Zoom Minimum CPU Usage
type: string
type: object
date_time:
description: Date-time of QOS
format: date-time
type: string
video_device_from_crc:
description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_device_to_crc:
description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
video_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
type: object
type: array
version:
description: Participant's Zoom Client version.
type: string
title: Participant QOS
type: object
type: array
description: Participant QOS list.
title: Participant QOS List
type: object
description: |-
**HTTP Status Code:** `200`
Webinar participants returned.
Only available for paid accounts that have enabled the Dashboard feature.
"300":
description: |-
**Error Code:** `300`
Can not access webinar info, {webinarId}.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `3001`
This webinar's detail is not available or the Webinar ID is not valid.
This webinar has not ended yet.
security:
- OAuth: []
summary: List webinar participant QoS
tags:
- Dashboards
"/metrics/webinars/{webinarId}/participants/satisfaction":
get:
description: |-
When a Webinar ends, each attendee will be prompted to share their Webinar experience by clicking either thumbs up or thumbs down. Use this API to retrieve the feedback submitted for a specific webinar. Note that this API only works for meetings scheduled after December 20, 2020.
**Prerequisites:**
* [Feedback to Zoom](https://support.zoom.us/hc/en-us/articles/115005838023) setting must be enabled by the participant prior to the meeting.
* The user making the API request must be enrolled in a Business or a higher plan.
**Scope:** `dashboard_webinars:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: participantWebinarFeedback
parameters:
- description: |-
Specify a value to get the response for the corresponding meeting type. The value of this field can be one of the following:
`past` - Meeting that already occurred in the specified date range. `pastOne` - Past meetings that were attended by only one user. `live` - Live meetings.
If you do not provide this field, the default value will be `live` and thus, the API will only query responses for live meetings.
in: query
name: type
schema:
default: live
enum:
- past
- pastOne
- live
type: string
x-enum-descriptions:
- past meetings
- past one user meetings
- live meetings
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: |-
The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: webinarId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: ""
page_size: 1
participants:
- date_time: 2021-02-21T18:48:06.423Z
email: RB6iBb@aWlMmuZFPVjptyOCzNgpi.mx
quality: GOOD
user_id: aegr46312rum
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
participants:
items:
properties:
date_time:
description: Date and time at which the feedback was submitted.
format: date-time
type: string
email:
description: Email address of the participant.
format: email
type: string
quality:
description: |-
Feedback submitted by the participant.
* `GOOD`: Thumbs up.
* `NOT GOOD`: Thumbs down.
enum:
- GOOD
- NOT GOOD
type: string
user_id:
description: User ID of the participant.
type: string
type: object
type: array
type: object
application/xml:
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
participants:
items:
properties:
date_time:
description: Date and time at which the feedback was submitted.
format: date-time
type: string
email:
description: Email address of the participant.
format: email
type: string
quality:
description: |-
Feedback submitted by the participant.
* `GOOD`: Thumbs up.
* `NOT GOOD`: Thumbs down.
enum:
- GOOD
- NOT GOOD
type: string
user_id:
description: User ID of the participant.
type: string
type: object
type: array
type: object
description: |+
**HTTP Status Code:** `200`
"400":
description: |
**HTTP Status Code:** `400`
**Error Code:** `200`
Only available for paid accounts that have dashboard feature enabled.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `3001`
Webinar ID is invalid or not end.
summary: Get post webinar feedback
tags:
- Dashboards
"/metrics/webinars/{webinarId}/participants/sharing":
get:
description: |+
Retrieve the sharing and recording details of participants from live or past webinars.
**Scopes:** `dashboard_webinars:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Business, Education or API Plan with Webinar add-on.
operationId: dashboardWebinarParticipantShare
parameters:
- description: |-
The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: webinarId
required: true
schema:
type: string
- description: The webinar type.
in: query
name: type
schema:
default: live
enum:
- past
- live
type: string
x-enum-descriptions:
- past webinar
- live webinar
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: string
page_count: integer
page_size: integer
participants:
- details:
- content: string
end_time: string
start_time: string
id: string
user_id: string
user_name: string
total_records: integer
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
participants:
description: Array of participants.
items:
properties:
details:
description: Array of sharing and recording details.
items:
properties:
content:
description: Type of content shared.
type: string
end_time:
description: End time of sharing.
type: string
start_time:
description: Start time of sharing.
type: string
type: object
type: array
id:
description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
type: string
user_id:
description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
type: string
user_name:
description: Participant display name.
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
participants:
description: Array of participants.
items:
properties:
details:
description: Array of sharing and recording details.
items:
properties:
content:
description: Type of content shared.
type: string
end_time:
description: End time of sharing.
type: string
start_time:
description: Start time of sharing.
type: string
type: object
type: array
id:
description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
type: string
user_id:
description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
type: string
user_name:
description: Participant display name.
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Webinar participants returned.
Only available for paid accounts that have enabled the Dashboard feature.
"300":
description: |-
**Error Code:** `300`
Can not access webinar info, {webinarId}.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `3001`
This webinar's detail info is not available or ID is not valid.
This webinar has not ended yet.
security:
- OAuth: []
summary: Get sharing/recording details
tags:
- Dashboards
"/metrics/webinars/{webinarId}/participants/{participantId}/qos":
get:
description: |
Retrieve details on the quality of service that participants from live or past webinars recieved. This data indicates the connection quality for sending/receiving video, audio, and shared content. If nothing is being sent or received at that time, no information will be shown in the fields.
**Scopes:** `dashboard_webinars:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Business, Education or API Plan with Zoom Rooms set up.
operationId: dashboardWebinarParticipantQOS
parameters:
- description: |-
The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: webinarId
required: true
schema:
type: string
- description: Participant ID.
in: path
name: participantId
required: true
schema:
type: string
- description: The webinar type.
in: query
name: type
schema:
default: live
enum:
- past
- live
type: string
x-enum-descriptions:
- past webinar
- live webinar
responses:
"200":
content:
application/json:
examples:
response:
value:
device: string
domain: string
harddisk_id: string
ip_address: string
join_time: string [date-time]
leave_time: string [date-time]
location: string
mac_addr: string
pc_name: string
user_id: string [uuid]
user_name: string
user_qos:
- as_input:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
as_output:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
audio_input:
avg_loss: string
bitrate: string
jitter: string
latency: string
max_loss: string
audio_output:
avg_loss: string
bitrate: string
jitter: string
latency: string
max_loss: string
cpu_usage:
system_max_cpu_usage: string
zoom_avg_cpu_usage: string
zoom_max_cpu_usage: string
zoom_min_cpu_usage: string
date_time: string [date-time]
video_input:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
video_output:
avg_loss: string
bitrate: string
frame_rate: string
jitter: string
latency: string
max_loss: string
resolution: string
version: string
schema:
description: Participant QOS.
properties:
device:
description: The type of device using which the participant joined the meeting.
type: string
domain:
description: Participant's PC domain.
type: string
harddisk_id:
description: Participant's hard disk ID.
type: string
ip_address:
description: Participant's IP address.
type: string
join_time:
description: The time at which participant joined the meeting.
format: date-time
type: string
leave_time:
description: The time at which participant left the meeting.
format: date-time
type: string
location:
description: Participant's location.
type: string
mac_addr:
description: Participant's MAC address.
type: string
pc_name:
description: Participant's PC name.
type: string
user_id:
description: Participant ID.
format: uuid
type: string
user_name:
description: Participant display name.
type: string
user_qos:
description: Quality of service provided to the user.
items:
properties:
as_device_from_crc:
description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_device_to_crc:
description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
as_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
audio_device_from_crc:
description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_device_to_crc:
description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_input:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
audio_output:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
cpu_usage:
properties:
system_max_cpu_usage:
description: System Maximum CPU Usage
type: string
zoom_avg_cpu_usage:
description: Zoom Average CPU Usage
type: string
zoom_max_cpu_usage:
description: Zoom Maximum CPU Usage
type: string
zoom_min_cpu_usage:
description: Zoom Minimum CPU Usage
type: string
type: object
date_time:
description: Date-time of QOS
format: date-time
type: string
video_device_from_crc:
description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_device_to_crc:
description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
video_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
type: object
type: array
version:
description: Participant's Zoom Client version.
type: string
title: Participant QOS
type: object
application/xml:
schema:
description: Participant QOS.
properties:
device:
description: The type of device using which the participant joined the meeting.
type: string
domain:
description: Participant's PC domain.
type: string
harddisk_id:
description: Participant's hard disk ID.
type: string
ip_address:
description: Participant's IP address.
type: string
join_time:
description: The time at which participant joined the meeting.
format: date-time
type: string
leave_time:
description: The time at which participant left the meeting.
format: date-time
type: string
location:
description: Participant's location.
type: string
mac_addr:
description: Participant's MAC address.
type: string
pc_name:
description: Participant's PC name.
type: string
user_id:
description: Participant ID.
format: uuid
type: string
user_name:
description: Participant display name.
type: string
user_qos:
description: Quality of service provided to the user.
items:
properties:
as_device_from_crc:
description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_device_to_crc:
description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
as_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
audio_device_from_crc:
description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_device_to_crc:
description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_input:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
audio_output:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
cpu_usage:
properties:
system_max_cpu_usage:
description: System Maximum CPU Usage
type: string
zoom_avg_cpu_usage:
description: Zoom Average CPU Usage
type: string
zoom_max_cpu_usage:
description: Zoom Maximum CPU Usage
type: string
zoom_min_cpu_usage:
description: Zoom Minimum CPU Usage
type: string
type: object
date_time:
description: Date-time of QOS
format: date-time
type: string
video_device_from_crc:
description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_device_to_crc:
description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
video_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
type: object
type: array
version:
description: Participant's Zoom Client version.
type: string
title: Participant QOS
type: object
description: |-
**HTTP Status Code:** `200`
Webinar participant QOS returned.
"300":
description: |-
**Error Code:** `300`
Can not access webinar info, {webinarId}.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `3001`
This webinar's detail info is not available or ID is not valid.
security:
- OAuth: []
summary: Get webinar participant QoS
tags:
- Dashboards
/metrics/zoomrooms:
get:
description: |+
List information on all Zoom Rooms in an account.
**Scopes:** `dashboard_zr:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Resource-intensive`
**Prerequisites:**
* Business, Education or API Plan with Zoom Rooms set up.
operationId: dashboardZoomRooms
parameters:
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The page number of the current page in the returned records.
in: query
name: page_number
schema:
default: 1
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
page_count: 1
page_number: 1
page_size: 30
total_records: 1
zoom_rooms:
- account_type: Work Email
calendar_name: ghjghdjd@sjdfhjdf.gjgg
camera: Integrated Webcam
device_ip: "Computer : 10.10.26.49"
email: ghjghdjd@sjdfhjdf.gjgg
health: critical
id: EbgjgjhghZY9wh0A
issues:
- Zoom room is offline
last_start_time: 2019-08-29T16:37:07Z
microphone: Microphone Array (Realtek Audio)
room_name: testZoomRoom
speaker: Speakers / Headphones (Realtek Audio)
status: Offline
schema:
allOf:
- description: Pagination Object.
properties:
next_page_token:
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
- properties:
zoom_rooms:
description: Array of Zoom Rooms
items:
description: Zoom room.
properties:
account_type:
description: Zoom room email type.
type: string
calender_name:
description: Zoom calendar name.
type: string
camera:
description: Zoom room camera.
type: string
device_ip:
description: Zoom room device IP.
type: string
email:
description: Zoom room email.
type: string
health:
type: string
id:
description: Zoom room ID.
type: string
issues:
description: Zoom Room issues.
items:
type: string
type: array
last_start_time:
description: Zoom room last start time.
type: string
location:
description: Zoom room location.
type: string
microphone:
description: Zoom room microphone.
type: string
room_name:
description: Zoom room name.
type: string
speaker:
description: Zoom room speaker.
type: string
status:
description: Zoom room status.
type: string
title: Zoom Room
type: object
type: array
description: Zoom Room List
title: Zoom Room List
type: object
application/xml:
schema:
allOf:
- description: Pagination Object.
properties:
next_page_token:
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
- properties:
zoom_rooms:
description: Array of Zoom Rooms
items:
description: Zoom room.
properties:
account_type:
description: Zoom room email type.
type: string
calender_name:
description: Zoom calendar name.
type: string
camera:
description: Zoom room camera.
type: string
device_ip:
description: Zoom room device IP.
type: string
email:
description: Zoom room email.
type: string
health:
type: string
id:
description: Zoom room ID.
type: string
issues:
description: Zoom Room issues.
items:
type: string
type: array
last_start_time:
description: Zoom room last start time.
type: string
location:
description: Zoom room location.
type: string
microphone:
description: Zoom room microphone.
type: string
room_name:
description: Zoom room name.
type: string
speaker:
description: Zoom room speaker.
type: string
status:
description: Zoom room status.
type: string
title: Zoom Room
type: object
type: array
description: Zoom Room List
title: Zoom Room List
type: object
description: |-
**HTTP Status Code:** `200`
List of Zoom rooms returned.
Only available for paid accounts that have enabled the Dashboard feature.
security:
- OAuth: []
summary: List Zoom Rooms
tags:
- Dashboards
/metrics/zoomrooms/issues:
get:
description: |+
Get top 25 issues of Zoom Rooms.
**Scopes:** `dashboard_zr:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Business, Education or API Plan with Zoom Rooms set up.
operationId: dashboardZoomRoomIssue
parameters:
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
from: 2019-08-15
room_issues:
- issue_name: Controller disconnected
zoom_rooms_count: 1
- issue_name: Controller is not charging
zoom_rooms_count: 1
to: 2019-09-15
total_records: 2
schema:
allOf:
- properties:
from:
description: Start date for this report
format: date
type: string
to:
description: End date for this report
format: date
type: string
total_records:
description: The number of all records available across pages
type: integer
- properties:
issues:
items:
properties:
issue_name:
description: |-
Issue Name. The value of the this field could be one of the following:
* `Room Controller disconnected`
* `Room Controller connected`
* `Selected camera has disconnected`
* `Selected camera is reconnected`
* `Selected microphone has disconnected`
* `Selected microphone is reconnected`
* `Selected speaker has disconnected`
* `Selected speaker is reconnected`
* `Zoom room is offline`
* `Zoom room is online`
* `High CPU usage is detected`
* `Low bandwidth network is detected`
* `{name} battery is low`
* `{name} battery is normal`
* `{name} disconnected`
* `{name} connected`
* `{name} is not charging`
Possible values for {name}:
* Zoom Rooms Computer
* Controller
* Scheduling Display
type: string
zoom_rooms_count:
description: Zoom Room Count of Issue
type: integer
type: object
type: array
type: object
application/xml:
schema:
allOf:
- properties:
from:
description: Start date for this report
format: date
type: string
to:
description: End date for this report
format: date
type: string
total_records:
description: The number of all records available across pages
type: integer
- properties:
issues:
items:
properties:
issue_name:
description: |-
Issue Name. The value of the this field could be one of the following:
* `Room Controller disconnected`
* `Room Controller connected`
* `Selected camera has disconnected`
* `Selected camera is reconnected`
* `Selected microphone has disconnected`
* `Selected microphone is reconnected`
* `Selected speaker has disconnected`
* `Selected speaker is reconnected`
* `Zoom room is offline`
* `Zoom room is online`
* `High CPU usage is detected`
* `Low bandwidth network is detected`
* `{name} battery is low`
* `{name} battery is normal`
* `{name} disconnected`
* `{name} connected`
* `{name} is not charging`
Possible values for {name}:
* Zoom Rooms Computer
* Controller
* Scheduling Display
type: string
zoom_rooms_count:
description: Zoom Room Count of Issue
type: integer
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Zoom Room Issue details returned
security:
- OAuth: []
summary: Get top 25 issues of Zoom Rooms
tags:
- Dashboards
"/metrics/zoomrooms/{zoomroomId}":
get:
description: |
The Zoom Rooms dashboard metrics lets you know the type of configuration a Zoom room has and details on the meetings held in that room.
Use this API to retrieve information on a specific room.
**Scopes:** `dashboard_zr:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`**Prerequisites:**
* Business, Education or API Plan with Zoom Rooms set up.
operationId: dashboardZoomRoom
parameters:
- description: The Zoom room ID.
in: path
name: zoomroomId
required: true
schema:
type: string
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
account_type: Work Email
calendar_name: testZoomRoom
camera: Integrated Webcam
device_ip: "Computer : 10.10.10.10; Controller : 11.11.11.11"
email: hdfjdfs@someemail.dhfdhfd
health: critical
id: fdjdsfdYYYYY
issues:
- Zoom room is offline
last_start_time: 2020-01-30T17:47:47Z
live_meeting: {}
microphone: Microphone Array (Realtek Audio)
past_meetings:
from: 2020-03-01
meetings: []
next_page_token: ""
page_count: 0
page_size: 30
to: 2020-03-02
total_records: 0
room_name: testZoomRoom
speaker: Speakers / Headphones (Realtek Audio)
status: Offline
schema:
allOf:
- description: Zoom room.
properties:
account_type:
description: Zoom room email type.
type: string
calender_name:
description: Zoom calendar name.
type: string
camera:
description: Zoom room camera.
type: string
device_ip:
description: Zoom room device IP.
type: string
email:
description: Zoom room email.
type: string
health:
description: Health of the Zoom Room.
type: string
id:
description: Zoom room ID.
type: string
issues:
description: Issues encountered by the Zoom Room.
items:
type: string
type: array
last_start_time:
description: Zoom room last start time.
type: string
location:
description: Zoom room location.
type: string
microphone:
description: Zoom room microphone.
type: string
room_name:
description: Zoom room name.
type: string
speaker:
description: Zoom room speaker.
type: string
status:
description: Zoom room status.
type: string
title: Zoom Room
- properties:
live_meeting:
description: Meeting metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the meetinh.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the meeting.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: Meeting duration.
type: string
email:
description: Email address of the host.
type: string
end_time:
description: Meeting end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
type: boolean
has_pstn:
description: Indicates whether or not the PSTN was used in the meeting.
type: boolean
has_recording:
description: "Indicates whether or not the recording feature was used in the meeting. "
type: boolean
has_screen_share:
description: Indicates whether or not screenshare feature was used in the meeting.
type: boolean
has_sip:
description: Indicates whether or not someone joined the meeting using SIP.
type: boolean
has_video:
description: Indicates whether or not video was used in the meeting.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used in the meeting.
type: boolean
host:
description: Host display name.
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
in_room_participants:
description: The number of Zoom Room participants in the meeting.
type: integer
participants:
description: Meeting participant count.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
user_type:
description: License type of the user.
type: string
uuid:
description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
format: uuid
type: string
title: Meeting Metrics
type: object
past_meetings:
allOf:
- properties:
from:
description: Start date for this report in 'yyyy-mm-dd' format.
format: date
type: string
to:
description: End date for this report in 'yyyy-mm-dd' format.
format: date
type: string
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
meetings:
description: Array of meeting objects.
items:
description: Meeting metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the meetinh.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the meeting.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: Meeting duration.
type: string
email:
description: Email address of the host.
type: string
end_time:
description: Meeting end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
type: boolean
has_pstn:
description: Indicates whether or not the PSTN was used in the meeting.
type: boolean
has_recording:
description: "Indicates whether or not the recording feature was used in the meeting. "
type: boolean
has_screen_share:
description: Indicates whether or not screenshare feature was used in the meeting.
type: boolean
has_sip:
description: Indicates whether or not someone joined the meeting using SIP.
type: boolean
has_video:
description: Indicates whether or not video was used in the meeting.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used in the meeting.
type: boolean
host:
description: Host display name.
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
in_room_participants:
description: The number of Zoom Room participants in the meeting.
type: integer
participants:
description: Meeting participant count.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
user_type:
description: License type of the user.
type: string
uuid:
description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
format: uuid
type: string
title: Meeting Metrics
type: object
type: array
type: object
type: object
application/xml:
schema:
allOf:
- description: Zoom room.
properties:
account_type:
description: Zoom room email type.
type: string
calender_name:
description: Zoom calendar name.
type: string
camera:
description: Zoom room camera.
type: string
device_ip:
description: Zoom room device IP.
type: string
email:
description: Zoom room email.
type: string
health:
description: Health of the Zoom Room.
type: string
id:
description: Zoom room ID.
type: string
issues:
description: Issues encountered by the Zoom Room.
items:
type: string
type: array
last_start_time:
description: Zoom room last start time.
type: string
location:
description: Zoom room location.
type: string
microphone:
description: Zoom room microphone.
type: string
room_name:
description: Zoom room name.
type: string
speaker:
description: Zoom room speaker.
type: string
status:
description: Zoom room status.
type: string
title: Zoom Room
- properties:
live_meeting:
description: Meeting metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the meetinh.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the meeting.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: Meeting duration.
type: string
email:
description: Email address of the host.
type: string
end_time:
description: Meeting end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
type: boolean
has_pstn:
description: Indicates whether or not the PSTN was used in the meeting.
type: boolean
has_recording:
description: "Indicates whether or not the recording feature was used in the meeting. "
type: boolean
has_screen_share:
description: Indicates whether or not screenshare feature was used in the meeting.
type: boolean
has_sip:
description: Indicates whether or not someone joined the meeting using SIP.
type: boolean
has_video:
description: Indicates whether or not video was used in the meeting.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used in the meeting.
type: boolean
host:
description: Host display name.
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
in_room_participants:
description: The number of Zoom Room participants in the meeting.
type: integer
participants:
description: Meeting participant count.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
user_type:
description: License type of the user.
type: string
uuid:
description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
format: uuid
type: string
title: Meeting Metrics
type: object
past_meetings:
allOf:
- properties:
from:
description: Start date for this report in 'yyyy-mm-dd' format.
format: date
type: string
to:
description: End date for this report in 'yyyy-mm-dd' format.
format: date
type: string
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
meetings:
description: Array of meeting objects.
items:
description: Meeting metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the meetinh.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the meeting.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: Meeting duration.
type: string
email:
description: Email address of the host.
type: string
end_time:
description: Meeting end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
type: boolean
has_pstn:
description: Indicates whether or not the PSTN was used in the meeting.
type: boolean
has_recording:
description: "Indicates whether or not the recording feature was used in the meeting. "
type: boolean
has_screen_share:
description: Indicates whether or not screenshare feature was used in the meeting.
type: boolean
has_sip:
description: Indicates whether or not someone joined the meeting using SIP.
type: boolean
has_video:
description: Indicates whether or not video was used in the meeting.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used in the meeting.
type: boolean
host:
description: Host display name.
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
in_room_participants:
description: The number of Zoom Room participants in the meeting.
type: integer
participants:
description: Meeting participant count.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
user_type:
description: License type of the user.
type: string
uuid:
description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
format: uuid
type: string
title: Meeting Metrics
type: object
type: array
type: object
type: object
description: |-
**HTTP Status Code:** `200`
Zoom room returned.
Only available for paid accounts that have enabled the Dashboard feature.
"300":
description: |-
**Error Code:** `300`
The next page token is either invalid or has expired.
security:
- OAuth: []
summary: Get Zoom Rooms details
tags:
- Dashboards
"/past_meetings/{meetingId}/archive_files": {}
"/past_meetings/{meetingId}/files":
get:
description: |-
**Note: This API has been deprecated and is no longer supported due to GCM encryption updates for security purposes.** To learn about saving the in-meeting chat files via Zoom Client, refer to the [Saving in-meeting chat](https://support.zoom.us/hc/en-us/articles/115004792763-Saving-in-meeting-chat) guide.
List files sent via in-meeting chat during a meeting. The in-meeting files are deleted after 24 hours of the meeting completion time.
**Scope:** `meeting:read`, `meeting:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listPastMeetingFiles
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
in_meeting_files:
- download_url: somefile.txt/randomurl
file_name: somefile.txt
file_size: 300
total_records: 1
schema:
properties:
in_meeting_files:
items:
properties:
download_url:
description: URL to download the file.
type: string
file_name:
description: Name of the file.
type: string
file_size:
description: Size of the file in bytes.
type: integer
type: object
type: array
total_records:
description: The total number of files found.
type: integer
type: object
application/xml:
schema:
properties:
in_meeting_files:
items:
properties:
download_url:
description: URL to download the file.
type: string
file_name:
description: Name of the file.
type: string
file_size:
description: Size of the file in bytes.
type: integer
type: object
type: array
total_records:
description: The total number of files found.
type: integer
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Files retrieved successfully.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `1010`
User does not belong to this account: {accountId}.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `3001`
Meeting ID is invalid or not end.
security:
- OAuth: []
summary: List past meeting's files
tags:
- Deprecated API Endpoints
parameters:
- in: path
name: meetingId
required: true
schema:
type: string
"/past_meetings/{meetingId}/instances":
get:
description: |-
Get a list of ended meeting instances
**Scopes:** `meeting:read:admin` `meeting:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: pastMeetings
parameters:
- description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
responses:
"200":
content:
application/json:
schema:
allOf:
- properties:
meetings:
description: List of ended meeting instances.
items:
allOf:
- properties:
start_time:
description: Start time
format: date-time
type: string
uuid:
description: |+
Meeting UUID. Unique meeting ID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
type: string
type: object
type: array
description: List of Meetings
title: Meeting instances
type: object
application/xml:
schema:
allOf:
- properties:
meetings:
description: List of ended meeting instances.
items:
allOf:
- properties:
start_time:
description: Start time
format: date-time
type: string
uuid:
description: |+
Meeting UUID. Unique meeting ID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
type: string
type: object
type: array
description: List of Meetings
title: Meeting instances
type: object
description: |-
**HTTP Status Code:** `200`
List of ended meeting instances returned.
"404":
description: |-
**HTTP Status Code:** `404`
Meeting not found.
security:
- OAuth: []
summary: List ended meeting instances
tags:
- Meetings
"/past_meetings/{meetingId}/polls":
get:
description: |-
[Polls](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings) allow the meeting host to survey attendees. Use this API to list poll results of a meeting.
**Scopes**: `meeting:read:admin`, `meeting:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Prerequisites**:
* Host user type must be **Pro**.
* Meeting must be a scheduled meeting. Instant meetings do not have polling features enabled.
operationId: listPastMeetingPolls
parameters:
- description: |-
The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
id: 123456
questions:
- email: myemail@jksdlfkjdf.djfk
name: Sam S
question_details:
- answer: I am wonderful.
question: How are you?
start_time: 2019-02-01T12:34:12.660Z
title: Learn something new
uuid: gsdjfhsdfkhjdsf
schema:
properties:
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
questions:
items:
properties:
email:
description: Email address of the user who submitted answers to the poll.
type: string
name:
description: Name of the user who submitted answers to the poll. If "anonymous" option is enabled for a poll, the participant's polling information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
type: string
question_details:
items:
properties:
answer:
description: Answer submitted by the user.
type: string
date_time:
description: Date and time at which the answer to the poll was submitted.
format: date-time
type: string
polling_id:
description: Unique identifier of the poll.
type: string
question:
description: Question asked during the poll.
type: string
type: object
type: array
type: object
type: array
start_time:
description: The start time of the meeting.
format: date-time
type: string
uuid:
description: Meeting UUID.
type: string
type: object
application/xml:
schema:
properties:
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
questions:
items:
properties:
email:
description: Email address of the user who submitted answers to the poll.
type: string
name:
description: Name of the user who submitted answers to the poll. If "anonymous" option is enabled for a poll, the participant's polling information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
type: string
question_details:
items:
properties:
answer:
description: Answer submitted by the user.
type: string
date_time:
description: Date and time at which the answer to the poll was submitted.
format: date-time
type: string
polling_id:
description: Unique identifier of the poll.
type: string
question:
description: Question asked during the poll.
type: string
type: object
type: array
type: object
type: array
start_time:
description: The start time of the meeting.
format: date-time
type: string
uuid:
description: Meeting UUID.
type: string
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Polls returned successfully.
security:
- OAuth: []
summary: List past meeting's poll results
tags:
- Meetings
parameters:
- in: path
name: meetingId
required: true
schema:
type: string
"/past_meetings/{meetingUUID}":
get:
description: |-
Get details on a past meeting.
**Scopes:** `meeting:read:admin` `meeting:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
> **Note**: Please double encode your UUID when using this API if the UUID begins with a '/'or contains '//' in it.
operationId: pastMeetingDetails
parameters:
- description: The meeting UUID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for other API calls if the UUID begins with a '/'or contains '//' in it.
in: path
name: meetingUUID
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
duration: integer
end_time: string [date-time]
host_id: integer
id: integer
participants_count: integer
start_time: string [date-time]
topic: string
total_minutes: integer
type: integer
user_email: string
user_name: string
uuid: string [uuid]
schema:
properties:
duration:
description: Meeting duration.
type: integer
end_time:
description: Meeting end time (GMT).
format: date-time
type: string
host_id:
description: Host ID.
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
participants_count:
description: Number of meeting participants.
type: integer
start_time:
description: Meeting start time (GMT).
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_minutes:
description: Sum of meeting minutes from all participants in the meeting.
type: integer
type:
description: Meeting type.
type: integer
user_email:
description: User email.
type: string
user_name:
description: User display name.
type: string
uuid:
description: Meeting UUID.
format: uuid
type: string
type: object
application/xml:
schema:
properties:
duration:
description: Meeting duration.
type: integer
end_time:
description: Meeting end time (GMT).
format: date-time
type: string
host_id:
description: Host ID.
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
participants_count:
description: Number of meeting participants.
type: integer
start_time:
description: Meeting start time (GMT).
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_minutes:
description: Sum of meeting minutes from all participants in the meeting.
type: integer
type:
description: Meeting type.
type: integer
user_email:
description: User email.
type: string
user_name:
description: User display name.
type: string
uuid:
description: Meeting UUID.
format: uuid
type: string
type: object
description: |-
**HTTP Status Code:** `200`
Meeting details returned.
"400":
description: |
**HTTP Status Code:** `400`
Meeting not found
**Error Code:** `1010`
User not exist: {userId}
User {userId} not exist or not belong to this account.
**Error Code:** `300`
Cannot access meeting info.
**Error Code:** `200`
Only available for paid account: {accountId}
"404":
description: |
**HTTP Status Code:** `404`
Meeting not found
**Error Code:** `3001`
This meeting is not available or ID is not valid.
Meeting ID is invalid or not end.
security:
- OAuth: []
summary: Get past meeting details
tags:
- Meetings
"/past_meetings/{meetingUUID}/participants":
get:
description: |
Retrieve information on participants from a past meeting.
**Scopes:** `meeting:read:admin` `meeting:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Prerequisites:**
* Paid account on a Pro or higher plan.
**Note**: Please double encode your UUID when using this API if the UUID begins with a '/'or contains '//' in it.
operationId: pastMeetingParticipants
parameters:
- description: The meeting UUID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for other API calls if the UUID begins with a '/'or contains '//' in it.
in: path
name: meetingUUID
required: true
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: aliqua
page_count: 1
page_size: 30
participants:
- id: 8b29rgg4bb
name: Ram Shekhar
user_email: ram.shekhar.123@fkdngfjg.fdghdfgj
total_records: 1
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
participants:
description: Array of meeting participant objects.
items:
properties:
id:
description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
format: uuid
type: string
name:
description: Participant display name.
type: string
user_email:
description: Email address of the user. This field will be returned if the user logged into Zoom to join the meeting.
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
participants:
description: Array of meeting participant objects.
items:
properties:
id:
description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
format: uuid
type: string
name:
description: Participant display name.
type: string
user_email:
description: Email address of the user. This field will be returned if the user logged into Zoom to join the meeting.
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Meeting participants' report returned.
"400":
description: |+
**HTTP Status Code:** `400`
**Error Code:** `1010`
User {userId} not exist or not belong to this account.
**Error Code:** `200`
Only available for paid account: {accountId}
"404":
description: |-
**HTTP Status Code:** `404`
Meeting not found
**Error Code:** `1001`
User {userId} not exist or not belong to this account.
User not exist: {userId}
**Error Code:** `3001`
This meeting is not available or ID is not valid.
Meeting ID is invalid or not end.
security:
- OAuth: []
summary: Get past meeting participants
tags:
- Meetings
"/past_webinars/{WebinarUUID}/absentees":
get:
description: |-
List absentees of a webinar.
**Scopes:** `webinar:read:admin` `webinar:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: webinarAbsentees
parameters:
- description: The meeting occurrence ID.
in: query
name: occurrence_id
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: The Webinar UUID. Each Webinar instance will generate its own Webinar UUID (i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
in: path
name: WebinarUUID
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
page_count: 1
page_number: 1
page_size: 30
registrants:
- address: dsfhkdjsfh st
city: jackson heights
comments: Looking forward to the Webinar
country: USA
create_time: 2019-02-26T23:01:16.899Z
custom_questions:
- title: What do you hope to learn from this Webinar?
value: Look forward to learning how you come up with new recipes and what other services you offer.
email: sjfkghdsg@someemail.dfgjd
first_name: Jill
id: "24000002122"
industry: Food
job_title: Chef
join_url: https://zoom.us/webinar/mywebinarissocooldighdghodghodg
last_name: Chill
no_of_employees: "10"
org: Cooking Org
phone: "00000000"
purchasing_time_frame: 1-3 months
role_in_purchase_process: Influencer
state: NY
status: approved
zip: "11371"
total_records: 1
schema:
allOf:
- allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
registrants:
description: List of registrant objects.
items:
allOf:
- properties:
id:
description: Registrant ID.
type: string
type: object
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
- properties:
create_time:
description: The time at which the registrant registered.
format: date-time
type: string
join_url:
description: The URL using which an approved registrant can join the webinar.
format: string
type: string
status:
description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
type: string
type: object
type: array
description: List of users.
title: Registration List
type: object
description: List of users.
title: Registration List
type: object
application/xml:
schema:
allOf:
- allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
registrants:
description: List of registrant objects.
items:
allOf:
- properties:
id:
description: Registrant ID.
type: string
type: object
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
- properties:
create_time:
description: The time at which the registrant registered.
format: date-time
type: string
join_url:
description: The URL using which an approved registrant can join the webinar.
format: string
type: string
status:
description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
type: string
type: object
type: array
description: List of users.
title: Registration List
type: object
description: List of users.
title: Registration List
type: object
description: |-
**HTTP Status Code:** `200`
Success. **Error Code:** `200`
Webinar plan subscription is missing. Enable webinar for this user once the subscription is added:{userId}.
"300":
description: "**Error Code:** `300` Invalid webinar UUID."
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `300`
The request could not be completed because you have provided an invalid occurence ID: {occurenceId}
**Error Code:** `1010`
User does not belong to this account:{accountId}.
**Error Code:** `3000`
This Webinar has not registration required: {webinarUUID}
"404":
description: |+
**HTTP Status Code:** `404`
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `3001` Meeting ID is invalid or not end.
security:
- OAuth: []
summary: Get webinar absentees
tags:
- Webinars
"/past_webinars/{webinarId}/files":
get:
description: |+
**Note: This API has been deprecated and is no longer supported due to GCM encryption updates for security purposes.**
List files sent via in-meeting chat during a meeting. The in-meeting files are deleted after 24 hours of the meeting completion time.
**Scope:** `webinar:read`, `webinar:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listPastWebinarFiles
parameters:
- in: path
name: webinarId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
in_meeting_files:
- download_url: somefile.txt/randomurl
file_name: somefile.txt
file_size: 300
total_records: 1
schema:
properties:
in_meeting_files:
items:
properties:
download_url:
description: URL to download the file.
type: string
file_name:
description: Name of the file.
type: string
file_size:
description: Size of the file in bytes.
type: integer
type: object
type: array
total_records:
description: The total number of files found.
type: integer
type: object
application/xml:
schema:
properties:
in_meeting_files:
items:
properties:
download_url:
description: URL to download the file.
type: string
file_name:
description: Name of the file.
type: string
file_size:
description: Size of the file in bytes.
type: integer
type: object
type: array
total_records:
description: The total number of files found.
type: integer
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Files retrieved successfully.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `1010`
User does not belong to this account: {accountId}.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `3001`
Webinar ID is invalid or not end.
security:
- OAuth: []
summary: List past webinar files
tags:
- Deprecated API Endpoints
parameters:
- in: path
name: webinarId
required: true
schema:
type: string
"/past_webinars/{webinarId}/instances":
get:
description: |+
List past webinar instances.
**Scopes:** `webinar:read:admin` `webinar:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: pastWebinars
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
webinars:
- start_time: 2019-06-07T03:42:34.548Z
uuid: ut44544gisi
schema:
allOf:
- properties:
webinars:
description: List of ended webinar instances.
items:
allOf:
- properties:
start_time:
description: Start time.
format: date-time
type: string
uuid:
description: Webinar UUID.
type: string
type: object
type: array
description: List of webinars.
title: Webinar instances
type: object
application/xml:
schema:
allOf:
- properties:
webinars:
description: List of ended webinar instances.
items:
allOf:
- properties:
start_time:
description: Start time.
format: date-time
type: string
uuid:
description: Webinar UUID.
type: string
type: object
type: array
description: List of webinars.
title: Webinar instances
type: object
description: |-
**HTTP Status Code:** `200`
List of past webinar instances returned.
"300":
description: |-
**HTTP Status Code:** `300`
Invalid webinar ID.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
security:
- OAuth: []
summary: List past webinar instances
tags:
- Webinars
"/past_webinars/{webinarId}/participants":
get:
description: |+
Use this API to list all the participants who attended a webinar hosted in the past.
**Prerequisites:**
* Pro or higher plan with a Webinar Add-on.
**Scopes:** `webinar:read:admin` `webinar:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listWebinarParticipants
parameters:
- description: Unique identifier of the webinar. You can retrieve the value of this field by calling the [list webinars](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinars) API.
in: path
name: webinarId
required: true
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: mdnf23qbsf4wr
page_count: 1
page_size: 1
participants:
- id: sdjhf3ui
name: Matt
user_email: matt@123.jhdyuerys
total_records: 1
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for this request.
type: integer
page_size:
default: 30
description: The total number of records returned from a single API call.
maximum: 300
type: integer
participants:
items:
properties:
id:
description: Unique identifier of the participant.
type: string
name:
description: Name of the participant.
type: string
user_email:
description: Email address of the participant.
format: email
type: string
type: object
type: array
total_records:
description: The total number of records available across all pages.
type: integer
type: object
application/xml:
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for this request.
type: integer
page_size:
default: 30
description: The total number of records returned from a single API call.
maximum: 300
type: integer
participants:
items:
properties:
id:
description: Unique identifier of the participant.
type: string
name:
description: Name of the participant.
type: string
user_email:
description: Email address of the participant.
format: email
type: string
type: object
type: array
total_records:
description: The total number of records available across all pages.
type: integer
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Participants list returned.
"400":
description: |
**HTTP Status Code:** `400` **Bad request**
**Error Code:** `200`
No permission.
Only available for paid account: {accountId}.
**Error Code:** `300`
The next page token is invalid or expired.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:**`3001`
Webinar does not exist.
summary: List webinar participants
tags:
- Webinars
parameters:
- in: path
name: webinarId
required: true
schema:
type: string
"/past_webinars/{webinarId}/polls":
get:
description: |+
The polling feature for webinar allows you to create single choice or multiple choice polling questions for your webinars. Use this API to retrieve the results for Webinar Polls of a specific Webinar.
**Prerequisites:**
* [Webinar license](https://zoom.us/webinar)
**Scopes**: `webinar:read:admin`, `webinar:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listPastWebinarPollResults
parameters:
- description: |-
The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: webinarId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
id: 123456
questions:
- email: myemail@jksdlfkjdf.djfk
name: Sam S
question_details:
- answer: I am wonderful.
question: How are you?
start_time: 2019-02-01T12:34:12.660Z
title: Learn something new
uuid: gsdjfhsdfkhjdsf
schema:
properties:
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
questions:
items:
properties:
email:
description: Email address of the user who submitted answers to the poll.
type: string
name:
description: Name of the user who submitted answers to the poll. If "anonymous" option is enabled for a poll, the participant's polling information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
type: string
question_details:
items:
properties:
answer:
description: Answer submitted by the user.
type: string
date_time:
description: Date and time at which the answer to the poll was submitted.
format: date-time
type: string
polling_id:
description: Unique identifier of the poll.
type: string
question:
description: Question asked during the poll.
type: string
type: object
type: array
type: object
type: array
start_time:
description: The start time of the Webinar.
format: date-time
type: string
uuid:
description: Webinar UUID.
type: string
type: object
application/xml:
schema:
properties:
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
questions:
items:
properties:
email:
description: Email address of the user who submitted answers to the poll.
type: string
name:
description: Name of the user who submitted answers to the poll. If "anonymous" option is enabled for a poll, the participant's polling information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
type: string
question_details:
items:
properties:
answer:
description: Answer submitted by the user.
type: string
date_time:
description: Date and time at which the answer to the poll was submitted.
format: date-time
type: string
polling_id:
description: Unique identifier of the poll.
type: string
question:
description: Question asked during the poll.
type: string
type: object
type: array
type: object
type: array
start_time:
description: The start time of the Webinar.
format: date-time
type: string
uuid:
description: Webinar UUID.
type: string
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Polls returned successfully.
"401":
description: |
**HTTP Status Code:** `401` **Unauthorized**
**Error Code:** `1010` User does not belong to this account:{accountId}.
"404":
description: |
**HTTP Status Code:** `404` **Not found**
Webinar not found.
**Error Code:** `3001`
Webinar ID is invalid or not end.
This webinar id does not belong to you:{webinarId}.
security:
- OAuth: []
summary: List past webinar poll results
tags:
- Webinars
parameters:
- in: path
name: webinarId
required: true
schema:
type: string
"/past_webinars/{webinarId}/qa":
get:
description: |-
The [Question & Answer (Q&A)](https://support.zoom.us/hc/en-us/articles/203686015-Getting-Started-with-Question-Answer) feature for Webinars allows attendees to ask questions during the Webinar and for the panelists, co-hosts and host to answer their questions.
Use this API to list Q&A of a specific Webinar.
**Prerequisites:**
* [Webinar license](https://zoom.us/webinar)
**Scopes**: `webinar:read:admin`, `webinar:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listPastWebinarQA
parameters:
- description: |-
The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: webinarId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
id: 123456
questions:
- email: myemail@jksdlfkjdf.djfk
name: Sam S
question_details:
- answer: I am wonderful.
question: How are you?
start_time: 2019-02-01T12:34:12.660Z
title: Learn something new
uuid: gsdjfhsdfkhjdsf
schema:
properties:
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
questions:
items:
properties:
email:
description: Email address of the user.
type: string
name:
description: Name of the user. If "anonymous" option is enabled for the Q&A, the participant's information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
type: string
question_details:
items:
properties:
answer:
description: Answer submitted for the question.
type: string
question:
description: Question asked during the Q&A.
type: string
type: object
type: array
type: object
type: array
start_time:
description: The start time of the Webinar.
format: date-time
type: string
uuid:
description: Webinar UUID.
type: string
type: object
application/xml:
schema:
properties:
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
questions:
items:
properties:
email:
description: Email address of the user.
type: string
name:
description: Name of the user. If "anonymous" option is enabled for the Q&A, the participant's information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
type: string
question_details:
items:
properties:
answer:
description: Answer submitted for the question.
type: string
question:
description: Question asked during the Q&A.
type: string
type: object
type: array
type: object
type: array
start_time:
description: The start time of the Webinar.
format: date-time
type: string
uuid:
description: Webinar UUID.
type: string
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Q&A returned successfully.
"401":
description: |
**HTTP Status Code:** `401` **Unauthorized**
**Error Code:** `1010` User does not belong to this account:{accountId}.
"404":
description: |
**HTTP Status Code:** `404` **Not found**
Webinar not found.
**Error Code:** `3001`
Webinar ID is invalid or not end.
This webinar id does not belong to you:{webinarId}.
security:
- OAuth: []
summary: List Q&A of past webinar
tags:
- Webinars
parameters:
- in: path
name: webinarId
required: true
schema:
type: string
/phone/auto_receptionists:
post:
description: |+
Auto receptionists answer calls with a personalized recording and routes calls to a phone user, call queue, common area phone, voicemail or an IVR system. Use this API to add an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Interactive-Voice-Response-IVR-) to a Zoom Phone.
**Prerequisites:**
* Pro or higher account with Zoom Phone license.
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: addAutoReceptionist
requestBody:
content:
application/json:
schema:
properties:
name:
description: Provide a name to help identify the auto receptionist.
type: string
site_id:
description: Unique identifier of the site where the auto receptionist is to be assigned. This field is required only if you have [multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) enabled.
type: string
required:
- name
type: object
multipart/form-data:
schema:
properties:
name:
description: Provide a name to help identify the auto receptionist.
type: string
site_id:
description: Unique identifier of the site where the auto receptionist is to be assigned. This field is required only if you have [multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) enabled.
type: string
required:
- name
type: object
x-examples:
application/json:
name: HQ Auto Receptionist
site_id: dorfdg67on
responses:
"201":
content:
application/json:
examples:
response:
value:
extension_number: 123
id: officdt76ydatat
name: HQ Auto Receptionist
schema:
properties:
extension_number:
description: " Extension number assigned to the auto receptionist."
type: integer
id:
description: Auto receptionist ID. Unique Identifier of the auto receptionist.
type: string
name:
description: " Name of the auto receptionist."
type: string
type: object
application/xml:
schema:
properties:
extension_number:
description: " Extension number assigned to the auto receptionist."
type: integer
id:
description: Auto receptionist ID. Unique Identifier of the auto receptionist.
type: string
name:
description: " Name of the auto receptionist."
type: string
type: object
description: |-
**HTTP Status Code:** `201` **Created**
Auto receptionist added successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` **Validation failed.**
* Multiple Site is disabled.
* Site does not exist.
summary: Add an auto receptionist
tags:
- Phone Auto Receptionists
"/phone/auto_receptionists/{autoReceptionistId}":
parameters:
- in: path
name: autoReceptionistId
required: true
schema:
type: string
patch:
description: |-
An auto receptionist answers calls with a personalized recording and routes calls to a phone user, call queue, common area phone, or voicemail. An auto receptionist can also be set up so that it routes calls to an interactive voice response (IVR) system to allow callers to select the routing options.
Use this API to [change information](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Interactive-Voice-Response-IVR-#h_1d5ffc56-6ba3-4ce5-9d86-4a1a1ee743f3) such as display name and extension number assigned to the main auto receptionist.
**Prerequisites:**
* Pro or higher account with Zoom Phone license.
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: updateAutoReceptionist
parameters:
- description: Unique Identifier of the Auto Receptionist. It can be retrieved from the [List Sites API](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/listphonesites).
in: path
name: autoReceptionistId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
extension_number:
description: Extension number to be assigned to the auto receptionist. If site code is enabled, provide the short extension number instead.
type: integer
name:
description: Display name of the auto receptionist.
maxLength: 32
type: string
type: object
multipart/form-data:
schema:
properties:
extension_number:
description: Extension number to be assigned to the auto receptionist. If site code is enabled, provide the short extension number instead.
type: integer
name:
description: Display name of the auto receptionist.
maxLength: 32
type: string
type: object
x-examples:
application/json: |-
{
"name": "dfdsff",
"extension_number": 08
}
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Auto Receptionist details updated sucessfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Extension Number must be {min} to {max} digits
Validation Failed. AutoReceptionist does not exist, AutoReceptionistId: {autoReceptionistId}
**Error Code:** `400`
Invalid short number length.
Invalid full extension number length.
**Error Code:** `10001`
Number {extensionNumber} is a reserved extension number.
Extension number {extensionNumber} is already used.
security:
- OAuth: []
summary: Update auto receptionist details
tags:
- Phone Auto Receptionists
"/phone/auto_receptionists/{autoReceptionistId}/phone_numbers":
delete:
description: |
Unassign all phone numbers that were previously assigned to an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Interactive-Voice-Response-IVR-).
**Prerequisites:**
* Pro or higher account plan with Zoom Phone License
* Account owner or admin permissions
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: unassignAllPhoneNumsAutoReceptionist
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Phone numbers unassigned successfully.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `404`
AutoReceptionist does not exist, AutoReceptionistId: {autoReceptionId}
security:
- OAuth: []
summary: Unassign all phone numbers
tags:
- Phone Auto Receptionists
parameters:
- in: path
name: autoReceptionistId
required: true
schema:
type: string
post:
description: |-
Assign available phone numbers to an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Interactive-Voice-Response-IVR-). The available numbers can be retrieved using the List Phone Numbers API with `type` query parameter set to "unassigned".
**Prerequisites:**
* Pro or higher account plan with Zoom Phone License
* Account owner or admin permissions
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: assignPhoneNumbersAutoReceptionist
parameters:
- description: Unique Identifier of the Auto Receptionist. It can be retrieved from the [List Sites API](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/listphonesites).
in: path
name: autoReceptionistId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
phone_numbers:
description: Provide either the unique identifier of the Phone Number in the `id` field or provide the phone number in the `number` field.
items:
properties:
id:
description: Unique Identifier of the Phone number.
type: string
number:
description: Phone number in e164 format.
type: string
type: object
type: array
type: object
multipart/form-data:
schema:
properties:
phone_numbers:
description: Provide either the unique identifier of the Phone Number in the `id` field or provide the phone number in the `number` field.
items:
properties:
id:
description: Unique Identifier of the Phone number.
type: string
number:
description: Phone number in e164 format.
type: string
type: object
type: array
type: object
x-examples:
application/json: |-
{
"phone_numbers": [
{
"id": "cyjoruyk",
},
{
"number": "+11000110011"
}
]
}
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Phone numbers assigned successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `400`
Unable to update this number as it is used for outbound caller ID to public safety answering point.
Phone number does not exist, phonenumberId:{phonenumberId}
phoneNumber is used, phonenumberId:{phonenumberId}
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `404`
AutoReceptionist does not exist, AutoReceptionistId: {autoReceptionId}.
security:
- OAuth: []
summary: Assign phone numbers
tags:
- Phone Auto Receptionists
"/phone/auto_receptionists/{autoReceptionistId}/phone_numbers/{phoneNumberId}":
delete:
description: |-
Unassign a specific phone number that was previously assigned to an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Interactive-Voice-Response-IVR-).
**Prerequisites:**
* Pro or higher account plan with Zoom Phone License
* Account owner or admin permissions
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: unassignAPhoneNumAutoReceptionist
parameters:
- description: Unique identifier of the auto receptionist. This can be retrieved from the List Phone Sites API.
in: path
name: autoReceptionistId
required: true
schema:
type: string
- description: "Unique Identifier of the phone number or provide the actual phone number in e164 format (example: +19995550123)."
in: path
name: phoneNumberId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Phone number unassigned successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `400`
Phone number does not belong to auto receptionist.
"404":
description: |-
**HTTP Status Code:** `404` **Bad Request**
**Error Code:** `404`
AutoReceptionist does not exist, AutoReceptionistId: {autoReceptionId}.
security:
- OAuth: []
summary: Unassign a phone number
tags:
- Phone Auto Receptionists
parameters:
- in: path
name: autoReceptionistId
required: true
schema:
type: string
- in: path
name: phoneNumberId
required: true
schema:
type: string
/phone/blocked_list:
get:
description: |-
A Zoom account owner or a user with admin privilege can block phone numbers for phone users in an account. Blocked numbers can be inbound (numbers will be blocked from calling in) and outbound (phone users in your account won't be able to dial those numbers). Blocked callers will hear a generic message stating that the person they are calling is not available. Use this API to list all the blocked lists in an acccount.
**Prerequisites:**
* Pro or higher account plan with Zoom phone license
**Scope:** `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listBlockedList
parameters:
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: The total number of records returned from a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 100
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
blocked_list:
- block_type: inbound
comment: Blocked numbers starting with 777
id: 7buyurtKc0Zw
match_type: prefix
phone_number: "1777"
status: active
- block_type: inbound
comment: Blocked an unknown caller
id: cYDtrtyrgyQw
match_type: phoneNumber
phone_number: "600040404"
status: active
next_page_token: ""
page_size: 30
total_records: 2
schema:
properties:
blocked_list:
items:
properties:
block_type:
description: |-
Block type.
`inbound`: The blocked number or numbers with the specifie prefix are prevented from calling in to phone users.
`outbound`: The phone users are prevented from calling the blocked number or numbers with the specified prefix.
enum:
- inbound
- outbound
type: string
comment:
description: Provide a comment to help you identify the blocked number or prefix.
maxLength: 255
type: string
id:
description: Unique identifier of the blocked list.
type: string
match_type:
description: |-
Indicates the match type for the blocked list. The values can be one of the following:
`phoneNumber`: Indicates that only a specific phone number that is shown in the `phone_number` field is blocked.
`prefix`: Indicates that all numbers starting with prefix that is shown in the `phone_number` field are blocked.
enum:
- phoneNumber
- prefix
type: string
phone_number:
description: 'The phone number to be blocked if you passed "phoneNumber" as the value for the `match_type` field. If you passed "prefix" as the value for the `match_type` field, provide the prefix of the phone number here including the country code. For example, entering 1905 blocks numbers with country code 1 and area code 905. '
maxLength: 50
type: string
status:
description: |-
Indicates whether the blocking is active or inactive.
`active`: The blocked list is active.
`inactive`: The blocked list is inactive.
enum:
- active
- inactive
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
default: 30
description: The total number of records returned from a single API call.
maximum: 100
type: integer
total_records:
description: The total number of records found for this query.
type: integer
type: object
application/xml:
schema:
properties:
blocked_list:
items:
properties:
block_type:
description: |-
Block type.
`inbound`: The blocked number or numbers with the specifie prefix are prevented from calling in to phone users.
`outbound`: The phone users are prevented from calling the blocked number or numbers with the specified prefix.
enum:
- inbound
- outbound
type: string
comment:
description: Provide a comment to help you identify the blocked number or prefix.
maxLength: 255
type: string
id:
description: Unique identifier of the blocked list.
type: string
match_type:
description: |-
Indicates the match type for the blocked list. The values can be one of the following:
`phoneNumber`: Indicates that only a specific phone number that is shown in the `phone_number` field is blocked.
`prefix`: Indicates that all numbers starting with prefix that is shown in the `phone_number` field are blocked.
enum:
- phoneNumber
- prefix
type: string
phone_number:
description: 'The phone number to be blocked if you passed "phoneNumber" as the value for the `match_type` field. If you passed "prefix" as the value for the `match_type` field, provide the prefix of the phone number here including the country code. For example, entering 1905 blocks numbers with country code 1 and area code 905. '
maxLength: 50
type: string
status:
description: |-
Indicates whether the blocking is active or inactive.
`active`: The blocked list is active.
`inactive`: The blocked list is inactive.
enum:
- active
- inactive
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
default: 30
description: The total number of records returned from a single API call.
maximum: 100
type: integer
total_records:
description: The total number of records found for this query.
type: integer
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Blocked list returned successfully.
security:
- OAuth: []
summary: List blocked lists
tags:
- Phone Blocked List
post:
description: |-
A Zoom account owner or a user with admin privilege can block phone numbers for phone users in an account. Blocked numbers can be inbound (numbers will be blocked from calling in) and outbound (phone users in your account won't be able to dial those numbers). Blocked callers will hear a generic message stating that the person they are calling is not available. Use this API to create a blocked list and add a number to that blocked list.
**Prerequisites:**
* Pro or higher account plan with Zoom phone license
**Scope:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: addAnumberToBlockedList
requestBody:
content:
application/json:
schema:
properties:
block_type:
description: |-
State whether you want the block type to be inbound or outbound.
`inbound`: Pass this value to prevent the blocked number or prefix from calling in to phone users.
`outbound`: Pass this value to prevent phone users from calling the blocked number or prefix.
enum:
- inbound
- outbound
type: string
comment:
description: Provide a comment to help you identify the blocked number or prefix.
maxLength: 255
type: string
match_type:
description: |-
Specify the match type for the blocked list. The values can be one of the following:
`phoneNumber`: Choose this option (Phone Number Match) if you want to block a specific phone number. Then, in the `phone_number` field, provide the phone number along with the country code.
`prefix`: Choose this option (Prefix Match) if you want to block all numbers with a specific country code and area code. Next, in the `phone_number` field, enter a country code as part of the prefix. For example, entering 1907 blocks numbers with country code 1 and area code 907.
enum:
- phoneNumber
- prefix
type: string
phone_number:
description: 'The phone number to be blocked if you passed "phoneNumber" as the value for the `match_type` field. If you passed "prefix" as the value for the `match_type` field, provide the prefix of the phone number here including the country code. For example, entering 1905 blocks numbers with country code 1 and area code 905. '
maxLength: 50
type: string
status:
description: |-
Enable or disable the blocking. One of the following values are allowed:
`active`: Keep the blocking active.
`inactive`: Disable the blocking.
enum:
- active
- inactive
type: string
type: object
multipart/form-data:
schema:
properties:
block_type:
description: |-
State whether you want the block type to be inbound or outbound.
`inbound`: Pass this value to prevent the blocked number or prefix from calling in to phone users.
`outbound`: Pass this value to prevent phone users from calling the blocked number or prefix.
enum:
- inbound
- outbound
type: string
comment:
description: Provide a comment to help you identify the blocked number or prefix.
maxLength: 255
type: string
match_type:
description: |-
Specify the match type for the blocked list. The values can be one of the following:
`phoneNumber`: Choose this option (Phone Number Match) if you want to block a specific phone number. Then, in the `phone_number` field, provide the phone number along with the country code.
`prefix`: Choose this option (Prefix Match) if you want to block all numbers with a specific country code and area code. Next, in the `phone_number` field, enter a country code as part of the prefix. For example, entering 1907 blocks numbers with country code 1 and area code 907.
enum:
- phoneNumber
- prefix
type: string
phone_number:
description: 'The phone number to be blocked if you passed "phoneNumber" as the value for the `match_type` field. If you passed "prefix" as the value for the `match_type` field, provide the prefix of the phone number here including the country code. For example, entering 1905 blocks numbers with country code 1 and area code 905. '
maxLength: 50
type: string
status:
description: |-
Enable or disable the blocking. One of the following values are allowed:
`active`: Keep the blocking active.
`inactive`: Disable the blocking.
enum:
- active
- inactive
type: string
type: object
responses:
"201":
content:
application/json:
examples:
response:
value:
id: dhfhfhnim
schema:
properties:
id:
description: Unique identifier of the blocked list.
type: string
type: object
application/xml:
schema:
properties:
id:
description: Unique identifier of the blocked list.
type: string
type: object
description: |-
**HTTP Status Code:** `201` **Created**
Number added to the blocked list successfully.
"409":
description: |-
**HTTP Status Code:** `409` **Conflict**
Blocked number already exists.
security:
- OAuth: []
summary: Create a blocked list
tags:
- Phone Blocked List
"/phone/blocked_list/{blockedListId}":
delete:
description: |-
A Zoom account owner or a user with admin privilege can block phone numbers for phone users in an account. Blocked numbers can be inbound (numbers will be blocked from calling in) and outbound (phone users in your account won't be able to dial those numbers).
Use this API to delete a blocked list and therefore removing the associated number from the blocked list. The number will be unblocked after the deletion.
**Prerequisites:**
* Pro or higher account plan with Zoom phone license
**Scope:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteABlockedList
parameters:
- description: Unique Identifier of the blocked list. This can be retrieved from the List Blocked List API.
in: path
name: blockedListId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Blocked list deleted successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Validation Failed. Blocked number (Id: {blockedListId}) does not exist.
security:
- OAuth: []
summary: Delete a blocked list
tags:
- Phone Blocked List
get:
description: |-
A Zoom account owner or a user with admin privilege can block phone numbers for phone users in an account. Blocked numbers can be inbound (numbers will be blocked from calling in) and outbound (phone users in your account won't be able to dial those numbers). Blocked callers will hear a generic message stating that the person they are calling is not available. Use this API to get information about a specific blocked list.
**Prerequisites:**
* Pro or higher account plan with Zoom phone license
**Scope:** `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: getABlockedList
parameters:
- description: Unique Identifier of the blocked list.
in: path
name: blockedListId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
block_type: inbound
comment: Blocked all numbers starting with 0001
id: 7bR_Ix4KSJS_heuPPKc0Zw
match_type: prefix
phone_number: "0001"
status: active
schema:
properties:
block_type:
description: |-
Block type.
`inbound`: The blocked number or numbers with the specifie prefix are prevented from calling in to phone users.
`outbound`: The phone users are prevented from calling the blocked number or numbers with the specified prefix.
enum:
- inbound
- outbound
type: string
comment:
description: Provide a comment to help you identify the blocked number or prefix.
maxLength: 255
type: string
id:
description: Unique identifier of the blocked list.
type: string
match_type:
description: |-
Indicates the match type for the blocked list. The values can be one of the following:
`phoneNumber`: Indicates that only a specific phone number that is shown in the `phone_number` field is blocked.
`prefix`: Indicates that all numbers starting with prefix that is shown in the `phone_number` field are blocked.
enum:
- phoneNumber
- prefix
type: string
phone_number:
description: The phone number or the prefix number that is blocked based on the `match_type`.
maxLength: 50
type: string
status:
description: |-
Indicates whether the blocking is active or inactive.
`active`: The blocked list is active.
`inactive`: The blocked list is inactive.
enum:
- active
- inactive
type: string
type: object
application/xml:
schema:
properties:
block_type:
description: |-
Block type.
`inbound`: The blocked number or numbers with the specifie prefix are prevented from calling in to phone users.
`outbound`: The phone users are prevented from calling the blocked number or numbers with the specified prefix.
enum:
- inbound
- outbound
type: string
comment:
description: Provide a comment to help you identify the blocked number or prefix.
maxLength: 255
type: string
id:
description: Unique identifier of the blocked list.
type: string
match_type:
description: |-
Indicates the match type for the blocked list. The values can be one of the following:
`phoneNumber`: Indicates that only a specific phone number that is shown in the `phone_number` field is blocked.
`prefix`: Indicates that all numbers starting with prefix that is shown in the `phone_number` field are blocked.
enum:
- phoneNumber
- prefix
type: string
phone_number:
description: The phone number or the prefix number that is blocked based on the `match_type`.
maxLength: 50
type: string
status:
description: |-
Indicates whether the blocking is active or inactive.
`active`: The blocked list is active.
`inactive`: The blocked list is inactive.
enum:
- active
- inactive
type: string
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Blocked list retrieved successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `400`
Blocked number (Id: {blockedListId}) does not exist.
security:
- OAuth: []
summary: Get blocked list details
tags:
- Phone Blocked List
parameters:
- in: path
name: blockedListId
required: true
schema:
type: string
patch:
description: |+
A Zoom account owner or a user with admin privilege can block phone numbers for phone users in an account. Blocked numbers can be inbound (numbers will be blocked from calling in) and outbound (phone users in your account won't be able to dial those numbers). Blocked callers will hear a generic message stating that the person they are calling is not available. Use this API to update information on the blocked list.
**Prerequisites:**
* Pro or higher account plan with Zoom phone license
**Scope:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: updateBlockedList
parameters:
- description: Unique Identifier of the blocked list.
in: path
name: blockedListId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
block_type:
description: |-
State whether you want the block type to be inbound or outbound.
`inbound`: Pass this value to prevent the blocked number or prefix from calling in to phone users.
`outbound`: Pass this value to prevent phone users from calling the blocked number or prefix.
enum:
- inbound
- outbound
type: string
comment:
description: Provide a comment to help you identify the blocked number or prefix.
maxLength: 255
type: string
match_type:
description: |-
Specify the match type for the blocked list. The values can be one of the following:
`phoneNumber`: Choose this option (Phone Number Match) if you want to block a specific phone number. Then, in the `phone_number` field, provide the phone number along with the country code.
`prefix`: Choose this option (Prefix Match) if you want to block all numbers with a specific country code and area code. Next, in the `phone_number` field, enter a country code as part of the prefix. For example, entering 1907 blocks numbers with country code 1 and area code 907.
enum:
- phoneNumber
- prefix
type: string
phone_number:
description: 'The phone number to be blocked if you passed "phoneNumber" as the value for the `match_type` field. If you passed "prefix" as the value for the `match_type` field, provide the prefix of the phone number here including the country code. For example, entering 1905 blocks numbers with country code 1 and area code 905. '
maxLength: 50
type: string
status:
description: |-
Enable or disable the blocking. One of the following values are allowed:
`active`: Keep the blocking active.
`inactive`: Disable the blocking.
enum:
- active
- inactive
type: string
type: object
multipart/form-data:
schema:
properties:
block_type:
description: |-
State whether you want the block type to be inbound or outbound.
`inbound`: Pass this value to prevent the blocked number or prefix from calling in to phone users.
`outbound`: Pass this value to prevent phone users from calling the blocked number or prefix.
enum:
- inbound
- outbound
type: string
comment:
description: Provide a comment to help you identify the blocked number or prefix.
maxLength: 255
type: string
match_type:
description: |-
Specify the match type for the blocked list. The values can be one of the following:
`phoneNumber`: Choose this option (Phone Number Match) if you want to block a specific phone number. Then, in the `phone_number` field, provide the phone number along with the country code.
`prefix`: Choose this option (Prefix Match) if you want to block all numbers with a specific country code and area code. Next, in the `phone_number` field, enter a country code as part of the prefix. For example, entering 1907 blocks numbers with country code 1 and area code 907.
enum:
- phoneNumber
- prefix
type: string
phone_number:
description: 'The phone number to be blocked if you passed "phoneNumber" as the value for the `match_type` field. If you passed "prefix" as the value for the `match_type` field, provide the prefix of the phone number here including the country code. For example, entering 1905 blocks numbers with country code 1 and area code 905. '
maxLength: 50
type: string
status:
description: |-
Enable or disable the blocking. One of the following values are allowed:
`active`: Keep the blocking active.
`inactive`: Disable the blocking.
enum:
- active
- inactive
type: string
type: object
x-examples:
application/json:
block_type: inbound
comment: Blocking a spam caller
match_type: phoneNumber
phone_number: "16460000000"
status: active
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |
**HTTP Status Code:** `204` **No Content**
Blocked list updated successfully.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
Blocked number (Id: {blockedListId}) does not exist.
"409":
description: |-
**HTTP Status Code:** `409` **Conflict**
Blocked number already exists.
security:
- OAuth: []
summary: Update a blocked list
tags:
- Phone Blocked List
/phone/byoc_numbers:
post:
description: |+
Use this API to add BYOC phone numbers(provided to you by your carrier) to Zoom.
**Scope:** `phone:write:admin` or `phone:write` or `phone:master`
**Prerequisites:**
* The account must hold a business or enterprise plan and Zoom Phone license.
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: addBYOCNumber
requestBody:
content:
application/json:
schema:
properties:
carrier:
description: Name of the carrier.
type: string
phone_numbers:
description: Phone number(s) to be added to Zoom. The value should be in e164 format.
items:
type: string
type: array
site_id:
description: Unique identifier of the site. This field is only required if you have enabled multiple sites in the account. See [Managing multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) or [Adding a site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites#h_05c88e35-1593-491f-b1a8-b7139a75dc15) for details.
type: string
required:
- carrier
- phone_numbers
type: object
multipart/form-data:
schema:
properties:
carrier:
description: Name of the carrier.
type: string
phone_numbers:
description: Phone number(s) to be added to Zoom. The value should be in e164 format.
items:
type: string
type: array
site_id:
description: Unique identifier of the site. This field is only required if you have enabled multiple sites in the account. See [Managing multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) or [Adding a site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites#h_05c88e35-1593-491f-b1a8-b7139a75dc15) for details.
type: string
required:
- carrier
- phone_numbers
type: object
x-examples:
application/json:
carrier: Lorem qui voluptate Ut
phone_numbers:
- "+123456789"
site_id: dfmb3yor7w4yu
responses:
"201":
content:
application/json:
examples:
response:
value:
phone_numbers:
- id: incididunt
number: "+123456789"
schema:
properties:
phone_numbers:
items:
properties:
id:
description: Unique identifier of the phone number.
type: string
number:
description: Phone number in e164 format.
type: string
type: object
type: array
type: object
application/xml:
schema:
properties:
phone_numbers:
items:
properties:
id:
description: Unique identifier of the phone number.
type: string
number:
description: Phone number in e164 format.
type: string
type: object
type: array
type: object
description: "**HTTP Status Code:** `201` **Created**"
"300":
description: |+
**HTTP Status Code:** `300`
Validation failed. Adding batch phone numbers are limited to 50 per request.
"400":
description: |-
**HTTP Status Code:** `400` **Bad request**
BYOC phone numbers are not enabled for this account.
"401":
description: |-
**HTTP Status Code:** `401` **Unauthorized**
**Error Code:** `124` Account does not exist: {accountId}.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
The following account carrier does not exist: {0}.
"429":
description: |-
**HTTP Status Code:** `429` **Too Many Requests**
You have reached the maximum number of concurrent requests for this account’s BYOC phone numbers.
summary: Add BYOC phone numbers
tags:
- Phone
/phone/call_logs:
get:
description: |-
Retrieve [call logs](https://support.zoom.us/hc/en-us/articles/360021114452-Viewing-Call-Logs) for an account.
**Scopes**: `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisite:**
1. Business or Enterprise account
2. A Zoom Phone license
3. Account Owner and a [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) with Zoom Phone Management
operationId: accountCallLogs
parameters:
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: |-
Start date from which you would like to get the call logs. The start date should be within past six months.
The API only returns data pertaining to a month. Thus, the date range(defined using "from" and "to" fields) for which the call logs are to be returned must not exceed a month.
in: query
name: from
schema:
type: string
- description: The end date upto which you would like to get the call logs for. The end date should be within past six months.
in: query
name: to
schema:
type: string
- description: The type of the call logs. The value can be either "all" or "missed".
in: query
name: type
schema:
type: string
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: |-
Filter the API response by [path](https://support.zoom.us/hc/en-us/articles/360021114452-Viewing-and-identifying-logs#h_646b46c6-0623-4ab1-8b8b-ea5b8bcef679) of the call. The value of this field can be one of the following: `voiceMail`, `message`, `forward`, `extension`, `callQueue`, `ivrMenu`, `companyDirectory`, `autoReceptionist`, `contactCenter`, `disconnected`, `commonAreaPhone`,
`pstn`, `transfer`, `sharedLines`, `sharedLineGroup`, `tollFreeBilling`, `meetingService`, `parkPickup`,
`parkTimeout`, `monitor`, `takeover`, `sipGroup`
in: query
name: path
schema:
type: string
- description: Enables you to sort call logs by start or end time. Choose the sort time value. Values include `startTime` or `endTime`.
in: query
name: time_type
schema:
default: startTime
enum:
- startTime
- endTime
type: string
- description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites). Use this query parameter if you have enabled multiple sites and would like to filter the response of this API call by call logs of a specific phone site.
in: query
name: site_id
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
call_logs:
- call_type: voip
callee_name: somename
callee_number: "34567889"
callee_number_type: "2"
caller_name: ullamconame
caller_number: "12345678"
caller_number_type: "1"
date_time: 2019-05-19T20:00:00Z
direction: inbound
duration: 18677470
id: sjbkfdsbfsdf
owner:
extension_number: 1009
id: 29QVgYBGRmOM5VlC0DmLgg
name: Not_Delete_CallQueue_Recording
type: callQueue
result: no_answer
from: 2019-05-19
page_count: 0
page_number: 1
page_size: 30
to: 2019-05-20
total_records: 0
schema:
description: Account Call Logs
properties:
call_logs:
description: Call Log
items:
properties:
answer_start_time:
description: "GMT date and time at which the inbound call was answered. The value of this field is in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.
\t\t"
format: date-time
type: string
call_id:
description: Unique identifier of the phone call.
type: string
call_type:
description: |-
The type of call:
*`voip` (Voice over IP)
*`pstn` (Public Switched Telephone Network)
*`tollfree`
*`international`
*`contactCenter`
enum:
- voip
- pstn
- tollfree
- international
- contactCenter
type: string
callee_name:
description: Contact name of callee
type: string
callee_number:
description: Number of callee
type: string
callee_number_type:
description: Type of callee's number. 1 - internal | 2 - external
type: string
caller_name:
description: Contact name of caller
type: string
caller_number:
description: Number of caller
type: string
caller_number_type:
description: Type of caller's number. 1 - internal | 2 - external
type: string
charge:
description: Billing charge for the call.
type: string
client_code:
description: Client code.
type: string
date_time:
description: Start time of the call
type: string
direction:
description: Direction of the call. "inbound" | "outbound"
type: string
duration:
description: Duration of the call in seconds.
type: integer
id:
description: Call Log ID
type: string
owner:
properties:
extension_number:
description: The owner's extension number.
type: integer
id:
description: The owner ID.
type: string
name:
description: The owner name.
type: string
type:
description: |-
The owner type:
*`user`
*`callQueue`
*`autoReceptionist`
*`commonAreaPhone`
*`sharedLineGroup`
enum:
- user
- callQueue
- autoReceptionist
- commonAreaPhone
- sharedLineGroup
type: string
type: object
path:
description: "Path of the call. "
type: string
rate:
description: Billing rate for the call.
type: string
recording_id:
description: Unique identifier of the call recording.
type: string
recording_type:
description: |-
Type of call recording:
`1` OnDemand
`2` Automatic
enum:
- 1
- 2
type: string
result:
description: Result of the call. "call_connected" | "recorded" | "no_answer"
type: string
site:
properties:
id:
description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
type: string
name:
description: Name of the site where the phone number is assigned.
type: string
type: object
user_id:
description: User ID of the call log owner.
type: string
waiting_time:
description: "Duration that a **call queue member** takes to answer a call from the time it started ringing. The value of the duration is in seconds.
\t\t\t"
type: string
type: object
type: array
from:
description: Date from which you would like to view the logs.
type: string
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: Total number of pages
type: integer
page_size:
description: The number of records returned within a single API call for each page.
type: integer
to:
description: Date up to which you would like to view the phone log.
type: string
total_records:
description: The total number of records returned.
type: integer
type: object
application/xml:
schema:
description: Account Call Logs
properties:
call_logs:
description: Call Log
items:
properties:
answer_start_time:
description: "GMT date and time at which the inbound call was answered. The value of this field is in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.
\t\t"
format: date-time
type: string
call_id:
description: Unique identifier of the phone call.
type: string
call_type:
description: |-
The type of call:
*`voip` (Voice over IP)
*`pstn` (Public Switched Telephone Network)
*`tollfree`
*`international`
*`contactCenter`
enum:
- voip
- pstn
- tollfree
- international
- contactCenter
type: string
callee_name:
description: Contact name of callee
type: string
callee_number:
description: Number of callee
type: string
callee_number_type:
description: Type of callee's number. 1 - internal | 2 - external
type: string
caller_name:
description: Contact name of caller
type: string
caller_number:
description: Number of caller
type: string
caller_number_type:
description: Type of caller's number. 1 - internal | 2 - external
type: string
charge:
description: Billing charge for the call.
type: string
client_code:
description: Client code.
type: string
date_time:
description: Start time of the call
type: string
direction:
description: Direction of the call. "inbound" | "outbound"
type: string
duration:
description: Duration of the call in seconds.
type: integer
id:
description: Call Log ID
type: string
owner:
properties:
extension_number:
description: The owner's extension number.
type: integer
id:
description: The owner ID.
type: string
name:
description: The owner name.
type: string
type:
description: |-
The owner type:
*`user`
*`callQueue`
*`autoReceptionist`
*`commonAreaPhone`
*`sharedLineGroup`
enum:
- user
- callQueue
- autoReceptionist
- commonAreaPhone
- sharedLineGroup
type: string
type: object
path:
description: "Path of the call. "
type: string
rate:
description: Billing rate for the call.
type: string
recording_id:
description: Unique identifier of the call recording.
type: string
recording_type:
description: |-
Type of call recording:
`1` OnDemand
`2` Automatic
enum:
- 1
- 2
type: string
result:
description: Result of the call. "call_connected" | "recorded" | "no_answer"
type: string
site:
properties:
id:
description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
type: string
name:
description: Name of the site where the phone number is assigned.
type: string
type: object
user_id:
description: User ID of the call log owner.
type: string
waiting_time:
description: "Duration that a **call queue member** takes to answer a call from the time it started ringing. The value of the duration is in seconds.
\t\t\t"
type: string
type: object
type: array
from:
description: Date from which you would like to view the logs.
type: string
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: Total number of pages
type: integer
page_size:
description: The number of records returned within a single API call for each page.
type: integer
to:
description: Date up to which you would like to view the phone log.
type: string
total_records:
description: The total number of records returned.
type: integer
type: object
description: |-
**HTTP Status Code:** `200`
Account's call logs returned.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `3001`
Error retrieving call logs.
security:
- OAuth: []
summary: Get account's call logs
tags:
- Phone
"/phone/call_logs/{callLogId}":
parameters:
- in: path
name: callLogId
required: true
schema:
type: string
/phone/call_queues:
get:
description: |
Call queues allow you to route incoming calls to a group of users. For instance, you can use call queues to route calls to various departments in your organization such as sales, engineering, billing, customer service etc. Use this API to list Call queues.
**Prerequisites:**
* Pro, Business, or Education account
* Account owner or admin permissions
* Zoom Phone license
**Scopes:** `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listCallQueues
parameters:
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: The number of records returned from a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 100
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
call_queues:
- extension_number: 1011
id: gdfgd4fg
name: My test call queue
phone_numbers:
- id: "01"
number: "875489"
source: internal
site:
id: vCESddfg_ixWA
name: Main Site
status: active
next_page_token: nisidfyolore
page_size: 1
total_records: 1
schema:
properties:
call_queues:
items:
properties:
extension_number:
description: Extension number assigned to the queue.
type: integer
id:
description: Unique Identifier of the Call Queue.
type: string
name:
description: Name of the Call Queue.
type: string
phone_numbers:
description: Phone number(s) assigned to the call queue.
items:
properties:
id:
description: Unique Identifier of the Phone number assigned.
type: string
number:
description: Phone number.
type: string
source:
description: Source
enum:
- internal
- external
type: string
type: object
type: array
site:
properties:
id:
description: "Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) where the Call Queue is assigned. "
type: string
name:
description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites).
type: string
type: object
status:
description: "Status of the Call Queue. `active`: Call queue is enabled and active. `inactive`: Call queue is inactive. Inactive call queues cannot be called but will retain its settings and appear in the [Call Queues](https://zoom.us/pbx/page/telephone/groups#/groups) page."
enum:
- active
- inactive
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned from a single API call.
maximum: 100
type: integer
total_records:
description: The total number of records found for this query.
type: integer
type: object
application/xml:
schema:
properties:
call_queues:
items:
properties:
extension_number:
description: Extension number assigned to the queue.
type: integer
id:
description: Unique Identifier of the Call Queue.
type: string
name:
description: Name of the Call Queue.
type: string
phone_numbers:
description: Phone number(s) assigned to the call queue.
items:
properties:
id:
description: Unique Identifier of the Phone number assigned.
type: string
number:
description: Phone number.
type: string
source:
description: Source
enum:
- internal
- external
type: string
type: object
type: array
site:
properties:
id:
description: "Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) where the Call Queue is assigned. "
type: string
name:
description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites).
type: string
type: object
status:
description: "Status of the Call Queue. `active`: Call queue is enabled and active. `inactive`: Call queue is inactive. Inactive call queues cannot be called but will retain its settings and appear in the [Call Queues](https://zoom.us/pbx/page/telephone/groups#/groups) page."
enum:
- active
- inactive
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned from a single API call.
maximum: 100
type: integer
total_records:
description: The total number of records found for this query.
type: integer
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Call Queues listed successfully.
security:
- OAuth: []
summary: List call queues
tags:
- Phone Call Queues
post:
description: |-
Call queues allow you to route incoming calls to a group of users. For instance, you can use call queues to route calls to various departments in your organization such as sales, engineering, billing, customer service etc. Use this API to [create a call queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues#h_e81faeeb-9184-429a-aaea-df49ff5ff413). You can add phone users or common area phones to call queues.
**Prerequisites:**
* Pro, Business, or Education account
* Account owner or admin permissions
* Zoom Phone license
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: createCallQueue
requestBody:
content:
application/json:
schema:
properties:
description:
description: Description for the Call Queue.
maxLength: 32
type: string
extension_number:
description: |-
Phone extension number for the site.
If a site code has been [assigned](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b) to the site, provide the short extension number instead of the original extension number..
type: integer
members:
description: A list of one or more phone users to be included in the call queue. Provide either users or common area phone(s). Provide at least one user in the users object.
properties:
common_area_phone_ids:
description: |-
**Optional**
Unique identifier of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones). This can be retrieved from the List Common Area Phones API.
items:
type: string
type: array
users:
description: Users object. Provide either the id (userId) field or the email address of the user.
items:
properties:
email:
description: Email address of the user. This can be retrieved from the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
format: email
type: string
id:
description: User Id of the user. This can be retrieved from the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
type: string
type: object
type: array
type: object
name:
description: Name of the Call Queue.
maxLength: 32
minLength: 1
type: string
site_id:
description: Unique identifier of the site. Required only if [multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) have been enabled. This can be retrieved from the [List Phone Sites](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/listphonesites) API.
type: string
required:
- site_id
- name
type: object
multipart/form-data:
schema:
properties:
description:
description: Description for the Call Queue.
maxLength: 32
type: string
extension_number:
description: |-
Phone extension number for the site.
If a site code has been [assigned](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b) to the site, provide the short extension number instead of the original extension number..
type: integer
members:
description: A list of one or more phone users to be included in the call queue. Provide either users or common area phone(s). Provide at least one user in the users object.
properties:
common_area_phone_ids:
description: |-
**Optional**
Unique identifier of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones). This can be retrieved from the List Common Area Phones API.
items:
type: string
type: array
users:
description: Users object. Provide either the id (userId) field or the email address of the user.
items:
properties:
email:
description: Email address of the user. This can be retrieved from the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
format: email
type: string
id:
description: User Id of the user. This can be retrieved from the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
type: string
type: object
type: array
type: object
name:
description: Name of the Call Queue.
maxLength: 32
minLength: 1
type: string
site_id:
description: Unique identifier of the site. Required only if [multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) have been enabled. This can be retrieved from the [List Phone Sites](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/listphonesites) API.
type: string
required:
- site_id
- name
type: object
x-examples:
application/json:
description: testtest
extension_number: 201
members:
users:
- email: sdksfbdg@enker.m
name: testing123
site_id: CESEpjWwT-upVH7kt_ixWA
responses:
"201":
content:
application/json:
examples:
response:
value:
extension_number: 10201
id: SujgNzKq-w
name: testing123
status: active
schema:
properties:
extension_number:
description: Extension number assigned for the Call Queue.
type: integer
id:
description: Unique Identifier of the Call Queue.
type: string
name:
description: Name of the Call Queue.
type: string
status:
description: |-
Status of the Call Queue.
`active`: Call queue is enabled and active.
`inactive`: Call queue is inactive. Inactive call queues cannot be called but will retain its settings and appear in the [Call Queues](https://zoom.us/pbx/page/telephone/groups#/groups) page.
type: string
type: object
application/xml:
schema:
properties:
extension_number:
description: Extension number assigned for the Call Queue.
type: integer
id:
description: Unique Identifier of the Call Queue.
type: string
name:
description: Name of the Call Queue.
type: string
status:
description: |-
Status of the Call Queue.
`active`: Call queue is enabled and active.
`inactive`: Call queue is inactive. Inactive call queues cannot be called but will retain its settings and appear in the [Call Queues](https://zoom.us/pbx/page/telephone/groups#/groups) page.
type: string
type: object
description: |-
**HTTP Status Code:** `201` **Created**
Call Queue created successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Validation Failed.
Multiple Site is disabled.
Site does not exist. {extensionNumber} is out of range Exceeded the maximum number to add members per time
**Error Code:** `400` Invalid short number length. Extension number {extensionNumber} is already used.
**Error Code:** `412` The maximum number of Call Queue members is up to {maxSize}.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User not found: {userId}
security:
- OAuth: []
summary: Create a call queue
tags:
- Phone Call Queues
"/phone/call_queues/{callQueueId}":
delete:
description: |+
Call queues allow you to route incoming calls to a group of users. For instance, you can use call queues to route calls to various departments in your organization such as sales, engineering, billing, customer service etc. Use this API to delete a Call Queue.
**Prerequisites:**
* Pro, Business, or Education account
* Account owner or admin permissions
* Zoom Phone license
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteACallQueue
parameters:
- description: Unique Identifier of the call queue.
in: path
name: callQueueId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Call Queue deleted successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `400`
The group does not exist, groupId:{callQueueId}.
security:
- OAuth: []
summary: Delete a call queue
tags:
- Phone Call Queues
get:
description: |-
Call queues allow you to route incoming calls to a group of users. For instance, you can use call queues to route calls to various departments in your organization such as sales, engineering, billing, customer service etc. Use this API to get information on a specific Call Queue.
**Prerequisites:**
* Pro, Business, or Education account
* Account owner or admin permissions
* Zoom Phone license
**Scopes:** `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: getACallQueue
parameters:
- description: Unique Identifier of the Call Queue. This can be retrieved from [List Call Queues API](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-call-queues/listcallqueues).
in: path
name: callQueueId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
extension_number: 10001
id: jIfhghXFA
members:
users:
- id: z8hfgh8uQ
level: manager
name: Lisa Yankowski
receive_call: true
name: Test-Callqueue
site:
id: CcvcvnWA
name: Main Site
status: active
schema:
properties:
extension_number:
description: Extension number assigned to the Call Queue.
type: integer
id:
description: Unique Identifier of the Call Queue.
type: string
members:
properties:
common_area_phones:
items:
properties:
id:
description: Unique Identifier of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones).
type: string
name:
description: Name of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones).
type: string
type: object
type: array
users:
items:
properties:
id:
description: "User ID: Unique Identifier of the user."
type: string
level:
description: |-
Level of the user. The value can be one of the following:
`manager`: A call queue manager has the privilege to change call queue settings, policy settings and manage recordings and voicemail inbox. There can only be one manager for each call queue.
`user`: Regular user without the privileges of a manager.
enum:
- manager
- user
type: string
name:
description: Name of the user.
type: string
receive_call:
description: Determines whether the user can receive calls or not.
type: boolean
type: object
type: array
type: object
name:
description: Name of the Call Queue.
type: string
phone_numbers:
items:
properties:
id:
description: Unique Identifier of the number.
type: string
number:
description: Phone number.
type: string
source:
description: Source
enum:
- internal
- external
type: string
type: object
type: array
site:
properties:
id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) where the Call Queue is assigned.
type: string
name:
description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites).
type: string
type: object
status:
description: Status of the Call Queue.
enum:
- active
- inactive
type: string
type: object
application/xml:
schema:
properties:
extension_number:
description: Extension number assigned to the Call Queue.
type: integer
id:
description: Unique Identifier of the Call Queue.
type: string
members:
properties:
common_area_phones:
items:
properties:
id:
description: Unique Identifier of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones).
type: string
name:
description: Name of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones).
type: string
type: object
type: array
users:
items:
properties:
id:
description: "User ID: Unique Identifier of the user."
type: string
level:
description: |-
Level of the user. The value can be one of the following:
`manager`: A call queue manager has the privilege to change call queue settings, policy settings and manage recordings and voicemail inbox. There can only be one manager for each call queue.
`user`: Regular user without the privileges of a manager.
enum:
- manager
- user
type: string
name:
description: Name of the user.
type: string
receive_call:
description: Determines whether the user can receive calls or not.
type: boolean
type: object
type: array
type: object
name:
description: Name of the Call Queue.
type: string
phone_numbers:
items:
properties:
id:
description: Unique Identifier of the number.
type: string
number:
description: Phone number.
type: string
source:
description: Source
enum:
- internal
- external
type: string
type: object
type: array
site:
properties:
id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) where the Call Queue is assigned.
type: string
name:
description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites).
type: string
type: object
status:
description: Status of the Call Queue.
enum:
- active
- inactive
type: string
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Call Queue details retrieved successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `400`
The group does not exist, groupId:{callQueueId}.
security:
- OAuth: []
summary: Get call queue details
tags:
- Phone Call Queues
parameters:
- in: path
name: callQueueId
required: true
schema:
type: string
patch:
description: |
Call queues allow you to route incoming calls to a group of users. For instance, you can use call queues to route calls to various departments in your organization such as sales, engineering, billing, customer service etc. Use this API to update information of a specific Call Queue.
**Prerequisites:**
* Pro, Business, or Education account
* Account owner or admin permissions
* Zoom Phone license
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: updateCallQueue
parameters:
- description: Unique Identifier of the Call Queue.
in: path
name: callQueueId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
description:
description: Description for the Call Queue.
maxLength: 32
type: string
extension_number:
description: |-
Phone extension number for the site.
If a site code has been [assigned](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b) to the site, provide the short extension number instead of the original extension number.
type: integer
name:
description: Name of the Call Queue.
maxLength: 32
type: string
site_id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) where the Call Queue is assigned.
type: string
status:
description: |-
Status of the Call Queue. Allowed values:
`active`
`inactive`
enum:
- active
- inactive
type: string
timezone:
description: "[Timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) of the Call Queue."
type: string
type: object
multipart/form-data:
schema:
properties:
description:
description: Description for the Call Queue.
maxLength: 32
type: string
extension_number:
description: |-
Phone extension number for the site.
If a site code has been [assigned](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b) to the site, provide the short extension number instead of the original extension number.
type: integer
name:
description: Name of the Call Queue.
maxLength: 32
type: string
site_id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) where the Call Queue is assigned.
type: string
status:
description: |-
Status of the Call Queue. Allowed values:
`active`
`inactive`
enum:
- active
- inactive
type: string
timezone:
description: "[Timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) of the Call Queue."
type: string
type: object
x-examples:
application/json:
description: Sales Call Queue
extension_number: 72860194
name: Sales
site_id: gdfgfdg11m
status: active
timezone: America/New_York
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Call Queue details updated successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Validation Failed. The group does not exist, groupId:{groupId}
Timezone not found in the system.
**Error Code:** `400`
Unable to update this call queue as it is used for internal safety response team.
security:
- OAuth: []
summary: Update call queue details
tags:
- Phone Call Queues
"/phone/call_queues/{callQueueId}/manager":
parameters:
- in: path
name: callQueueId
required: true
schema:
type: string
put:
description: |+
A call queue manager has the privileges to maanage the call queue's voicemail inbox and recordings, change all call queue settings and call queue policy settings.
Use this API to to set another phone user as the [call queue manager](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues#h_db06854b-e6a3-4afe-ba15-baf58f31f90c).
**Prerequisites:**
* Pro or higher account plan.
* Account owner or admin permissions
* Zoom Phone license
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: changeCallQueueManager
parameters:
- description: Unique Identifier of the Call Queue.
in: path
name: callQueueId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
member_id:
description: Unique Identifier (userId) or email address of the user who will be the new call queue manager.
type: string
type: object
multipart/form-data:
schema:
properties:
member_id:
description: Unique Identifier (userId) or email address of the user who will be the new call queue manager.
type: string
type: object
x-examples:
application/json:
member_id: dfjdsf@sdjdf.dfhjdf
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Call queue manager changed successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Validation Failed. The group does not exist, groupId:{callQueueId}.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User not found: {userId}
security:
- OAuth: []
summary: Change call queue manager
tags:
- Phone Call Queues
"/phone/call_queues/{callQueueId}/members":
delete:
description: |-
Use this API to remove all members from a Call Queue who were previously assigned to that Call Queue. The members could be phone users or [common area phones](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones).
**Prerequisites:**
* Pro or higher account plan.
* Zoom Phone license
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: unassignAllMembers
parameters:
- in: path
name: callQueueId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Member unassigned successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Validation Failed. The group does not exist, groupId:{callQueueId}.
security:
- OAuth: []
summary: Unassign all members
tags:
- Phone Call Queues
parameters:
- in: path
name: callQueueId
required: true
schema:
type: string
post:
description: |-
Add phone users and/or [common area phones](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones) as members to a specific Call Queue.
**Prerequisites:**
* Pro or higher account plan.
* Zoom Phone license
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: addMembersToCallQueue
parameters:
- description: Unique Identifier of the Call Queue.
in: path
name: callQueueId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
members:
description: A maximum of 10 members can be added at a time.
properties:
common_area_phone_ids:
description: Array of one or more Common Area Phone Ids of the Common Area Phone(s) that you would like to add to the Call Queue.
items:
type: string
type: array
users:
items:
properties:
email:
description: Email address of the user.
format: email
type: string
id:
description: "User ID: Unique Identifier of the user."
type: string
type: object
type: array
type: object
type: object
multipart/form-data:
schema:
properties:
members:
description: A maximum of 10 members can be added at a time.
properties:
common_area_phone_ids:
description: Array of one or more Common Area Phone Ids of the Common Area Phone(s) that you would like to add to the Call Queue.
items:
type: string
type: array
users:
items:
properties:
email:
description: Email address of the user.
format: email
type: string
id:
description: "User ID: Unique Identifier of the user."
type: string
type: object
type: array
type: object
type: object
x-examples:
application/json: |-
{
"members": {
"users": [
{
"id": "dkjfdjghdfg",
"email": "ge9ru@fghdf.fdg"
}
],
"common_area_phone_ids": "["1234455", "13232434"]"
}
}
responses:
"201":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |-
**HTTP Status Code:** `201` **Created**
Members added successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Validation Failed. The group does not exist, groupId:{callQueueId}.
Exceeded the maximum number to add members per time.
**Error Code:** `412`
The maximum number of Call Queue members is up to {maxSize}.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User not found: {userId}.
security:
- OAuth: []
summary: Add members to a call queue
tags:
- Phone Call Queues
"/phone/call_queues/{callQueueId}/members/{memberId}":
delete:
description: |+
Use this API to remove a member from a Call Queue who was previously added to that Call Queue. The member could be a phone user or a [common area phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones). A member who is a Call Queue Manager cannot be unassigned from the Call Queue using this API.
**Prerequisites:**
* Pro or higher account plan.
* Zoom Phone license
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: unassignMemberFromCallQueue
parameters:
- description: Unique Identifier of the Call Queue from which the member needs to be unassigned.
in: path
name: callQueueId
required: true
schema:
type: string
- description: Unique Identifier of the member who needs to be unassigned.
in: path
name: memberId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Member unassigned successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Validation Failed. The group does not exist, groupId:{callQueueId}.
**Error Code:** `400` Unable to delete manager
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
Unable to find group member
security:
- OAuth: []
summary: Unassign a member
tags:
- Phone Call Queues
parameters:
- in: path
name: callQueueId
required: true
schema:
type: string
- in: path
name: memberId
required: true
schema:
type: string
"/phone/call_queues/{callQueueId}/phone_numbers":
delete:
description: |+
Use this API to unbind all phone numbers that are assigned to a [Call Queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues) After successful unbinding, the numbers will appear in the [Unassigned tab](https://zoom.us/signin#/numbers/unassigned). If you only need to unassign a specific phone number, use the Unassign a Phone Number API instead.
**Prerequisites:**
* Pro or higher account palan
* Account owner or admin permissions
* Zoom Phone license **Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: unassignAPhoneNumCallQueue
parameters:
- description: Unique Identifier of the Call Queue. This can be retrieved from List Call Queues API.
in: path
name: callQueueId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |-
**HTTP Status Code:** `204` **No Content**
Phone numbers unassigned successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Validation Failed. The group does not exist, groupId:{callQueueId}
security:
- OAuth: []
summary: Unassign all phone numbers
tags:
- Phone Call Queues
parameters:
- in: path
name: callQueueId
required: true
schema:
type: string
post:
description: |+
After [buying phone number(s)](https://support.zoom.us/hc/en-us/articles/360020808292#h_007ec8c2-0914-4265-8351-96ab23efa3ad), you can assign it, allowing callers to directly dial a number to reach a [call queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues).
**Prerequisites:**
* Pro or higher account plan.
* Account owner or admin permissions
* Zoom Phone license
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: assignPhoneToCallQueue
parameters:
- description: Unique Identifier of the Call Queue.
in: path
name: callQueueId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
phone_numbers:
description: Provide either the `id` or the `number` field. Only a max of 5 numbers can be assigned to a call queue at a time.
items:
properties:
id:
description: Unique Identifier of the phone number.
type: string
number:
description: Phone number.
type: string
type: object
type: array
type: object
multipart/form-data:
schema:
properties:
phone_numbers:
description: Provide either the `id` or the `number` field. Only a max of 5 numbers can be assigned to a call queue at a time.
items:
properties:
id:
description: Unique Identifier of the phone number.
type: string
number:
description: Phone number.
type: string
type: object
type: array
type: object
x-examples:
application/json:
phone_numbers:
- id: lgdfgrdg
number: "12234556"
responses:
"204":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |
**HTTP Status Code:** `204` **No Content**
security:
- OAuth: []
summary: Assign numbers to a call queue
tags:
- Phone Call Queues
"/phone/call_queues/{callQueueId}/phone_numbers/{phoneNumberId}":
delete:
description: |+
After assigning a phone number, you can unbind it if you don't want it to be assigned to a [Call Queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues). Use this API to unbind a phone number from a Call Queue. After successful unbinding, the number will appear in the [Unassigned tab](https://zoom.us/signin#/numbers/unassigned).
**Prerequisites:**
* Pro or higher account palan
* Account owner or admin permissions
* Zoom Phone license **Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: unAssignPhoneNumCallQueue
parameters:
- description: Unique Identifier of the Call Queue. This can be retrieved from the List Call Queues API.
in: path
name: callQueueId
required: true
schema:
type: string
- description: "Unique Identifier of the Phone Number. "
in: path
name: phoneNumberId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |-
**HTTP Status Code:** `204` **No Content**
Phone Number unassigned successfuly.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Validation failed. The group does not exist, groupId:{callQueueId}.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `404`
Phone number not belong to call queue.
security:
- OAuth: []
summary: Unassign a phone number
tags:
- Phone Call Queues
parameters:
- in: path
name: callQueueId
required: true
schema:
type: string
- in: path
name: phoneNumberId
required: true
schema:
type: string
"/phone/call_queues/{callQueueId}/recordings":
get:
description: |+
Use this API to view [call recordings](https://support.zoom.us/hc/en-us/articles/360038521091#h_cbc9f2a3-e06c-4daa-83d4-ddbceef9c77b) from the call queue.
**Prerequisites:**
* Pro or higher account with Zoom Phone license.
* [Automatic call recordings](https://support.zoom.us/hc/en-us/articles/360033511872#h_fcb297bb-14e8-4094-91ca-dc61e1a18734) must be enabled in the Policy Settings for call queues. **Scope:** `phone:read:admin` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: getCallQueueRecordings
parameters:
- description: Unique Identifier of the Call Queue.
in: path
name: callQueueId
required: true
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: Start date (within a 6 month range).
in: query
name: from
schema:
format: date
type: string
- description: End date (within a 6 month range).
in: query
name: to
schema:
format: date
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: fg4t65hy
page_size: 1
recordings:
- callee_name: dfhjdvf
callee_number: "900138752313210"
callee_number_type: internal
caller_name: idvdfdf
caller_number: "+900138732313213"
caller_number_type: internal
date_time: 2026-08-11
direction: outbound
download_url: sjhgkdfg.fdghfb/fdgfdg
duration: 20
id: dvfv5gg
total_records: 1
schema:
properties:
from:
description: Start date.
type: string
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
recordings:
items:
properties:
callee_name:
description: Contact name of the callee.
type: string
callee_number:
description: Name of the callee.
type: string
callee_number_type:
description: Phone number type of the callee. `1`- Internal `2`- External
type: string
caller_name:
description: Name of the caller.
type: string
caller_number:
description: Phone number of the caller.
type: string
caller_number_type:
description: Phone number type of the caller. `1`- Internal `2`- External
type: string
date_time:
description: Date of the recording.
format: date
type: string
direction:
description: Direction of call. The value of this field can be either `outbound` or `inbound`.
type: string
download_url:
description: URL using which the recording can be downloaded.
type: string
duration:
description: Duration of the call.
type: integer
id:
description: Unique Identifier of the recording.
type: string
type: object
type: array
to:
description: End date.
type: string
total_records:
description: The total number of records returned for this API call.
type: string
type: object
application/xml:
schema:
properties:
from:
description: Start date.
type: string
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
recordings:
items:
properties:
callee_name:
description: Contact name of the callee.
type: string
callee_number:
description: Name of the callee.
type: string
callee_number_type:
description: Phone number type of the callee. `1`- Internal `2`- External
type: string
caller_name:
description: Name of the caller.
type: string
caller_number:
description: Phone number of the caller.
type: string
caller_number_type:
description: Phone number type of the caller. `1`- Internal `2`- External
type: string
date_time:
description: Date of the recording.
format: date
type: string
direction:
description: Direction of call. The value of this field can be either `outbound` or `inbound`.
type: string
download_url:
description: URL using which the recording can be downloaded.
type: string
duration:
description: Duration of the call.
type: integer
id:
description: Unique Identifier of the recording.
type: string
type: object
type: array
to:
description: End date.
type: string
total_records:
description: The total number of records returned for this API call.
type: string
type: object
description: ""
summary: Get call queue recordings
tags:
- Phone Call Queues
parameters:
- in: path
name: callQueueId
required: true
schema:
type: string
/phone/calling_plans:
get:
description: |-
List all Zoom Phone [calling plans](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) that are enabled for a Zoom account.
**Prerequisites:**
* Pro or a higher account with Zoom phone license.
**Scope:** `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listCallingPlans
responses:
"200":
content:
application/json:
examples:
response:
value:
calling_plans:
- assigned: 1
available: 9
name: US/Canada metered calling plan
subscribed: 10
type: 100
- assigned: 2
available: 2
name: Australia/New Zealand metered calling plan
subscribed: 4
type: 101
schema:
properties:
calling_plans:
items:
properties:
assigned:
description: Total number of plan used.
type: integer
available:
description: Remaining number of calling plans that can be assigned.
type: integer
name:
description: Name of the plan.
type: string
subscribed:
description: Total number of plan subscriptions bought.
type: integer
type:
description: Plan type. Refer to the Plan Number section [here](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans).
type: integer
type: object
type: array
type: object
application/xml:
schema:
properties:
calling_plans:
items:
properties:
assigned:
description: Total number of plan used.
type: integer
available:
description: Remaining number of calling plans that can be assigned.
type: integer
name:
description: Name of the plan.
type: string
subscribed:
description: Total number of plan subscriptions bought.
type: integer
type:
description: Plan type. Refer to the Plan Number section [here](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans).
type: integer
type: object
type: array
type: object
description: |
**HTTP Status Code:** `200` **OK**
Calling plans listed successfully.
security:
- OAuth: []
summary: List calling plans
tags:
- Phone
/phone/common_area_phones:
get:
description: |-
A common area phone can be provisioned by a Zoom account owner or a Zoom admin so that anyone in an organization can use it. For example, if your office has shared desks that don't belong to a specific employees, you could add a common area phone so that any person can use it. Use this API to [list all common area phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones) in an account.
**Prerequisites:**
* Pro or a higher account with Zoom Phone license.
* Account owner or admin permissions.
* [Supported device](https://support.zoom.us/hc/en-us/articles/360001299063-Zoom-Voice-Supported-Devices)
**Scope:** `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listCommonAreaPhones
parameters:
- description: The total number of records returned from a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 100
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
common_area_phones:
- calling_plans:
- name: string
type: string
device_type: string
display_name: string
id: string
mac_address: string
phone_numbers:
- id: string
number: string
source: string
site:
id: string
name: string
status: string
next_page_token: string
page_size: integer
total_records: integer
schema:
properties:
common_area_phones:
items:
properties:
calling_plans:
items:
properties:
name:
description: Plan name.
type: string
type:
description: "[Plan Number](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans)."
type: string
type: object
type: array
device_type:
description: Type of device (manufacturer name + model name). Refer to the table here for a list of [supported devices](https://marketplace.zoom.us/docs/api-reference/other-references/zoomphone-supporteddevice).
type: string
display_name:
description: Display name of the common area phone.
type: string
id:
description: Unique Identifier of the common area phone.
type: string
mac_address:
description: " Mac address or serial number."
type: string
phone_numbers:
items:
properties:
id:
description: Unique Identifier of the Phone number.
type: string
number:
description: Phone number.
type: string
source:
description: Phone number source. The value can be either `internal` or `external`.
enum:
- internal
- external
type: string
type: object
type: array
site:
properties:
id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) to which the common area desk phone is assigned.
type: string
name:
description: Name of the site.
type: string
type: object
status:
description: Status of the common area phone. It can be either `online` or `offline`.
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: Total number of records returned from a single API call.
type: integer
total_records:
default: 30
description: Total number of records found for this query.
maximum: 100
type: integer
type: object
application/xml:
schema:
properties:
common_area_phones:
items:
properties:
calling_plans:
items:
properties:
name:
description: Plan name.
type: string
type:
description: "[Plan Number](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans)."
type: string
type: object
type: array
device_type:
description: Type of device (manufacturer name + model name). Refer to the table here for a list of [supported devices](https://marketplace.zoom.us/docs/api-reference/other-references/zoomphone-supporteddevice).
type: string
display_name:
description: Display name of the common area phone.
type: string
id:
description: Unique Identifier of the common area phone.
type: string
mac_address:
description: " Mac address or serial number."
type: string
phone_numbers:
items:
properties:
id:
description: Unique Identifier of the Phone number.
type: string
number:
description: Phone number.
type: string
source:
description: Phone number source. The value can be either `internal` or `external`.
enum:
- internal
- external
type: string
type: object
type: array
site:
properties:
id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) to which the common area desk phone is assigned.
type: string
name:
description: Name of the site.
type: string
type: object
status:
description: Status of the common area phone. It can be either `online` or `offline`.
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: Total number of records returned from a single API call.
type: integer
total_records:
default: 30
description: Total number of records found for this query.
maximum: 100
type: integer
type: object
description: |-
**HTTP Status Code:** `200` **OK**
List of Common Area Phones retrieved successfully.
security:
- OAuth: []
summary: List common area phones
tags:
- Common Area Phones
post:
description: |-
A common area phone can be provisioned by a Zoom account owner or a Zoom admin so that anyone in an organization can use it. For example, if your office has shared desks that don't belong to a specific employees, you could add a common area phone so that any person can use it. Use this API to [add a common area phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones#h_2d0da347-c35a-4993-9771-e21aaa568deb).
**Prerequisites:**
* Pro or a higher account with Zoom Phone license.
* Account owner or admin permissions.
* [Supported device](https://support.zoom.us/hc/en-us/articles/360001299063-Zoom-Voice-Supported-Devices)
**Scope:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: addCommonAreaPhone
requestBody:
content:
application/json:
schema:
properties:
description:
description: Description for the common area phone.
type: string
display_name:
description: Display name of the Common area phone.
type: string
extension_number:
description: Extension number assigned to the common area phone. If site code is enabled, provide the short extension number instead.
type: integer
mac_address:
description: "Mac Address (serial number) of the common area desk phone. These examples show the formats supported: `64-16-7f-37-90-92` or `64167f379092`"
type: string
model:
description: Device Model name. Refer to the "Model Name" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/zoomphone-supporteddevice) table.
maxLength: 50
minLength: 1
type: string
site_id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672). This can be retrieved from the [List Phone Sites](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/listphonesites) API.
type: string
time_zone:
description: "[Timezone ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists) for the common area phone."
type: string
type:
description: Phone device manufacturer name. Refer to the "Manufacturer Name" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/zoomphone-supporteddevice) table.
maxLength: 50
minLength: 1
type: string
required:
- display_name
- extension_number
- mac_address
- type
type: object
x-examples:
application/json: |-
{
"extension_number": 50978119,
"mac_address": "64-16-7f-37-90-92",
"type": "Cisco",
"site_id": "occaecat",
"display_name": "nulla cillum nisi ",
"description": "proident laborum",
"model": "cp8861",
"time_zone": "Pacific/Midway "
}
responses:
"201":
content:
application/json:
examples:
response:
value:
display_name: Common Area Phone - lobby
id: comfgfd45um
schema:
properties:
display_name:
description: Display name of the common area phone.
type: string
id:
description: Unique Identifier of the common area phone.
type: string
type: object
application/xml:
schema:
properties:
display_name:
description: Display name of the common area phone.
type: string
id:
description: Unique Identifier of the common area phone.
type: string
type: object
description: |-
**HTTP Status Code:** `201` **Created**
Common area phone added successfully.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Validation failed.
* Phone manufacturer does not exist.
* Phone model does not exist.
* Phone manufacturer is not supported.
**Error Code:** `400`
The MAC Address is invalid.
"409":
description: |-
**HTTP Status Code:** `409`
**Error Code:** `409`
The MAC Address already exists in the system.
security:
- OAuth: []
summary: Add a common area phone
tags:
- Common Area Phones
"/phone/common_area_phones/{commonAreaPhoneId}":
delete:
description: |-
A common area phone can be provisioned by a Zoom account owner or a Zoom admin so that anyone in an organization can use it. For example, if your office has shared desks that don't belong to a specific employees, you could add a common area phone so that any person can use it. Use this API to remove the [common area phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones) from Zoom Phone System in an account.
**Prerequisites:**
* Pro or a higher account with Zoom Phone license.
* Account owner or admin permissions.
* [Supported device](https://support.zoom.us/hc/en-us/articles/360001299063-Zoom-Voice-Supported-Devices)
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteCommonAreaPhone
parameters:
- description: Unique Identifier of the common area phone.
in: path
name: commonAreaPhoneId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Common Area Phone deleted successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Validation Failed
Device does not exist in the system.
security:
- OAuth: []
summary: Delete a common area phone
tags:
- Common Area Phones
get:
description: |-
A common area phone can be provisioned by a Zoom account owner or a Zoom admin so that anyone in an organization can use it. For example, if your office has shared desks that don't belong to a specific employees, you could add a common area phone so that any person can use it. Use this API to get details on a specific [common area phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones) in an account. For the `commonAreaPhoneId`, use the unique identifier or the Mac address of the common area phone. The Mac address can be hyphenated (00-04-f2-5e-ec-3c) or not hyphenated (0004f25eec3c).
**Prerequisites:**
* Pro or a higher account with Zoom Phone license.
* Account owner or admin permissions.
* [Supported device](https://support.zoom.us/hc/en-us/articles/360001299063-Zoom-Voice-Supported-Devices)
**Scopes:** `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: getACommonAreaPhone
parameters:
- description: Unique Identifier of the Common Area Phone. Use the unique identifier or the Mac address of the common area phone. The Mac address can be hyphenated (00-04-f2-5e-ec-3c) or not hyphenated (0004f25eec3c). You can retrieved this from the [List Common Area Phones API](https://marketplace.zoom.us/docs/api-reference/zoom-api/common-area-phones/listcommonareaphones).
in: path
name: commonAreaPhoneId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
device_type: Cisco cp7821
display_name: testcommonareaphone
id: d6dfgdfgfdgiglw
mac_address: 105f11123456
provision:
sip_accounts:
- authorization_id: "1234567894"
outbound_proxy: abcd.zoom.us:1001
password: SomeRandomPasswordValue
sip_domain: abc.zoomcloudpbx.com
user_name: "71600000002730"
type: manual
site:
id: CEdfdfgdgixWA
name: Main Site
status: offline
schema:
properties:
device_type:
description: Type of device (manufacturer name + model name).
type: string
id:
description: Unique Identifier of the common area phone.
type: string
mac_address:
description: " Mac address or serial number."
type: string
name:
description: Display name of the common area phone.
type: string
provision:
description: Provisioning information of the common area phone.
properties:
sip_accounts:
description: "SIP Account details registered during the device provisioning process. This object will only be returned if manual provisioning was used for the device. "
items:
properties:
authorization_id:
description: Authorization ID of the SIP account provided in the provisioning process.
type: string
outbound_proxy:
description: Outbound proxy provided in the provisioning process.
type: string
password:
description: "Password entered during the provisioning process. "
type: string
sip_domain:
description: "SIP Domain provided in the provisioning process. \
\ "
type: string
user_name:
description: User name of the SIP account provided in the provisioning process.
type: string
type: object
type: array
type:
description: |+
[Provisioning type](https://support.zoom.us/hc/en-us/articles/360033223411). The value can be one of the following:
* `ztp` : Zero touch provisioning.
* `assisted`: Assisted provisioning.
* `manual`: Manual provisioning.
enum:
- assisted
- ztp
- manual
type: string
url:
description: Provisioning URL. This field will only be returned for devices that were provisioned via `assisted` provisioning type.
type: string
type: object
site:
properties:
id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) to which the common area desk phone is assigned.
type: string
name:
description: Name of the site.
type: string
type: object
status:
description: Status of the common area phone. It can be either `online` or `offline`.
type: string
type: object
application/xml:
schema:
properties:
device_type:
description: Type of device (manufacturer name + model name).
type: string
id:
description: Unique Identifier of the common area phone.
type: string
mac_address:
description: " Mac address or serial number."
type: string
name:
description: Display name of the common area phone.
type: string
provision:
description: Provisioning information of the common area phone.
properties:
sip_accounts:
description: "SIP Account details registered during the device provisioning process. This object will only be returned if manual provisioning was used for the device. "
items:
properties:
authorization_id:
description: Authorization ID of the SIP account provided in the provisioning process.
type: string
outbound_proxy:
description: Outbound proxy provided in the provisioning process.
type: string
password:
description: "Password entered during the provisioning process. "
type: string
sip_domain:
description: "SIP Domain provided in the provisioning process. \
\ "
type: string
user_name:
description: User name of the SIP account provided in the provisioning process.
type: string
type: object
type: array
type:
description: |+
[Provisioning type](https://support.zoom.us/hc/en-us/articles/360033223411). The value can be one of the following:
* `ztp` : Zero touch provisioning.
* `assisted`: Assisted provisioning.
* `manual`: Manual provisioning.
enum:
- assisted
- ztp
- manual
type: string
url:
description: Provisioning URL. This field will only be returned for devices that were provisioned via `assisted` provisioning type.
type: string
type: object
site:
properties:
id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) to which the common area desk phone is assigned.
type: string
name:
description: Name of the site.
type: string
type: object
status:
description: Status of the common area phone. It can be either `online` or `offline`.
type: string
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Common Area Phone details returned successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `400`
Device does not exist in the system.
security:
- OAuth: []
summary: Get common area phone details
tags:
- Common Area Phones
parameters:
- in: path
name: commonAreaPhoneId
required: true
schema:
type: string
patch:
description: |-
A common area phone can be provisioned by a Zoom account owner or a Zoom admin so that anyone in an organization can use it. For example, if your office has shared desks that don't belong to a specific employees, you could add a common area phone so that any person can use it. Use this API to update details on a specific [common area phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones) in an account.
**Prerequisites:**
* Pro or a higher account with Zoom Phone license.
* Account owner or admin permissions.
* [Supported device](https://support.zoom.us/hc/en-us/articles/360001299063-Zoom-Voice-Supported-Devices)
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: updateCommonAreaPhone
requestBody:
content:
application/json:
schema:
properties:
display_name:
description: Display name of the common area phone.
type: string
extension_number:
description: Extension number of the phone. If site code is enabled, provide short extension number instead.
type: integer
mac_address:
description: ' Mac address or serial number of the device. Examples of supported format: "64-16-7f-37-90-92" or "64167f379092".'
type: string
site_id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) to which the common area desk phone is assigned.
type: string
type: object
multipart/form-data:
schema:
properties:
display_name:
description: Display name of the common area phone.
type: string
extension_number:
description: Extension number of the phone. If site code is enabled, provide short extension number instead.
type: integer
mac_address:
description: ' Mac address or serial number of the device. Examples of supported format: "64-16-7f-37-90-92" or "64167f379092".'
type: string
site_id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) to which the common area desk phone is assigned.
type: string
type: object
x-examples:
application/json:
display_name: Kitchen Phone
extension_number: 12345
mac_address: 641123f9092
site_id: Lodhhoyrn
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Common Area Phone information updated successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Validation Failed. Device does not exist in the system.
security:
- OAuth: []
summary: Update common area phone
tags:
- Common Area Phones
/phone/company_number:
put:
description: |-
The [main company number](https://support.zoom.us/hc/en-us/articles/360028553691) can be used by external callers to reach your phone users (by dialing the main company number and the user's extension). It can also be used by phone users in your account as their caller ID while making calls.
Use this API to [change the main company number](https://support.zoom.us/hc/en-us/articles/360028553691#h_82414c34-9df2-428a-85a4-efcf7f9e0d72) of an account.
**Prerequisites:**
* Pro or higher account plan.
* Account owner or admin permissions
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: changeMainCompanyNumber
requestBody:
content:
application/json:
schema:
properties:
phone_number:
description: "Provide either the unique identifier of the phone number (id) or the phone number itself in e164 format (e.g: +199955500123)."
type: string
type: object
multipart/form-data:
schema:
properties:
phone_number:
description: "Provide either the unique identifier of the phone number (id) or the phone number itself in e164 format (e.g: +199955500123)."
type: string
type: object
x-examples:
application/json:
phone_number: "+1999555000123"
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Main company number updated successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `400`
Target phone number can not be set as main company number.
Unable to update this number as it is used for outbound caller ID to public safety answering point.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `404`
phoneNumber does not exist, phonenumberId:{phonenumberId}.
security:
- OAuth: []
summary: Change main company number
tags:
- Phone
/phone/devices:
get:
description: |-
List all the [desk phone devices](https://support.zoom.us/hc/en-us/articles/360021119092) that are configured with Zoom Phone on an account. To view devices that have not yet been assigned to a user, set the value of the `type` query parameter as `unassigned` and to view devices that have been assigned, set the value as `assigned`.
**Scopes:** `phone:read:admin`
**Prerequisites:**
* Pro or a higher account with Zoom Phone license
* Account owner or admin permissions
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listPhoneDevices
parameters:
- description: State of the device. The value should be either `assigned` to list devices that have been assigned to user(s) or `unassigned` to list devices that have not yet been assigned to any user in the Zoom account.
in: query
name: type
required: true
schema:
enum:
- assigned
- unassigned
type: string
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
devices:
- assignee:
extension_number: 123
id: i242djsgrg
name: Pooja
device_type: AudioCodes405
display_name: Pooja's Phone
id: "1234324"
mac_address: 203a07240534
site:
id: sdfdgdg32
name: HQ site
status: online
next_page_token: proident in o
page_size: 80839828
total_records: qui sunt esse
schema:
properties:
devices:
items:
properties:
assignee:
properties:
extension_number:
description: Extension number of the Zoom Phone used by the user.
type: integer
id:
description: User ID of the user to whom the device has been assigned.
type: string
name:
description: Name of the user.
type: string
type: object
device_type:
description: Includes manufacturer name and the model name.
type: string
display_name:
description: Display name of the device.
type: string
id:
description: Device ID - Unique Identifier of the Device.
type: string
mac_address:
description: MAC address or serial number of the device.
type: string
site:
properties:
id:
description: The [site](https://support.zoom.us/hc/en-us/articles/360020809672) of the phone user.
type: string
name:
description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672).
type: string
type: object
status:
description: Status of the device. The value is either `online` or `offline`.
enum:
- online
- offline
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned with a single API call.
type: integer
total_records:
description: The total number of records found for the query across all pages.
type: string
type: object
application/xml:
schema:
properties:
devices:
items:
properties:
assignee:
properties:
extension_number:
description: Extension number of the Zoom Phone used by the user.
type: integer
id:
description: User ID of the user to whom the device has been assigned.
type: string
name:
description: Name of the user.
type: string
type: object
device_type:
description: Includes manufacturer name and the model name.
type: string
display_name:
description: Display name of the device.
type: string
id:
description: Device ID - Unique Identifier of the Device.
type: string
mac_address:
description: MAC address or serial number of the device.
type: string
site:
properties:
id:
description: The [site](https://support.zoom.us/hc/en-us/articles/360020809672) of the phone user.
type: string
name:
description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672).
type: string
type: object
status:
description: Status of the device. The value is either `online` or `offline`.
enum:
- online
- offline
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned with a single API call.
type: integer
total_records:
description: The total number of records found for the query across all pages.
type: string
type: object
description: |-
**HTTP Status Code:** `200`
Devices listed successfully.
security:
- OAuth: []
summary: List devices
tags:
- Phone Devices
post:
description: |-
By default, all Zoom Phone users can make and receive calls using the Zoom desktop and mobile applications. Additionally, if a desk phone is required, use this API to [add a desk phone and assign it](https://support.zoom.us/hc/en-us/articles/360021119092#h_5ca07504-68a8-4c3d-ad0e-c1d3594436da) to a user.
**Prerequisites:**
* Pro or a higher account with Zoom Phone license
* Account owner or admin permissions
* [Supported device](https://support.zoom.us/hc/en-us/articles/360001299063-Zoom-Voice-Supported-Devices)
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: addPhoneDevice
requestBody:
content:
application/json:
schema:
properties:
assigned_to:
description: User ID or email address of the user to whom this device is to be assigned. The User ID and the email of the user can be retrieved using the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
type: string
display_name:
description: Display name of the desk phone.
maxLength: 255
type: string
mac_address:
description: |-
The MAC address of the desk phone.
Note: If you're using a wireless phone, enter the wired MAC address, not the wireless MAC address.
pattern: ^([0-9A-Fa-f]{2}[:-]?){5}([0-9A-Fa-f]{2})$
type: string
model:
description: Model name of the device.
maxLength: 50
type: string
type:
description: Manufacturer (brand) name of the device.
maxLength: 50
type: string
required:
- mac_address
- display_name
type: object
multipart/form-data:
schema:
properties:
assigned_to:
description: User ID or email address of the user to whom this device is to be assigned. The User ID and the email of the user can be retrieved using the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
type: string
display_name:
description: Display name of the desk phone.
maxLength: 255
type: string
mac_address:
description: |-
The MAC address of the desk phone.
Note: If you're using a wireless phone, enter the wired MAC address, not the wireless MAC address.
pattern: ^([0-9A-Fa-f]{2}[:-]?){5}([0-9A-Fa-f]{2})$
type: string
model:
description: Model name of the device.
maxLength: 50
type: string
type:
description: Manufacturer (brand) name of the device.
maxLength: 50
type: string
required:
- mac_address
- display_name
type: object
x-examples:
application/json:
assigned_to: fjdsfgsd@edkfjd.fhjdf
display_name: Sita's Phone
mac_address: 64-16-7f-37-90-92
model: soundpoint335
type: Polycom
responses:
"201":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `201` **Created**
Device added successfully.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` **Validation failed.**
Phone manufacturer does not exist.
Phone model does not exist.
Phone manufacturer is not supported.
**Error Code:** `400`
The MAC Address is invalid.
The MAC Address already exists in the system.
Each user can be assigned up to three desk phones.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User not found: {userId}
security:
- OAuth: []
summary: Add a device
tags:
- Phone Devices
"/phone/devices/{deviceId}":
delete:
description: |-
Remove a [desk phone device](https://support.zoom.us/hc/en-us/articles/360021119092) from the Zoom Phone System Management.
**Prerequisites:**
* Pro or a higher account with Zoom Phone license
* Account owner or admin permissions
* Device must not have been assigned to a user.
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteADevice
parameters:
- description: Unique Identifier of the device.
in: path
name: deviceId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Device deleted successfully.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` **Vaidation Failed.**
Device does not exist in the system.
Only unassigned device can be deleted.
security:
- OAuth: []
summary: Delete a device
tags:
- Phone Devices
get:
description: |-
Get detailed information about a specific [desk phone device](https://support.zoom.us/hc/en-us/articles/360021119092).
**Prerequisites:**
* Pro or a higher account with Zoom Phone license
* Account owner or admin permissions
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: getADevice
parameters:
- description: Unique Identifier of the device.
in: path
name: deviceId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
assignee:
extension_number: 123
id: i242djsgrg
name: Pooja
device_type: Ribbon EdgeMarc302
display_name: Pooja's Phone
id: "1234324"
mac_address: 203a07240534
provision:
sip_accounts:
- authorization_id: "123123"
outbound_proxy: "123123"
password: "1123"
shared_line:
line_subscription:
display_name: Pooja
extension_number: 123123
outbound_caller_id: "+123123123"
sip_domain: 123.zoom.us
user_name: "123123"
type: manual
site:
id: "123123"
name: Main Site
status: offline
schema:
properties:
assignee:
description: User to whom the device has been assigned.
properties:
extension_number:
description: Extension number of the Zoom Phone used by the user.
type: integer
id:
description: User ID of the user to whom the device has been assigned.
type: string
name:
description: Name of the user.
type: string
type: object
device_type:
description: Includes manufacturer name and the model name.
type: string
display_name:
description: Display name of the device.
type: string
id:
description: Device ID - Unique Identifier of the Device.
type: string
mac_address:
description: MAC address or serial number of the device.
type: string
provision:
description: Provisioning information of a device.
properties:
sip_accounts:
description: "SIP Account details registered during the device provisioning process. This object will only be returned if manual provisioning was used for the device. "
items:
properties:
authorization_id:
description: Authorization ID of the SIP account provided in the provisioning process.
type: string
outbound_proxy:
description: Outbound proxy provided in the provisioning process.
type: string
password:
description: "Password entered during the provisioning process. "
type: string
shared_line:
description: Return additional provisioning information with generic device SIP credentials.
properties:
alias:
description: Alias.
type: string
line_subscription:
description: Line subscription.
properties:
display_name:
description: Display name.
type: string
extension_number:
description: Extension number.
type: integer
phone_number:
description: Phone number.
type: string
type: object
outbound_caller_id:
description: Outbound caller ID.
type: string
type: object
sip_domain:
description: "SIP Domain provided in the provisioning process. \
\ "
type: string
user_name:
description: User name of the SIP account provided in the provisioning process.
type: string
type: object
type: array
type:
description: |+
[Provisioning type](https://support.zoom.us/hc/en-us/articles/360033223411). The value can be one of the following:
* `ztp` : Zero touch provisioning.
* `assisted`: Assisted provisioning.
* `manual`: Manual provisioning.
enum:
- assisted
- ztp
- manual
type: string
url:
description: Provisioning URL. This field will only be returned for devices that were provisioned via `assisted` provisioning type.
type: string
type: object
site:
properties:
id:
description: The [site](https://support.zoom.us/hc/en-us/articles/360020809672) of the phone user.
type: string
name:
description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672).
type: string
type: object
status:
description: Status of the device. The value is either `online` or `offline`.
enum:
- online
- offline
type: string
type: object
application/xml:
schema:
properties:
assignee:
description: User to whom the device has been assigned.
properties:
extension_number:
description: Extension number of the Zoom Phone used by the user.
type: integer
id:
description: User ID of the user to whom the device has been assigned.
type: string
name:
description: Name of the user.
type: string
type: object
device_type:
description: Includes manufacturer name and the model name.
type: string
display_name:
description: Display name of the device.
type: string
id:
description: Device ID - Unique Identifier of the Device.
type: string
mac_address:
description: MAC address or serial number of the device.
type: string
provision:
description: Provisioning information of a device.
properties:
sip_accounts:
description: "SIP Account details registered during the device provisioning process. This object will only be returned if manual provisioning was used for the device. "
items:
properties:
authorization_id:
description: Authorization ID of the SIP account provided in the provisioning process.
type: string
outbound_proxy:
description: Outbound proxy provided in the provisioning process.
type: string
password:
description: "Password entered during the provisioning process. "
type: string
shared_line:
description: Return additional provisioning information with generic device SIP credentials.
properties:
alias:
description: Alias.
type: string
line_subscription:
description: Line subscription.
properties:
display_name:
description: Display name.
type: string
extension_number:
description: Extension number.
type: integer
phone_number:
description: Phone number.
type: string
type: object
outbound_caller_id:
description: Outbound caller ID.
type: string
type: object
sip_domain:
description: "SIP Domain provided in the provisioning process. \
\ "
type: string
user_name:
description: User name of the SIP account provided in the provisioning process.
type: string
type: object
type: array
type:
description: |+
[Provisioning type](https://support.zoom.us/hc/en-us/articles/360033223411). The value can be one of the following:
* `ztp` : Zero touch provisioning.
* `assisted`: Assisted provisioning.
* `manual`: Manual provisioning.
enum:
- assisted
- ztp
- manual
type: string
url:
description: Provisioning URL. This field will only be returned for devices that were provisioned via `assisted` provisioning type.
type: string
type: object
site:
properties:
id:
description: The [site](https://support.zoom.us/hc/en-us/articles/360020809672) of the phone user.
type: string
name:
description: Name of the [site](https://support.zoom.us/hc/en-us/articles/360020809672).
type: string
type: object
status:
description: Status of the device. The value is either `online` or `offline`.
enum:
- online
- offline
type: string
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Device information retrieved successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `400`
Device does not exist in the system.
security:
- OAuth: []
summary: Get device details
tags:
- Phone Devices
parameters:
- in: path
name: deviceId
required: true
schema:
type: string
patch:
description: |-
Update information of a [desk phone device](https://support.zoom.us/hc/en-us/articles/360021119092).
**Prerequisites:**
* Pro or a higher account with Zoom Phone license
* Account owner or admin permissions
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: updateADevice
parameters:
- description: Unique Identifier of the Device.
in: path
name: deviceId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
assigned_to:
description: User ID or email address of the user to whom this device is to be assigned. The User ID and the email of the user can be retrieved using the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
type: string
display_name:
description: Display name of the desk phone.
maxLength: 255
type: string
mac_address:
description: |-
The MAC address of the desk phone.
Note: If you're using a wireless phone, enter the wired MAC address, not the wireless MAC address.
pattern: ^([0-9A-Fa-f]{2}[:-]?){5}([0-9A-Fa-f]{2})$
type: string
type: object
multipart/form-data:
schema:
properties:
assigned_to:
description: User ID or email address of the user to whom this device is to be assigned. The User ID and the email of the user can be retrieved using the [List Users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
type: string
display_name:
description: Display name of the desk phone.
maxLength: 255
type: string
mac_address:
description: |-
The MAC address of the desk phone.
Note: If you're using a wireless phone, enter the wired MAC address, not the wireless MAC address.
pattern: ^([0-9A-Fa-f]{2}[:-]?){5}([0-9A-Fa-f]{2})$
type: string
type: object
x-examples:
application/json:
assigned_to: adkjfgj211
display_name: "anim "
mac_address: E6-12F6-eA6cB3
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Device updated successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Validation failed. Device does not exist in the system.
Invalid userId.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User not found: {userId}
The user extension does not exist, extensionId: {extensionId}.
"429":
description: |-
**HTTP Status Code:** `429` **Too Many Requests**
**Error Code:** `429`
Each user can be assigned up to three desk phones.
security:
- OAuth: []
summary: Update a device
tags:
- Phone Devices
/phone/metrics/call_logs:
get:
description: |-
Call logs provide a record of all incoming and outgoing calls over Zoom Phone in an account.
Use this API to list monthly call logs metrics. You can use query parameters to filter the response by date, site and MOS(Mean Opinion Score) of the call.
**Prerequisites:**
* Business, or Education account
* Zoom Phone license
**Scopes:** `phone:read:admin`, `phone:write:admin`
**Rate Limit Label:** `Heavy`
operationId: listCallLogsMetrics
parameters:
- description: Start date for the report in `yyyy-mm-dd` format. Specify a 30 day range using the `from` and `to` parameters as the response provides a maximum of a month worth of data per API request.
in: query
name: from
schema:
type: string
- description: End date for the report in `yyyy-mm-dd` format.
in: query
name: to
schema:
type: string
- description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites). Use this query parameter if you have enabled multiple sites and would like to filter the response of this API call by call logs of a specific phone site.
in: query
name: site_id
schema:
type: string
- description: |+
Filter call logs by voice quality. Zoom uses MOS of 3.5 as a general baseline to categorize calls by call quality. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
The value of this field can be one of the following:
* `good`: Retrieve call logs of the call(s) with good quality of voice.
* `bad`: Retrieve call logs of the call(s) with good quality of voice.
* `all`: Retrieve all call logs without filtering by voice quality.
in: query
name: quality_type
schema:
type: string
- description: The number of records returned within a single call.
in: query
name: page_size
schema:
default: 30
maximum: 100
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
call_logs:
- call_id: "600097"
callee:
codec: opus
device_type: Windows_Client 5.2.42619.0804
extension_number: "1003"
headset: Logitech USB Headset H340
isp: other
microphone: Logitech USB Headset H340
phone_number: "+1200009995"
site_id: 8f71O86ghjIFAdQ
caller:
codec: opus
device_type: Windows_Client 5.2.42619.0804
extension_number: "1021"
headset: Logitech USB Headset H340
isp: other
microphone: Logitech USB Headset H340
phone_number: "+100006180"
site_id: 8f71O6rWT8KFUGQmJIFAdQ
date_time: 2020-09-11T05:38:53Z
direction: internal
duration: 75
mos: "1.0"
- call_id: "687000062"
callee:
codec: opus
device_type: Windows_Client 5.2.42619.0804
extension_number: "1003"
headset: Logitech USB Headset H340
isp: other
microphone: Logitech USB Headset H340
phone_number: "+120123435"
site_id: 8f87cgmJIFAdQ
caller:
codec: opus
device_type: Windows_Client 5.2.42619.0804
extension_number: "1021"
headset: Logitech USB Headset H340
isp: other
microphone: Logitech USB Headset H340
phone_number: "+100003330"
site_id: 8f9586mJIFAdQ
date_time: 2020-09-11T05:35:41Z
direction: internal
duration: 71
mos: "1.0"
- call_id: "68798685701826"
callee:
extension_number: "10006"
site_id: DS8YB6B6TYSN8BKo0P-5ug
caller:
codec: opus
device_type: Windows_Client 5.2.42619.0804
extension_number: "1021"
headset: Logitech USB Headset H340
isp: other
microphone: Logitech USB Headset H340
phone_number: "+12099990"
site_id: 8f71O6rWT8KFUGQmJIFAdQ
date_time: 2020-09-11T05:30:49Z
direction: internal
duration: 67
mos: "1.0"
from: 2020-03-11
next_page_token: Dhgnfxcnxzerz
page_size: 10
to: 2020-09-11
total_records: 3
schema:
properties:
call_logs:
description: Call logs.
items:
properties:
call_id:
description: Unique identifier of the phone call.
type: string
callee:
description: Callee object contains information of the calee.
properties:
codec:
description: Audio codec.
type: string
device_type:
description: Device type.
type: string
extension_number:
description: Full extension number of the callee.
type: string
headset:
description: Headset used for the call by the callee.
type: string
isp:
description: ISP.
type: string
microphone:
description: Microphone used for the call by the callee.
type: string
phone_number:
description: Phone number of the callee in E164 format.
type: string
site_id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
type: string
type: object
caller:
description: Caller object contains information of the caller.
properties:
codec:
description: Audio codec.
type: string
device_type:
description: Device type.
type: string
extension_number:
description: Full extension number of the caller.
type: string
headset:
description: Headset used for the call by the caller.
type: string
isp:
description: ISP.
type: string
microphone:
description: Microphone used for the call by the caller.
type: string
phone_number:
description: Phone number of the caller in E164 format.
type: string
site_id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
type: string
type: object
date_time:
description: Date and time at which the call started.
type: string
direction:
description: Direction of the call. The value of this field can be either `internal` or `outbound`.
type: string
duration:
description: Duration of the call in seconds.
type: integer
mos:
description: Zoom uses Mean Opinion Score (MOS) as the main measurement to report on voice quality. MOS measures voice quality on a scale of 1 to 5. A score of 1 indicates unacceptable voice quality for all users. A score of 5 is the best voice quality.
type: string
type: object
type: array
from:
description: Start date for the report in `yyyy-mm-dd` format.
type: string
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single call.
type: integer
to:
description: End date for the report in `yyyy-mm-dd` format.
type: string
total_records:
description: The total number of records available across all pages.
type: integer
type: object
application/xml:
schema:
properties:
call_logs:
description: Call logs.
items:
properties:
call_id:
description: Unique identifier of the phone call.
type: string
callee:
description: Callee object contains information of the calee.
properties:
codec:
description: Audio codec.
type: string
device_type:
description: Device type.
type: string
extension_number:
description: Full extension number of the callee.
type: string
headset:
description: Headset used for the call by the callee.
type: string
isp:
description: ISP.
type: string
microphone:
description: Microphone used for the call by the callee.
type: string
phone_number:
description: Phone number of the callee in E164 format.
type: string
site_id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
type: string
type: object
caller:
description: Caller object contains information of the caller.
properties:
codec:
description: Audio codec.
type: string
device_type:
description: Device type.
type: string
extension_number:
description: Full extension number of the caller.
type: string
headset:
description: Headset used for the call by the caller.
type: string
isp:
description: ISP.
type: string
microphone:
description: Microphone used for the call by the caller.
type: string
phone_number:
description: Phone number of the caller in E164 format.
type: string
site_id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
type: string
type: object
date_time:
description: Date and time at which the call started.
type: string
direction:
description: Direction of the call. The value of this field can be either `internal` or `outbound`.
type: string
duration:
description: Duration of the call in seconds.
type: integer
mos:
description: Zoom uses Mean Opinion Score (MOS) as the main measurement to report on voice quality. MOS measures voice quality on a scale of 1 to 5. A score of 1 indicates unacceptable voice quality for all users. A score of 5 is the best voice quality.
type: string
type: object
type: array
from:
description: Start date for the report in `yyyy-mm-dd` format.
type: string
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single call.
type: integer
to:
description: End date for the report in `yyyy-mm-dd` format.
type: string
total_records:
description: The total number of records available across all pages.
type: integer
type: object
description: ""
summary: List call logs
tags:
- Dashboards
"/phone/metrics/call_logs/{callId}/qos":
get:
description: |-
Get call quality of service(QoS) data for a call made or received by a Zoom phone user in the account.
**Prerequisites:**
* Business, or Education account
* Zoom Phone license
**Scopes:** `phone:read:admin`, `phone:write:admin`
**Rate Limit Label:** `Light`
operationId: getCallQoS
parameters:
- description: Unique identifier of the call.
in: path
name: callId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
call_id: "6738888828"
callee_qos:
receiving:
- date_time: 2019-09-05T02:22:35Z
qos:
avg_loss: 1.8%
bitrate: 26.25kbps
jitter: 1.0ms
max_loss: ""
mos: "3.9"
network_delay: "248"
- date_time: 2019-09-05T02:23:40Z
qos:
avg_loss: 1.1%
bitrate: 26.14kbps
jitter: 1.0ms
max_loss: ""
mos: "3.9"
network_delay: "252"
- date_time: 2019-09-05T02:24:40Z
qos:
avg_loss: 1.3%
bitrate: 26.66kbps
jitter: 1.0ms
max_loss: ""
mos: "3.9"
network_delay: "248"
sending:
- date_time: 2019-09-05T02:22:33Z
qos:
avg_loss: 0.03%
bitrate: 18.23kbps
jitter: 0ms
max_loss: 0.55%
mos: "4.5"
network_delay: "0"
- date_time: 2019-09-05T02:23:34Z
qos:
avg_loss: 0%
bitrate: 18.28kbps
jitter: 2.52ms
max_loss: 0%
mos: "4.5"
network_delay: "0"
- date_time: 2019-09-05T02:24:34Z
qos:
avg_loss: 0%
bitrate: 19.16kbps
jitter: 0.48ms
max_loss: 0%
mos: "4.5"
network_delay: "0"
caller_qos:
receiving:
- date_time: 2019-09-05T02:22:35Z
qos:
avg_loss: 1.8%
bitrate: 26.25kbps
jitter: 1.0ms
max_loss: ""
mos: "3.9"
network_delay: "248"
- date_time: 2019-09-05T02:23:40Z
qos:
avg_loss: 1.1%
bitrate: 26.14kbps
jitter: 1.0ms
max_loss: ""
mos: "3.9"
network_delay: "252"
- date_time: 2019-09-05T02:24:40Z
qos:
avg_loss: 1.3%
bitrate: 26.66kbps
jitter: 1.0ms
max_loss: ""
mos: "3.9"
network_delay: "248"
sending:
- date_time: 2019-09-05T02:22:27Z
qos:
avg_loss: 0.03%
bitrate: 28.4kbps
jitter: 0ms
max_loss: 0.4%
mos: "4.0"
network_delay: "252"
- date_time: 2019-09-05T02:23:27Z
qos:
avg_loss: 0.03%
bitrate: 27.15kbps
jitter: 0ms
max_loss: 0.4%
mos: "4.0"
network_delay: "251"
- date_time: 2019-09-05T02:24:27Z
qos:
avg_loss: 0%
bitrate: 37.25kbps
jitter: 0.55ms
max_loss: 0%
mos: "4.0"
network_delay: "249"
schema:
properties:
call_id:
description: Unique identifier of the phone call.
type: string
callee_qos:
properties:
receiving:
description: QoS received by the callee.
items:
properties:
date_time:
description: Date and time at which the QoS was received.
format: date-time
type: string
qos:
properties:
avg_loss:
description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
type: string
bitrate:
description: The number of bits per second in kbps that can be transmitted along a digital network.
type: string
jitter:
description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
type: string
max_loss:
description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
type: string
mos:
description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
type: string
network_delay:
description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
type: string
type: object
type: object
type: array
sending:
description: QoS sent by the callee.
items:
properties:
date_time:
description: Date and time at which the QoS was delivered.
format: date-time
type: string
qos:
properties:
avg_loss:
description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
type: string
bitrate:
description: The number of bits per second expressed in kbps that can be transmitted along a digital network.
type: string
jitter:
description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
type: string
max_loss:
description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
type: string
mos:
description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
type: string
network_delay:
description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
type: string
type: object
type: object
type: array
type: object
caller_qos:
description: Quality of Service object that represents the call quality data of the caller.
properties:
receiving:
description: QoS received by the caller.
items:
properties:
date_time:
description: Date and time at which the QoS was received.
format: date-time
type: string
qos:
properties:
avg_loss:
description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
type: string
bitrate:
description: The number of bits per second in kbps that can be transmitted along a digital network.
type: string
jitter:
description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
type: string
max_loss:
description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
type: string
mos:
description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
type: string
network_delay:
description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
type: string
type: object
type: object
type: array
sending:
description: QoS sent by the caller.
items:
properties:
date_time:
description: Date and time at which the QoS was delivered.
format: date-time
type: string
qos:
properties:
avg_loss:
description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
type: string
bitrate:
description: The number of bits per second in kbps that can be transmitted along a digital network.
type: string
jitter:
description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
type: string
max_loss:
description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
type: string
mos:
description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
type: string
network_delay:
description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
type: string
type: object
type: object
type: array
type: object
type: object
application/xml:
schema:
properties:
call_id:
description: Unique identifier of the phone call.
type: string
callee_qos:
properties:
receiving:
description: QoS received by the callee.
items:
properties:
date_time:
description: Date and time at which the QoS was received.
format: date-time
type: string
qos:
properties:
avg_loss:
description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
type: string
bitrate:
description: The number of bits per second in kbps that can be transmitted along a digital network.
type: string
jitter:
description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
type: string
max_loss:
description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
type: string
mos:
description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
type: string
network_delay:
description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
type: string
type: object
type: object
type: array
sending:
description: QoS sent by the callee.
items:
properties:
date_time:
description: Date and time at which the QoS was delivered.
format: date-time
type: string
qos:
properties:
avg_loss:
description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
type: string
bitrate:
description: The number of bits per second expressed in kbps that can be transmitted along a digital network.
type: string
jitter:
description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
type: string
max_loss:
description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
type: string
mos:
description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
type: string
network_delay:
description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
type: string
type: object
type: object
type: array
type: object
caller_qos:
description: Quality of Service object that represents the call quality data of the caller.
properties:
receiving:
description: QoS received by the caller.
items:
properties:
date_time:
description: Date and time at which the QoS was received.
format: date-time
type: string
qos:
properties:
avg_loss:
description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
type: string
bitrate:
description: The number of bits per second in kbps that can be transmitted along a digital network.
type: string
jitter:
description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
type: string
max_loss:
description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
type: string
mos:
description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
type: string
network_delay:
description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
type: string
type: object
type: object
type: array
sending:
description: QoS sent by the caller.
items:
properties:
date_time:
description: Date and time at which the QoS was delivered.
format: date-time
type: string
qos:
properties:
avg_loss:
description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
type: string
bitrate:
description: The number of bits per second in kbps that can be transmitted along a digital network.
type: string
jitter:
description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
type: string
max_loss:
description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
type: string
mos:
description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
type: string
network_delay:
description: The amount of time(in milliseconds) it takes for a VoIP packet to travel from one point to another.
type: string
type: object
type: object
type: array
type: object
type: object
description: ""
summary: Get call QoS
tags:
- Dashboards
parameters:
- in: path
name: callId
required: true
schema:
type: string
"/phone/metrics/call_logs/{call_id}":
get:
description: |
Call logs provide a record of all incoming and outgoing calls over Zoom Phone in an account.
Use this API to list call log details of a specific call.
**Prerequisites:**
* Business, or Education account
* Zoom Phone license
**Scopes:** `phone:read:admin`, `phone:write:admin`
**Rate Limit Label:** `Light`
operationId: getCallLogMetricsDetails
parameters:
- description: Unique identifier of the phone call. The value of this field can be retrieved from [List Call Logs]() API.
in: path
name: call_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
call_id: "687100000600397"
callee:
codec: opus
device_type: Windows_Client 5.2.42619.0804
display_name: Shrijana
extension_number: "1003"
extension_type: user
headset: Logitech USB Headset H340
id: DnE46573vvzjgojw
isp: other
microphone: Logitech USB Headset H340
phone_number: "+12066753735"
route:
- display_name: asfdfsdg3_214
extension_number: "10006"
extension_type: callQueue
id: 8M756763533A
site_id: 8f71O66543IFAdQ
caller:
codec: opus
device_type: Windows_Client 5.2.42619.0804
display_name: Abcde
extension_number: "1021"
extension_type: user
headset: Logitech USB Headset H340
id: Y40bbbbgGh0V1Ul_Q
isp: other
microphone: Logitech USB Headset H340
phone_number: "+120997086780"
site_id: 8f71986768JIFAdQ
date_time: 2020-09-11T05:38:53Z
direction: internal
duration: 75
mos: "1.0"
schema:
properties:
call_id:
description: Unique identifier of the phone call.
type: string
callee:
description: Callee object contains information of the calee.
properties:
codec:
description: Audio codec.
type: string
device_type:
description: Device type.
type: string
extension_number:
description: Full extension number of the callee.
type: string
headset:
description: Headset used for the call by the callee.
type: string
isp:
description: ISP.
type: string
microphone:
description: Microphone used for the call by the callee.
type: string
phone_number:
description: Phone number of the callee in E164 format.
type: string
site_id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
type: string
type: object
caller:
description: Caller object contains information of the caller.
properties:
codec:
description: Audio codec.
type: string
device_type:
description: Device type.
type: string
extension_number:
description: Full extension number of the caller.
type: string
headset:
description: Headset used for the call by the caller.
type: string
isp:
description: ISP.
type: string
microphone:
description: Microphone used for the call by the caller.
type: string
phone_number:
description: Phone number of the caller in E164 format.
type: string
site_id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
type: string
type: object
date_time:
description: Date and time at which the call started.
type: string
direction:
description: Direction of the call. The value of this field can be either `internal` or `outbound`.
type: string
duration:
description: Duration of the call in seconds.
type: integer
mos:
description: Zoom uses Mean Opinion Score (MOS) as the main measurement to report on voice quality. MOS measures voice quality on a scale of 1 to 5. A score of 1 indicates unacceptable voice quality for all users. A score of 5 is the best voice quality.
type: string
type: object
application/xml:
schema:
properties:
call_id:
description: Unique identifier of the phone call.
type: string
callee:
description: Callee object contains information of the calee.
properties:
codec:
description: Audio codec.
type: string
device_type:
description: Device type.
type: string
extension_number:
description: Full extension number of the callee.
type: string
headset:
description: Headset used for the call by the callee.
type: string
isp:
description: ISP.
type: string
microphone:
description: Microphone used for the call by the callee.
type: string
phone_number:
description: Phone number of the callee in E164 format.
type: string
site_id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
type: string
type: object
caller:
description: Caller object contains information of the caller.
properties:
codec:
description: Audio codec.
type: string
device_type:
description: Device type.
type: string
extension_number:
description: Full extension number of the caller.
type: string
headset:
description: Headset used for the call by the caller.
type: string
isp:
description: ISP.
type: string
microphone:
description: Microphone used for the call by the caller.
type: string
phone_number:
description: Phone number of the caller in E164 format.
type: string
site_id:
description: Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
type: string
type: object
date_time:
description: Date and time at which the call started.
type: string
direction:
description: Direction of the call. The value of this field can be either `internal` or `outbound`.
type: string
duration:
description: Duration of the call in seconds.
type: integer
mos:
description: Zoom uses Mean Opinion Score (MOS) as the main measurement to report on voice quality. MOS measures voice quality on a scale of 1 to 5. A score of 1 indicates unacceptable voice quality for all users. A score of 5 is the best voice quality.
type: string
type: object
description: ""
summary: Get call details from call log
tags:
- Dashboards
parameters:
- in: path
name: call_id
required: true
schema:
type: string
/phone/numbers:
get:
description: |-
A Zoom account owner or admin can purchase phone numbers and assign them to Zoom phone users. Use this API to list all Zoom Phone numbers in a Zoom account. You can filter the response based on your needs by using query parameters.
**Prerequisites:**
* Pro or higher plan with Zoom phone license
**Scope:** `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listAccountPhoneNumbers
parameters:
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: |-
Query response by number assignment. The value can be one of the following:
`assigned`: The number has been assigned to either a user, a call queue, an auto-receptionist or a common area phone in an account. `unassigned`: The number is not assigned to anyone.
`all`: Include both assigned and unassigned numbers in the response.
`byoc`: Include Bring Your Own Carrier (BYOC) numbers only in the response.
in: query
name: type
schema:
enum:
- assigned
- unassigned
- all
type: string
- description: |-
The type of assignee to whom the number is assigned. The value can be one of the following:
`user` `callQueue` `autoReceptionist`
`commonAreaPhone`
in: query
name: extension_type
schema:
enum:
- user
- callQueue
- autoReceptionist
- commonAreaPhone
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 100
type: integer
- description: The type of phone number. The value can be either `toll` or `tollfree`.
in: query
name: number_type
schema:
enum:
- toll
- tollfree
type: string
- description: Include or exclude pending numbers in the response. The value can be either `true` or `false`.
in: query
name: pending_numbers
schema:
type: boolean
- description: Unique identifier of the site. Use this query parameter if you have enabled multiple sites and would like to filter the response of this API call by a specific phone site. See [Managing multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) or [Adding a site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites#h_05c88e35-1593-491f-b1a8-b7139a75dc15) for details.
in: query
name: site_id
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: ""
page_size: 30
phone_numbers:
- assignee:
extension_number: 12
id: cgfdgfghghim
name: Peter Jenner
type: user
capability:
- incoming
- outgoing
display_name: abc
id: execvbfgbgr
location: Milpitas,California,United States
number: "0000111100"
number_type: tollfree
site:
id: sdfsdfgrg
name: SF office
source: internal
status: pending
- assignee:
extension_number: 1
id: dfgdfghdfhgh
name: Receptionist
type: autoReceptionist
id: fdgfdgfdh
location: San Jose,California,United States
number: "111111111"
number_type: toll
site:
id: jhdfsdghfdg
name: San Jose office
source: external
status: available
total_records: 2
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.)
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
phone_numbers:
items:
properties:
assignee:
properties:
extension_number:
description: Extension number of the Phone.
type: integer
id:
description: Unique Identifier of the user to whom the number has been assigned.
type: string
name:
description: Name of the user to whom the number has been assigned.
type: string
type:
description: |-
Indicates who the phone number belongs to.
`user`: Number has been assigned to an existing phone user allowing them to receive calls through their extension number or direct phone number. `callQueue`: Phone number has been assigned to a [call queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues). `commonAreaPhone`: Phone number has been assigned to a [ provisioned common area desk phone](https://support.zoom.us/hc/en-us/articles/360021119092-Provisioning-Phones-and-Devices).
`autoReceptionist`: Phone number has been assigned to an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Integrated-Voice-Response-IVR-).
enum:
- user
- callQueue
- autoReceptionist
- commonAreaPhone
type: string
type: object
capability:
description: The capability for the phone number, whether it can take incoming calls, make outgoing calls, or both. Values include `incoming`, `outgoing`, or both of these values.
items:
type: string
type: array
carrier:
description: Displayed when the `type` request parameter is `byoc`.
properties:
code:
description: The carrier code.
type: string
name:
description: Name of the carrier to which the phone number is assigned.
type: string
type: object
display_name:
description: The display name for the phone number.
type: string
id:
description: Unique Identifier of the Phone Number.
type: string
location:
description: Location (city, state and country) where the Phone number is assigned.
type: string
number:
description: Phone number in E164 format.
type: string
number_type:
description: |-
The type of number. Values can be one of the following:
`toll`, `tollfree`
enum:
- toll
- tollfree
type: string
sip_group:
description: Displayed when the `type` request parameter is `byoc`.
properties:
id:
description: The ID of the SIP group. See the **Creating SIP groups** section in [Creating a shared directory of external contacts](https://support.zoom.us/hc/en-us/articles/360037050092-Creating-a-shared-directory-of-external-contacts) for details.
type: string
name:
description: Name of the SIP group for which the phone number is assigned.
type: string
type: object
site:
properties:
id:
description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
type: string
name:
description: Name of the site where the phone number is assigned.
type: string
type: object
source:
description: Source of phone number.
enum:
- internal
- external
type: string
status:
description: Status of the number.
enum:
- pending
- available
type: string
type: object
type: array
total_records:
description: The total number of records returned.
type: integer
type: object
application/xml:
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.)
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
phone_numbers:
items:
properties:
assignee:
properties:
extension_number:
description: Extension number of the Phone.
type: integer
id:
description: Unique Identifier of the user to whom the number has been assigned.
type: string
name:
description: Name of the user to whom the number has been assigned.
type: string
type:
description: |-
Indicates who the phone number belongs to.
`user`: Number has been assigned to an existing phone user allowing them to receive calls through their extension number or direct phone number. `callQueue`: Phone number has been assigned to a [call queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues). `commonAreaPhone`: Phone number has been assigned to a [ provisioned common area desk phone](https://support.zoom.us/hc/en-us/articles/360021119092-Provisioning-Phones-and-Devices).
`autoReceptionist`: Phone number has been assigned to an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Integrated-Voice-Response-IVR-).
enum:
- user
- callQueue
- autoReceptionist
- commonAreaPhone
type: string
type: object
capability:
description: The capability for the phone number, whether it can take incoming calls, make outgoing calls, or both. Values include `incoming`, `outgoing`, or both of these values.
items:
type: string
type: array
carrier:
description: Displayed when the `type` request parameter is `byoc`.
properties:
code:
description: The carrier code.
type: string
name:
description: Name of the carrier to which the phone number is assigned.
type: string
type: object
display_name:
description: The display name for the phone number.
type: string
id:
description: Unique Identifier of the Phone Number.
type: string
location:
description: Location (city, state and country) where the Phone number is assigned.
type: string
number:
description: Phone number in E164 format.
type: string
number_type:
description: |-
The type of number. Values can be one of the following:
`toll`, `tollfree`
enum:
- toll
- tollfree
type: string
sip_group:
description: Displayed when the `type` request parameter is `byoc`.
properties:
id:
description: The ID of the SIP group. See the **Creating SIP groups** section in [Creating a shared directory of external contacts](https://support.zoom.us/hc/en-us/articles/360037050092-Creating-a-shared-directory-of-external-contacts) for details.
type: string
name:
description: Name of the SIP group for which the phone number is assigned.
type: string
type: object
site:
properties:
id:
description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
type: string
name:
description: Name of the site where the phone number is assigned.
type: string
type: object
source:
description: Source of phone number.
enum:
- internal
- external
type: string
status:
description: Status of the number.
enum:
- pending
- available
type: string
type: object
type: array
total_records:
description: The total number of records returned.
type: integer
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Phone numbers listed successfully.
security:
- OAuth: []
summary: List phone numbers
tags:
- Phone
"/phone/numbers/{numberId}":
get:
description: |-
A Zoom account owner or admin can purchase phone numbers and assign them to Zoom phone users. Use this API to get details on a specific Phone number in a Zoom account.
**Prerequisites:**
* Pro or higher plan with Zoom phone license
**Scope:** `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: getPhoneNumberDetails
parameters:
- description: Unique Identifier of the Phone Number. This can be retrieved from the List Phone Numbers API.
in: path
name: numberId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
assignee:
extension_number: 10000
name: Main Auto Receptionist
type: autoReceptionist
capability:
- incoming
- outgoing
display_name: abc
id: Hfdgdfgdfg1ew
location: Milpitas,California,United States
number: "+140000007"
number_type: toll
site:
id: CEfdfdfgA
name: Main Site
source: internal
status: available
schema:
properties:
assignee:
properties:
extension_number:
description: Extension number of the Phone.
type: integer
id:
description: Unique Identifier of the user to whom the number has been assigned.
type: string
name:
description: Name of the user to whom the number has been assigned.
type: string
type:
description: |-
Indicates who the phone number belongs to.
`user`: Number has been assigned to an existing phone user allowing them to receive calls through their extension number or direct phone number. `callQueue`: Phone number has been assigned to a [call queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues). `commonAreaPhone`: Phone number has been assigned to a [ provisioned common area desk phone](https://support.zoom.us/hc/en-us/articles/360021119092-Provisioning-Phones-and-Devices).
`autoReceptionist`: Phone number has been assigned to an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Integrated-Voice-Response-IVR-).
enum:
- user
- callQueue
- autoReceptionist
- commonAreaPhone
type: string
type: object
capability:
description: The capability for the phone number, whether it can take incoming calls, make outgoing calls, or both. Values include `incoming`, `outgoing`, or both of these values.
items:
type: string
type: array
display_name:
description: The display name for the phone number.
type: string
id:
description: Unique Identifier of the Phone Number.
type: string
location:
description: Location (city, state and country) where the Phone number is assigned.
type: string
number:
description: Phone number in E164 format.
type: string
number_type:
description: |-
The type of number. Values can be one of the following:
`toll`, `tollfree`
enum:
- toll
- tollfree
type: string
site:
properties:
id:
description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
type: string
name:
description: Name of the site where the phone number is assigned.
type: string
type: object
source:
description: Source of phone number.
enum:
- internal
- external
type: string
status:
description: Status of the number.
enum:
- pending
- available
type: string
type: object
application/xml:
schema:
properties:
assignee:
properties:
extension_number:
description: Extension number of the Phone.
type: integer
id:
description: Unique Identifier of the user to whom the number has been assigned.
type: string
name:
description: Name of the user to whom the number has been assigned.
type: string
type:
description: |-
Indicates who the phone number belongs to.
`user`: Number has been assigned to an existing phone user allowing them to receive calls through their extension number or direct phone number. `callQueue`: Phone number has been assigned to a [call queue](https://support.zoom.us/hc/en-us/articles/360021524831-Managing-Call-Queues). `commonAreaPhone`: Phone number has been assigned to a [ provisioned common area desk phone](https://support.zoom.us/hc/en-us/articles/360021119092-Provisioning-Phones-and-Devices).
`autoReceptionist`: Phone number has been assigned to an [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Integrated-Voice-Response-IVR-).
enum:
- user
- callQueue
- autoReceptionist
- commonAreaPhone
type: string
type: object
capability:
description: The capability for the phone number, whether it can take incoming calls, make outgoing calls, or both. Values include `incoming`, `outgoing`, or both of these values.
items:
type: string
type: array
display_name:
description: The display name for the phone number.
type: string
id:
description: Unique Identifier of the Phone Number.
type: string
location:
description: Location (city, state and country) where the Phone number is assigned.
type: string
number:
description: Phone number in E164 format.
type: string
number_type:
description: |-
The type of number. Values can be one of the following:
`toll`, `tollfree`
enum:
- toll
- tollfree
type: string
site:
properties:
id:
description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
type: string
name:
description: Name of the site where the phone number is assigned.
type: string
type: object
source:
description: Source of phone number.
enum:
- internal
- external
type: string
status:
description: Status of the number.
enum:
- pending
- available
type: string
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Phone number details retrieved successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `400`
Phone number does not exist, phonenumberId:{phoneNumberId}
security:
- OAuth: []
summary: Get phone number details
tags:
- Phone
parameters:
- in: path
name: numberId
required: true
schema:
type: string
patch:
description: |-
Update phone number details.
**Scopes:**
* `phone:write` `phone:write:admin`
* `phone:master`
**Prerequisite:**
* Paid account
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: updatePhoneNumberDetails
parameters:
- description: Phone number ID.
in: path
name: numberId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
capability:
description: "Phone number capability. Values: `outgoing` or `incoming`. Add one or both."
items:
type: string
type: array
display_name:
description: Phone number display name.
type: string
type: object
multipart/form-data:
schema:
properties:
capability:
description: "Phone number capability. Values: `outgoing` or `incoming`. Add one or both."
items:
type: string
type: array
display_name:
description: Phone number display name.
type: string
type: object
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204`
No Content
"400":
description: |-
**HTTP Response Code:** `400`
**Error Code:** `300`
The value of capability is invalid. Provide a valid capability and try again.
"404":
description: |-
**HTTP Status Code:** `404`
Phone number does not exist: {numberId}.
security:
- OAuth: []
summary: Update phone number details
tags:
- Phone
/phone/recordings:
get:
description: |+
List [call recordings](https://support.zoom.us/hc/en-us/articles/360038521091-Accessing-and-sharing-call-recordings) of an account.
**Scopes:**
* `phone:read:admin` `phone:write:admin`
**Prerequisties:**
* Pro or higher account with Zoom Phone license.
* Account owner or admin privileges.
operationId: getPhoneRecordings
parameters:
- description: The number of records returned within a single API call. The default is **30**, and the maximum is **100**.
in: query
name: page_size
schema:
type: integer
- description: The current page number of returned records.
in: query
name: next_page_token
schema:
type: string
- description: |
Start date and time in **yyyy-mm-dd** format or **yyyy-MM-dd’T’HH:mm:ss’Z’** format. The date range defined by the from and to parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
schema:
type: string
- description: |+
End date and time in **yyyy-mm-dd** format or **yyyy-MM-dd’T’HH:mm:ss’Z’** format, the same formats supported by the `from` parameter.
in: query
name: to
schema:
type: string
- description: |
The owner type. The allowed values are null, `user`, or `callQueue`. The default is null. If null, returns all owner types.
in: query
name: owner_type
schema:
default: all
type: string
- description: |
The recording type. The allowed values are null, `OnDemand`, or `Automatic`. The default is null. If null, returns all recording types.
in: query
name: recording_type
schema:
type: string
- description: The site ID. The default is `All sites`.
in: query
name: site_id
schema:
default: All sites
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: "3"
page_size: "2"
recordings:
- callee_name: johndoe
callee_number: "4087778888"
callee_number_type: external
caller_name: janedoe
caller_number: "4085552222"
caller_number_type: internal
date_time: 2020-11-03T14:31:41Z
direction: inbound
download_url: https://zoom.us/v2/phone/recording/download/6FHBshghfd3t7-45476zKrw
duration: 50
id: test
owner:
extension_number: "43765674"
id: "123"
name: Tracy
type: user
recording_type: OnDemand
site:
id: dfhg35273d
name: string
total_records: "1"
schema:
properties:
next_page_token:
description: The current page number of returned records.
type: string
page_size:
description: The number of records returned within a single API call. The default is **30**, and the maximum is **100**.
type: integer
recordings:
items:
properties:
callee_name:
description: The contact name of the callee.
type: string
callee_number:
description: The phone number of the callee.
type: string
callee_number_type:
description: |-
Specifies the callee' number type.
`1` - internal
`2` - external
enum:
- 1
- 2
type: string
caller_name:
description: The contact name of the caller.
type: string
caller_number:
description: The phone number associated to the caller.
type: string
caller_number_type:
description: |-
Specifies the type of the caller number.
`1` - internal
`2` - external
enum:
- 1
- 2
type: string
date_time:
description: The date and time when the recording was received.
format: date-time
type: string
direction:
description: "The direction of the call. Values: `inbound` or `outbound`."
enum:
- inbound
- outbound
type: string
download_url:
description: The download URL for the recording.
type: string
duration:
description: The duration of the recording.
type: integer
id:
description: Unique identifier of the recording.
type: string
owner:
description: The owner of the recording.
properties:
extension_number:
description: The extension number associated to the call number.
type: string
id:
description: The owner's ID.
type: string
name:
description: Name of the owner.
type: string
type:
description: "The owner type: `user` or `call queue`."
enum:
- user
- call queue
type: string
type: object
recording_type:
description: The recording type. The allowed values are `OnDemand` or `Automatic`.
type: string
site:
properties:
id:
description: The site ID.
type: string
name:
description: The site name.
type: string
type: object
type: object
type: array
total_records:
description: Total number of records returned.
type: integer
type: object
application/xml:
schema:
properties:
next_page_token:
description: The current page number of returned records.
type: string
page_size:
description: The number of records returned within a single API call. The default is **30**, and the maximum is **100**.
type: integer
recordings:
items:
properties:
callee_name:
description: The contact name of the callee.
type: string
callee_number:
description: The phone number of the callee.
type: string
callee_number_type:
description: |-
Specifies the callee' number type.
`1` - internal
`2` - external
enum:
- 1
- 2
type: string
caller_name:
description: The contact name of the caller.
type: string
caller_number:
description: The phone number associated to the caller.
type: string
caller_number_type:
description: |-
Specifies the type of the caller number.
`1` - internal
`2` - external
enum:
- 1
- 2
type: string
date_time:
description: The date and time when the recording was received.
format: date-time
type: string
direction:
description: "The direction of the call. Values: `inbound` or `outbound`."
enum:
- inbound
- outbound
type: string
download_url:
description: The download URL for the recording.
type: string
duration:
description: The duration of the recording.
type: integer
id:
description: Unique identifier of the recording.
type: string
owner:
description: The owner of the recording.
properties:
extension_number:
description: The extension number associated to the call number.
type: string
id:
description: The owner's ID.
type: string
name:
description: Name of the owner.
type: string
type:
description: "The owner type: `user` or `call queue`."
enum:
- user
- call queue
type: string
type: object
recording_type:
description: The recording type. The allowed values are `OnDemand` or `Automatic`.
type: string
site:
properties:
id:
description: The site ID.
type: string
name:
description: The site name.
type: string
type: object
type: object
type: array
total_records:
description: Total number of records returned.
type: integer
type: object
description: |-
**HTTP Status Code** `200`
OK.
"400":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Response Code:** `400`
The template name you entered already exists. Provide a new name for the template and try again.
**Error Code:** `300`
Validation failed. You provided an incorrect value for the template type. Provide a valid value and try again.
"401":
description: |
**HTTP Status Code:** `401`
**Error Code:** `124`
Account does not exist: {accountId}.
security:
- OAuth: []
summary: Get call recordings
tags:
- Phone
/phone/reports/operationlogs:
get:
description: |+
The **Phone System operation logs report** allows account owners and admins to view monthly Zoom phone related admin operation details.
Use this API to retrieve the **Phone System Operation Logs Report**. Account owners and admins can also access this information by logging into their Zoom accounts and navigating to [Phone System Operation Logs](https://zoom.us/pbx/page/report/operations#/report/operation-logs).
**Prerequisites:**
* Account must be enrollled in Pro or a higher plan
* Account must be enrolled in a [Zoom Phone](https://zoom.us/pricing/zoom-phone) plan
operationId: getPSOperationLogs
parameters:
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report provides only one month worth of data per API request.
in: query
name: from
schema:
type: string
- description: End date in 'yyyy-mm-dd' format.
in: query
name: to
schema:
type: string
- description: Filter the response by the category of the action performed. By default, the value of this field is "all" and thus, the response will include log of all operations for the defined period.
To only include response for a specific category type, provide a value for `category_type` from this [table](http://marketplace.zoom.us/docs/phone-operation-categories ).
in: query
name: category_type
schema:
default: all
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
from: 2020-08-01
next_page_token: abcD3944YsoYPB12
operation_logs:
- action: UPDATE
category_type: Phone Number
operation_detail: Unbind Phone Number +1112222 From Not_Delete_CallQueue_Recording
operator: apbchd@mail123a.com
time: 2020-08-24T06:15:12Z
- action: DELETE
category_type: Phone Number
operation_detail: Delete Phone Number +123456 From abc.zoom.us
operator: apbchd@mail123a.com
time: 2020-08-24T06:13:30Z
- action: ADD
category_type: Device
operation_detail: Add Device testDevice
operator: apbcdef@mail123a.com
time: 2020-08-11T03:13:17Z
- action: UPDATE
category_type: Phone Number
operation_detail: Assign Phone Number +120000123 to Sam Mendes(abcdaccount@someaccount.com)
operator: apapbchd@mail123a.com
time: 2020-08-06T08:29:45Z
page_size: 15
to: 2020-08-30
total_records: 16
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
type: string
page_size:
default: 30
description: "The amount of records returns within a single API call. "
maximum: 300
type: integer
type: object
- properties:
operation_logs:
description: Array of operation log objects
items:
properties:
action:
description: Action that was performed.
type: string
category_type:
description: Category type of the operation.
type: string
operation_detail:
description: Operation detail.
type: string
operator:
description: The user who performed the operation.
type: string
time:
description: The time at which the operation was performed.
format: date-time
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
type: string
page_size:
default: 30
description: "The amount of records returns within a single API call. "
maximum: 300
type: integer
type: object
- properties:
operation_logs:
description: Array of operation log objects
items:
properties:
action:
description: Action that was performed.
type: string
category_type:
description: Category type of the operation.
type: string
operation_detail:
description: Operation detail.
type: string
operator:
description: The user who performed the operation.
type: string
time:
description: The time at which the operation was performed.
format: date-time
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Report returned.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code**: `124` Account does not exist: {accountId}.
summary: Get operation logs report
tags:
- Phone Reports
/phone/setting_templates:
get:
description: |+
This API lets you retrieve a list of all the phone template settings previously created.
**Scope**:
* `phone:read:admin` or `phone:read`
**Prerequisites**:
1. Business or enterprise Account
2. A Zoom Phone license
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: listSettingTemplates
parameters:
- description: Number of records returns within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: Unique identifier of the site. This field is required only if multiple sites have been enabled. of the site. Required only when multiple sites are enabled. See [Managing multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) for details. If this is not provided, the response lists the account level setting templates.
in: query
name: site_id
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: "3"
page_size: "30"
templates:
- description: string
id: "12345"
name: namename
type: "2"
total_records: "200"
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes
type: string
page_size:
description: The number of records returned within a single API call. The default is **30** and the maximum is **300**.
type: integer
templates:
items:
properties:
description:
description: Template description.
type: string
id:
description: Unique identifier of the template.
type: string
name:
description: Template name.
type: string
type:
description: |-
Template type.
The value of this field can be one of the following:
* `user`
* `group`
* `autReceptionist`
* `commonArea`
* `zr`
* `interop`
enum:
- user
- group
- autReceptionist
- commonArea
- zr
- interop
type: string
type: object
type: array
total_records:
description: The total number of records returned.
type: integer
type: object
application/xml:
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes
type: string
page_size:
description: The number of records returned within a single API call. The default is **30** and the maximum is **300**.
type: integer
templates:
items:
properties:
description:
description: Template description.
type: string
id:
description: Unique identifier of the template.
type: string
name:
description: Template name.
type: string
type:
description: |-
Template type.
The value of this field can be one of the following:
* `user`
* `group`
* `autReceptionist`
* `commonArea`
* `zr`
* `interop`
enum:
- user
- group
- autReceptionist
- commonArea
- zr
- interop
type: string
type: object
type: array
total_records:
description: The total number of records returned.
type: integer
type: object
description: |-
**HTTP Status Code:** `200`
OK
"400":
description: |-
**HTTP Response Code:** `400`
**Error Code:** `300`
Multiple Sites option has been disabled. Enable it and try again.
"401":
description: |-
**HTTP Status Code:** `401`
**Error Code:** `124`
Account does not exist: {accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
Site does not exist.
security:
- OAuth: []
summary: List setting templates
tags:
- Phone
post:
description: |-
This API lets you create a Zoom Phone setting template for an account. Template type includes **User**, **Auto Receptionist**, or **Call Queue**. Settings include profile, policy and user settings. After creating a phone template, the settings defined via this request will become the default settings for an account.
**Scope**:
* `phone:write:admin` `phone:write`
**Prerequisites**:
1. Business or enterprise Zoom account
2. A Zoom Phone license
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: addSettingTemplate
requestBody:
content:
application/json:
schema:
properties:
description:
description: A description of the template.
type: string
name:
description: The name of the template.
type: string
site_id:
description: Unique identifier of the site. Required only when multiple sites are enabled. See [Managing multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) for details.
type: string
type:
description: The type of template. Values include `user`, `group`, `autoReceptionist`, `commonarea`, or `interop`.
enum:
- user
- group
- autoReceptionist
- commonarea
- interop
type: string
required:
- name
- type
type: object
multipart/form-data:
schema:
properties:
description:
description: A description of the template.
type: string
name:
description: The name of the template.
type: string
site_id:
description: Unique identifier of the site. Required only when multiple sites are enabled. See [Managing multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) for details.
type: string
type:
description: The type of template. Values include `user`, `group`, `autoReceptionist`, `commonarea`, or `interop`.
enum:
- user
- group
- autoReceptionist
- commonarea
- interop
type: string
required:
- name
- type
type: object
x-examples:
application/json:
description: template description
name: user_template111
site_id: 2kfjoefejoefoe
type: user
responses:
"201":
content:
application/json:
examples:
response:
value:
description: A description here...
id: "123456"
name: Name name
type: user
schema:
properties:
description:
description: Template description.
type: string
id:
description: Template ID.
type: string
name:
description: Template name.
type: string
type:
description: "The type of template. Values include: `user`, `group`, `autoReceptionist`, `commonArea`, `zr`, or `interop`."
type: string
type: object
application/xml:
schema:
properties:
description:
description: Template description.
type: string
id:
description: Template ID.
type: string
name:
description: Template name.
type: string
type:
description: "The type of template. Values include: `user`, `group`, `autoReceptionist`, `commonArea`, `zr`, or `interop`."
type: string
type: object
description: |-
**HTTP Status Code:** `201`
Created Successfully.
"400":
description: |-
**HTTP Response Code:** `400`
The template name you entered already exists. Provide a new name for the template and try again.
**Error Code:** `300`
Validation failed. You provided an incorrect value for the template type. Provide a valid value and try again.
"401":
description: |-
**HTTP Status Code:** `401`
**Error Code:** `124`
Account does not exist: {accountId}.
summary: Add a setting template
tags:
- Phone
"/phone/setting_templates/{templateId}":
get:
description: |+
This API lets you retrieve a specific account phone template previously created.
**Scope**:
* `phone:write:admin` or `phone:write`
**Prerequisites**:
1. Business or Enterprise Account
2. A Zoom Phone license
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: getSettingTemplate
parameters:
- description: Unique identifier of the template.
in: path
name: templateId
required: true
schema:
type: string
- description: 'Provide the name of the field to use to filter the response. For example, if you provide "description" as the value of the field, you will get a response similar to the following: {“description”: “template description”}.'
in: query
name: custom_query_fields
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
description: string
id: string
name: string
policy:
ad_hoc_call_recording:
enable: boolean
recording_start_prompt: boolean
recording_transcription: boolean
auto_call_recording:
enable: boolean
recording_calls: string
recording_start_prompt: boolean
recording_transcription: boolean
sms:
enable: boolean
international_sms: boolean
voicemail:
allow_transcription: boolean
enable: boolean
profile:
area_code: string
country: string
type: string
user_settings:
audio_prompt_language: string
block_calls_without_caller_id: boolean
call_handling:
business_hours:
business_hour_action: integer
connect_to_operator:
enable: boolean
id: string
type: string
custom_hours:
- from: string
to: string
type: integer
weekday: integer
ring_type: string
ringing_duration: string
type: integer
close_hours:
close_hour_action: integer
connect_to_operator:
enable: boolean
id: string
type: string
max_wait_time: string
desk_phone:
pin_code: string
hold_music: string
schema:
properties:
description:
description: The description of the template.
type: string
id:
description: Specify the template ID.
type: string
name:
description: Specify the name of the template.
type: string
policy:
properties:
ad_hoc_call_recording:
properties:
enable:
description: Allow current extension to record and save calls in the cloud.
type: boolean
recording_start_prompt:
description: Play a prompt to call participants when the recording has started.
type: boolean
recording_transcription:
description: Allow call recording transcription.
type: boolean
type: object
auto_call_recording:
properties:
enable:
description: Enable automatic call recording.
type: boolean
recording_calls:
description: "Values: inbound, outbound, both."
type: string
recording_start_prompt:
description: Play a prompt to call participants when the recording has started.
type: boolean
recording_transcription:
description: Allow call recording transcription.
type: boolean
type: object
sms:
properties:
enable:
description: Allow user to send and receive messages.
type: boolean
international_sms:
type: boolean
type: object
voicemail:
properties:
allow_transcription:
description: Allow voicemail transcription.
type: boolean
enable:
description: Allow current extension to access, receive, or share voicemail.
type: boolean
type: object
type: object
profile:
properties:
area_code:
description: The area code from which the phone account was created.
type: string
country:
description: Name of the country where the template was created.
type: string
type: object
type:
description: "The type of template being queried. Values: `user`, `group`, `auto receptionist` `common area`,`zr`, `interop`."
enum:
- user
- group
- autoReceptionist
- commonArea
- zr
- interop
type: string
user_settings:
properties:
audio_prompt_language:
description: |-
Audio prompt language code. American English: `en-US`
British English: `en-GB`
Español americano: `es-US`
Français canadien: `fr-CA`
Dansk: `da-DK`
Deutsch: `de-DE`
Español: `es-ES`
Français: `fr-FR`
Italiano: `it-IT`
Nederlands: `nl-NL`
Portugues portugal: `pt-PT`
Japanese: `ja-JP`
Korean: `ko-KO`
Portugues brasil: `pt-BR`
Chinese: `zh-CN`
Taiwanese: `zh-TW`
type: string
block_calls_without_caller_id:
description: Block Calls without Caller ID.
type: boolean
call_handling:
properties:
business_hours:
properties:
business_hour_action:
description: |-
When a call is not answered:
0-Forward to voicemail;
1-Play a message, then disconnect;
9-Disconnect;
26-Forward to External Contacts;
50-Forward to another extension
enum:
- 0
- 1
- 9
- 26
- 50
type: integer
connect_to_operator:
description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
properties:
enable:
description: Enable connect to operator.
type: boolean
id:
description: Phone extension ID of the user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup.
type: string
type:
description: |-
Values:
1-user,
2-callQueue,
3-autoReceptionist,
4-commonAreaPhone,
5-zoomRoom,
7-sharedLineGroup
enum:
- user
- zoomRoom
- commonAreaPhone
- autoReceptionist
- callQueue
- sharedLineGroup
type: string
type: object
custom_hours:
items:
properties:
from:
description: |-
Values:
hh:mm
format: time
type: string
to:
description: |-
Values:
hh:mm
format: time
type: string
type:
description: |-
Values:
1-24 Hours,
2-customized hours
enum:
- 1
- 2
type: integer
weekday:
description: "Values: 1-7 sun-sat"
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
type: object
type: array
ring_type:
description: |-
Call Handling Ring Mode:
0-Simultaneous,
1-Sequential
enum:
- 0
- 1
type: string
ringing_duration:
description: |-
Ringing Duration for Each Device in seconds. Values:
15,20,25,30,35,40,45,50,55,60
enum:
- 15
- 20
- 25
- 30
- 35
- 40
- 45
- 50
- 55
- 60
type: string
type:
description: |-
Values:
1-24 Hours, 7 Days a Week;
2-Custom Hours
enum:
- 1
- 2
type: integer
type: object
close_hours:
properties:
close_hour_action:
description: |
Action to take when a call is not answered:
0-Forward to voicemail;
1-Play a message, then disconnect;
9-Disconnect;
26-Forward to External Contacts;
50-Forward to another extension
enum:
- 0
- 1
- 9
- 26
- 50
type: integer
connect_to_operator:
description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
properties:
enable:
type: boolean
id:
description: Phone extension ID of the user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup.
type: string
type:
description: |-
Values:
1-user,
2-callQueue,
3-autoReceptionist,
4-commonAreaPhone,
5-zoomRoom,
7-sharedLineGroup
enum:
- user
- zoomRoom
- commonAreaPhone
- autoReceptionist
- callQueue
- sharedLineGroup
type: string
type: object
max_wait_time:
description: |-
Max Wait Time in seconds. Values:
15,20,25,30,35,40,45,50,55,60
enum:
- 15
- 20
- 25
- 30
- 35
- 40
- 45
- 50
- 55
- 60
type: string
type: object
type: object
desk_phone:
properties:
pin_code:
description: Pin code.
type: string
type: object
hold_music:
description: |-
The value of this field can be either `default` or `disable`.
* `default`: This means that the hold music can be set using the [audio library](https://support.zoom.us/hc/en-us/articles/360028212652-Using-the-audio-library-to-customize-greetings-and-hold-music).
* `disable`: This means that the hold music is disabled.
enum:
- default
- disable
type: string
type: object
type: object
application/xml:
schema:
properties:
description:
description: The description of the template.
type: string
id:
description: Specify the template ID.
type: string
name:
description: Specify the name of the template.
type: string
policy:
properties:
ad_hoc_call_recording:
properties:
enable:
description: Allow current extension to record and save calls in the cloud.
type: boolean
recording_start_prompt:
description: Play a prompt to call participants when the recording has started.
type: boolean
recording_transcription:
description: Allow call recording transcription.
type: boolean
type: object
auto_call_recording:
properties:
enable:
description: Enable automatic call recording.
type: boolean
recording_calls:
description: "Values: inbound, outbound, both."
type: string
recording_start_prompt:
description: Play a prompt to call participants when the recording has started.
type: boolean
recording_transcription:
description: Allow call recording transcription.
type: boolean
type: object
sms:
properties:
enable:
description: Allow user to send and receive messages.
type: boolean
international_sms:
type: boolean
type: object
voicemail:
properties:
allow_transcription:
description: Allow voicemail transcription.
type: boolean
enable:
description: Allow current extension to access, receive, or share voicemail.
type: boolean
type: object
type: object
profile:
properties:
area_code:
description: The area code from which the phone account was created.
type: string
country:
description: Name of the country where the template was created.
type: string
type: object
type:
description: "The type of template being queried. Values: `user`, `group`, `auto receptionist` `common area`,`zr`, `interop`."
enum:
- user
- group
- autoReceptionist
- commonArea
- zr
- interop
type: string
user_settings:
properties:
audio_prompt_language:
description: |-
Audio prompt language code. American English: `en-US`
British English: `en-GB`
Español americano: `es-US`
Français canadien: `fr-CA`
Dansk: `da-DK`
Deutsch: `de-DE`
Español: `es-ES`
Français: `fr-FR`
Italiano: `it-IT`
Nederlands: `nl-NL`
Portugues portugal: `pt-PT`
Japanese: `ja-JP`
Korean: `ko-KO`
Portugues brasil: `pt-BR`
Chinese: `zh-CN`
Taiwanese: `zh-TW`
type: string
block_calls_without_caller_id:
description: Block Calls without Caller ID.
type: boolean
call_handling:
properties:
business_hours:
properties:
business_hour_action:
description: |-
When a call is not answered:
0-Forward to voicemail;
1-Play a message, then disconnect;
9-Disconnect;
26-Forward to External Contacts;
50-Forward to another extension
enum:
- 0
- 1
- 9
- 26
- 50
type: integer
connect_to_operator:
description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
properties:
enable:
description: Enable connect to operator.
type: boolean
id:
description: Phone extension ID of the user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup.
type: string
type:
description: |-
Values:
1-user,
2-callQueue,
3-autoReceptionist,
4-commonAreaPhone,
5-zoomRoom,
7-sharedLineGroup
enum:
- user
- zoomRoom
- commonAreaPhone
- autoReceptionist
- callQueue
- sharedLineGroup
type: string
type: object
custom_hours:
items:
properties:
from:
description: |-
Values:
hh:mm
format: time
type: string
to:
description: |-
Values:
hh:mm
format: time
type: string
type:
description: |-
Values:
1-24 Hours,
2-customized hours
enum:
- 1
- 2
type: integer
weekday:
description: "Values: 1-7 sun-sat"
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
type: object
type: array
ring_type:
description: |-
Call Handling Ring Mode:
0-Simultaneous,
1-Sequential
enum:
- 0
- 1
type: string
ringing_duration:
description: |-
Ringing Duration for Each Device in seconds. Values:
15,20,25,30,35,40,45,50,55,60
enum:
- 15
- 20
- 25
- 30
- 35
- 40
- 45
- 50
- 55
- 60
type: string
type:
description: |-
Values:
1-24 Hours, 7 Days a Week;
2-Custom Hours
enum:
- 1
- 2
type: integer
type: object
close_hours:
properties:
close_hour_action:
description: |
Action to take when a call is not answered:
0-Forward to voicemail;
1-Play a message, then disconnect;
9-Disconnect;
26-Forward to External Contacts;
50-Forward to another extension
enum:
- 0
- 1
- 9
- 26
- 50
type: integer
connect_to_operator:
description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
properties:
enable:
type: boolean
id:
description: Phone extension ID of the user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup.
type: string
type:
description: |-
Values:
1-user,
2-callQueue,
3-autoReceptionist,
4-commonAreaPhone,
5-zoomRoom,
7-sharedLineGroup
enum:
- user
- zoomRoom
- commonAreaPhone
- autoReceptionist
- callQueue
- sharedLineGroup
type: string
type: object
max_wait_time:
description: |-
Max Wait Time in seconds. Values:
15,20,25,30,35,40,45,50,55,60
enum:
- 15
- 20
- 25
- 30
- 35
- 40
- 45
- 50
- 55
- 60
type: string
type: object
type: object
desk_phone:
properties:
pin_code:
description: Pin code.
type: string
type: object
hold_music:
description: |-
The value of this field can be either `default` or `disable`.
* `default`: This means that the hold music can be set using the [audio library](https://support.zoom.us/hc/en-us/articles/360028212652-Using-the-audio-library-to-customize-greetings-and-hold-music).
* `disable`: This means that the hold music is disabled.
enum:
- default
- disable
type: string
type: object
type: object
description: |-
**HTTP Status Code:** `200`
OK
"401":
description: |-
**HTTP Status Code:** `401`
**Error Code:** `124`
Account does not exist: {accountId}.
"404":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |
**HTTP Status Code:** `404`
Site does not exist. Settings template does not exist: {templateId}.
security:
- OAuth: []
summary: Get setting template details
tags:
- Phone
parameters:
- in: path
name: templateId
required: true
schema:
type: string
patch:
description: |+
Use this API to update or modify profile settings for the phone template. Template type includes **User**, **Auto Receptionist**, or **Call Queue**. After you've modified a template, click **User Settings** to set up settings for Call Handling, Desk Phone, and Others.
**Scope**:
* `phone:write:admin` or `phone:write`
**Prerequisites**:
1. Business or Enterprise Account
2. A Zoom Phone license
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: updateSettingTemplate
parameters:
- description: The Template ID.
in: path
name: templateId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
description:
description: The description of the template.
type: string
name:
description: Specify the name of the template.
type: string
policy:
properties:
ad_hoc_call_recording:
properties:
enable:
description: Allow current extension to record and save calls in the cloud.
type: boolean
recording_start_prompt:
description: Play a prompt to call participants when the recording has started.
type: boolean
recording_transcription:
description: Allow call recording transcription.
type: boolean
type: object
auto_call_recording:
properties:
enable:
description: Automatic call recording.
type: boolean
recording_calls:
description: "Values: inbound, outbound, both."
enum:
- inbound
- outbound
- both
type: string
recording_start_prompt:
description: Play a prompt to call participants when the recording has started.
type: boolean
recording_transcription:
description: Allow call recording transcription.
type: boolean
type: object
sms:
properties:
enable:
description: Allow user to send and receive messages.
type: boolean
international_sms:
description: Whether or not SMS is international.
type: boolean
type: object
voicemail:
properties:
allow_transcription:
description: Allow voicemail transcription.
type: boolean
enable:
description: Allow current extension to access, receive, or share voicemail.
type: boolean
type: object
type: object
profile:
properties:
area_code:
description: The area code from which the phone account was created.
type: string
country:
description: Name of the country where the template was created.
type: string
type: object
user_settings:
properties:
audio_prompt_language:
description: |-
Audio prompt language code. American English: `en-US`
British English: `en-GB`
Español americano: `es-US`
Français canadien: `fr-CA`
Dansk: `da-DK`
Deutsch: `de-DE`
Español: `es-ES`
Français: `fr-FR`
Italiano: `it-IT`
Nederlands: `nl-NL`
Portugues portugal: `pt-PT`
Japanese: `ja-JP`
Korean: `ko-KO`
Portugues brasil: `pt-BR`
Chinese: `zh-CN`
Taiwanese: `zh-TW`
type: string
block_calls_without_caller_id:
description: Block Calls without Caller ID.
type: boolean
call_handling:
properties:
business_hours:
properties:
business_hour_action:
description: |-
When a call is not answered:
0-Forward to voicemail;
1-Play a message, then disconnect;
9-Disconnect;
26-Forward to External Contacts;
50-Forward to another extension
enum:
- 0
- 1
- 9
- 26
- 50
type: integer
connect_to_operator:
description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
properties:
enable:
description: Enable connect to operator.
type: boolean
id:
description: Extension ID of user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup. This ID is passed along with the `type` if the `close_hour_action` was not set with a value of *26*.
type: string
type:
description: |-
Values:
1-user,
2-callQueue,
3-autoReceptionist,
4-commonAreaPhone,
5-zoomRoom,
7-sharedLineGroup
enum:
- user
- zoomRoom
- commonAreaPhone
- autoReceptionist
- callQueue
- sharedLineGroup
type: string
type: object
custom_hours:
items:
properties:
from:
description: |-
Values:
hh:mm
format: time
type: string
to:
description: |-
Values:
hh:mm
format: time
type: string
type:
description: |-
Values:
1-24 Hours,
2-customized hours
enum:
- 1
- 2
type: integer
weekday:
description: "Values: 1-7 sun-sat"
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
type: object
type: array
ring_type:
description: |-
Call Handling Ring Mode:
0-Simultaneous,
1-Sequential
enum:
- 0
- 1
type: string
ringing_duration:
description: |-
Ringing Duration for Each Device, in seconds. Values:
15,20,25,30,35,40,45,50,55,60
enum:
- 15
- 20
- 25
- 30
- 35
- 40
- 45
- 50
- 55
- 60
type: string
type:
description: |-
Values:
1-24 Hours, 7 Days a Week;
2-Custom Hours
enum:
- 1
- 2
type: integer
type: object
close_hours:
properties:
close_hour_action:
description: |
Action to take when a call is not answered:
0-Forward to voicemail;
1-Play a message, then disconnect;
9-Disconnect;
26-Forward to External Contacts;
50-Forward to another extension
enum:
- 0
- 1
- 9
- 26
- 50
type: integer
connect_to_operator:
description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
properties:
enable:
description: Enable connect to operator.
type: boolean
id:
description: Extension ID of user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup. This ID is passed along with the `type` if the `close_hour_action` was not set with a value of *26*.
type: string
type:
description: |-
Values:
1-user,
2-callQueue,
3-autoReceptionist,
4-commonAreaPhone,
5-zoomRoom,
7-sharedLineGroup
enum:
- user
- zoomRoom
- commonAreaPhone
- autoReceptionist
- callQueue
- sharedLineGroup
type: string
type: object
max_wait_time:
description: |-
Maximum wait time, in seconds. Values:
15,20,25,30,35,40,45,50,55,60
enum:
- 15
- 20
- 25
- 30
- 35
- 40
- 45
- 50
- 55
- 60
type: string
type: object
type: object
desk_phone:
properties:
pin_code:
description: Pin code.
type: string
type: object
hold_music:
description: |-
The value of this field can be either `default` or `disable`.
* `default`: This means that the hold music can be set using the [audio library](https://support.zoom.us/hc/en-us/articles/360028212652-Using-the-audio-library-to-customize-greetings-and-hold-music).
* `disable`: This means that the hold music is disabled.
enum:
- default
- disable
type: string
type: object
type: object
multipart/form-data:
schema:
properties:
description:
description: The description of the template.
type: string
name:
description: Specify the name of the template.
type: string
policy:
properties:
ad_hoc_call_recording:
properties:
enable:
description: Allow current extension to record and save calls in the cloud.
type: boolean
recording_start_prompt:
description: Play a prompt to call participants when the recording has started.
type: boolean
recording_transcription:
description: Allow call recording transcription.
type: boolean
type: object
auto_call_recording:
properties:
enable:
description: Automatic call recording.
type: boolean
recording_calls:
description: "Values: inbound, outbound, both."
enum:
- inbound
- outbound
- both
type: string
recording_start_prompt:
description: Play a prompt to call participants when the recording has started.
type: boolean
recording_transcription:
description: Allow call recording transcription.
type: boolean
type: object
sms:
properties:
enable:
description: Allow user to send and receive messages.
type: boolean
international_sms:
description: Whether or not SMS is international.
type: boolean
type: object
voicemail:
properties:
allow_transcription:
description: Allow voicemail transcription.
type: boolean
enable:
description: Allow current extension to access, receive, or share voicemail.
type: boolean
type: object
type: object
profile:
properties:
area_code:
description: The area code from which the phone account was created.
type: string
country:
description: Name of the country where the template was created.
type: string
type: object
user_settings:
properties:
audio_prompt_language:
description: |-
Audio prompt language code. American English: `en-US`
British English: `en-GB`
Español americano: `es-US`
Français canadien: `fr-CA`
Dansk: `da-DK`
Deutsch: `de-DE`
Español: `es-ES`
Français: `fr-FR`
Italiano: `it-IT`
Nederlands: `nl-NL`
Portugues portugal: `pt-PT`
Japanese: `ja-JP`
Korean: `ko-KO`
Portugues brasil: `pt-BR`
Chinese: `zh-CN`
Taiwanese: `zh-TW`
type: string
block_calls_without_caller_id:
description: Block Calls without Caller ID.
type: boolean
call_handling:
properties:
business_hours:
properties:
business_hour_action:
description: |-
When a call is not answered:
0-Forward to voicemail;
1-Play a message, then disconnect;
9-Disconnect;
26-Forward to External Contacts;
50-Forward to another extension
enum:
- 0
- 1
- 9
- 26
- 50
type: integer
connect_to_operator:
description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
properties:
enable:
description: Enable connect to operator.
type: boolean
id:
description: Extension ID of user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup. This ID is passed along with the `type` if the `close_hour_action` was not set with a value of *26*.
type: string
type:
description: |-
Values:
1-user,
2-callQueue,
3-autoReceptionist,
4-commonAreaPhone,
5-zoomRoom,
7-sharedLineGroup
enum:
- user
- zoomRoom
- commonAreaPhone
- autoReceptionist
- callQueue
- sharedLineGroup
type: string
type: object
custom_hours:
items:
properties:
from:
description: |-
Values:
hh:mm
format: time
type: string
to:
description: |-
Values:
hh:mm
format: time
type: string
type:
description: |-
Values:
1-24 Hours,
2-customized hours
enum:
- 1
- 2
type: integer
weekday:
description: "Values: 1-7 sun-sat"
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
type: object
type: array
ring_type:
description: |-
Call Handling Ring Mode:
0-Simultaneous,
1-Sequential
enum:
- 0
- 1
type: string
ringing_duration:
description: |-
Ringing Duration for Each Device, in seconds. Values:
15,20,25,30,35,40,45,50,55,60
enum:
- 15
- 20
- 25
- 30
- 35
- 40
- 45
- 50
- 55
- 60
type: string
type:
description: |-
Values:
1-24 Hours, 7 Days a Week;
2-Custom Hours
enum:
- 1
- 2
type: integer
type: object
close_hours:
properties:
close_hour_action:
description: |
Action to take when a call is not answered:
0-Forward to voicemail;
1-Play a message, then disconnect;
9-Disconnect;
26-Forward to External Contacts;
50-Forward to another extension
enum:
- 0
- 1
- 9
- 26
- 50
type: integer
connect_to_operator:
description: Allow callers to press Zero to reach an operator or press One to leave a message, or allow neither of these options.
properties:
enable:
description: Enable connect to operator.
type: boolean
id:
description: Extension ID of user, zoomRoom, commonAreaPhone, autoReceptionist, callQueue or sharedLineGroup. This ID is passed along with the `type` if the `close_hour_action` was not set with a value of *26*.
type: string
type:
description: |-
Values:
1-user,
2-callQueue,
3-autoReceptionist,
4-commonAreaPhone,
5-zoomRoom,
7-sharedLineGroup
enum:
- user
- zoomRoom
- commonAreaPhone
- autoReceptionist
- callQueue
- sharedLineGroup
type: string
type: object
max_wait_time:
description: |-
Maximum wait time, in seconds. Values:
15,20,25,30,35,40,45,50,55,60
enum:
- 15
- 20
- 25
- 30
- 35
- 40
- 45
- 50
- 55
- 60
type: string
type: object
type: object
desk_phone:
properties:
pin_code:
description: Pin code.
type: string
type: object
hold_music:
description: |-
The value of this field can be either `default` or `disable`.
* `default`: This means that the hold music can be set using the [audio library](https://support.zoom.us/hc/en-us/articles/360028212652-Using-the-audio-library-to-customize-greetings-and-hold-music).
* `disable`: This means that the hold music is disabled.
enum:
- default
- disable
type: string
type: object
type: object
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204`
No Content. Request was successful.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `300`
The country code you entered is invalid. Provide a valid country code and try again.
The area code you entered is invalid. Provide a valid area code with a length between 0 to 6 digits and try again.
The value you entered for the audio prompt language code is invalid.
PIN code could only include numbers.
Invalid PIN code. PIN code must be {0} digits long.
Invalid PIN code. PIN code must be {0} to {1} digits long.
Invalid PIN code. Your PIN code must not be the same as the extension number.
Invalid PIN code. The PIN code must not contain a group of repeated digits.
PIN code cannot be an ascending or descending group of digits.
Connect to operator type error.
You provided an invalid value for call handling ring type. The value of this field must either be “simultaneous” or “sequential”.
You provided an invalid value for business hours type field. The value of this field must either be 1 or 2.
You provided an invalid value for the business hours action field.
You provided an invalid value for the close hours action field.
"401":
description: |-
**HTTP Status Code:** `401`
**Error Code:** `124`
Account does not exist: {accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
Site does not exist. Settings template does not exist: {templateId}.
Operator was not found for the following id: {0}.
External contact was not found for the following id: {0}.
security:
- OAuth: []
summary: Update a setting template
tags:
- Phone
/phone/shared_line_groups:
get:
description: |-
A [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) allows Zoom Phone admins to share a phone number and extension with a group of phone users or common area phones. This gives members of the shared line group access to the group's direct phone number and voicemail. Use this API to list all the Shared Line Groups.
**Prerequisties:**
* Pro or higher account with Zoom Phone license.
* Account owner or admin privileges
**Scopes:** `phone:read:admin`, `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listSharedLineGroups
parameters:
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: hkdsfghdj3hef
page_size: 30
shared_line_groups:
- display_name: Test Shared Line Group
extension_number: 123
id: sdgfhdser83velit
phone_numbers:
- id: min4glt
number: "46835635784"
status: available
site:
id: dgfgfgh433
name: San Jose Site
status: active
total_records: 1
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 100
type: integer
shared_line_groups:
items:
properties:
display_name:
description: Display Name of the Shared Line Group.
type: string
extension_number:
description: Extension number assigned to the Shared Line Group.
type: integer
id:
description: Unique Identifier of the Shared Line Group.
type: string
phone_numbers:
description: Phone Numbers Assigned to the Shared Line Group.
items:
properties:
id:
description: Unique identifier of the phone number.
type: string
number:
description: Phone number in E164 format.
type: string
status:
description: Status of the number.
enum:
- pending
- available
type: string
type: object
type: array
site:
properties:
id:
description: Unique Identifier of the [Site](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/getasite).
type: string
name:
description: Name of the Site.
type: string
type: object
status:
description: Status of the Shared Line Group.
enum:
- active
- inactive
type: string
type: object
type: array
total_records:
description: Total records found in the response for this request.
type: integer
type: object
application/xml:
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 100
type: integer
shared_line_groups:
items:
properties:
display_name:
description: Display Name of the Shared Line Group.
type: string
extension_number:
description: Extension number assigned to the Shared Line Group.
type: integer
id:
description: Unique Identifier of the Shared Line Group.
type: string
phone_numbers:
description: Phone Numbers Assigned to the Shared Line Group.
items:
properties:
id:
description: Unique identifier of the phone number.
type: string
number:
description: Phone number in E164 format.
type: string
status:
description: Status of the number.
enum:
- pending
- available
type: string
type: object
type: array
site:
properties:
id:
description: Unique Identifier of the [Site](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/getasite).
type: string
name:
description: Name of the Site.
type: string
type: object
status:
description: Status of the Shared Line Group.
enum:
- active
- inactive
type: string
type: object
type: array
total_records:
description: Total records found in the response for this request.
type: integer
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Shared Line Groups returned.
summary: List shared line groups
tags:
- Phone Shared Line Groups
post:
description: |-
A [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) allows Zoom Phone admins to share a phone number and extension with a group of phone users or common area phones. This gives members of the shared line group access to the group's direct phone number and voicemail. Use this API to create a shared line group.
**Prerequisties:**
* Pro or higher account with Zoom Phone license.
* Account owner or admin privileges
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: createASharedLineGroup
requestBody:
content:
application/json:
schema:
properties:
description:
description: Provide a description for the shared line group.
maxLength: 255
type: string
display_name:
description: Provide a name to help identify the shared line group.
maxLength: 200
type: string
extension_number:
description: "Extension number to be assigned to the shared line group. If a [site code has been assigned](https://support.zoom.us/hc/en-us/articles/360020809672#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b) to the site, provide the short extension number "
type: integer
site_id:
description: |-
Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) that you would like to use for the shared line group. You will only be able to add members that belong to this site to the shared line group.
This field is required only if the [multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) option has been enabled for the account.
type: string
required:
- display_name
type: object
multipart/form-data:
schema:
properties:
description:
description: Provide a description for the shared line group.
maxLength: 255
type: string
display_name:
description: Provide a name to help identify the shared line group.
maxLength: 200
type: string
extension_number:
description: "Extension number to be assigned to the shared line group. If a [site code has been assigned](https://support.zoom.us/hc/en-us/articles/360020809672#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b) to the site, provide the short extension number "
type: integer
site_id:
description: |-
Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) that you would like to use for the shared line group. You will only be able to add members that belong to this site to the shared line group.
This field is required only if the [multiple sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites) option has been enabled for the account.
type: string
required:
- display_name
type: object
x-examples:
application/json:
description: This Shared Line group is for the Comms team based in London.
display_name: London Comms Shared Line
extension_number: 301
site_id: vcdsg7dsghf
responses:
"200":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |
**HTTP Status Code:** `200` **OK**
Shared Line Group created successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` **Validation Failed**
* Multiple Site has not been enabled for this account.
* Site does not exist.
**Error Code:** `400`
Extension number {extensionNumber} is already used.
**Error Code:** `409`
Invalid short number length.
Number {extensionNumber} is a reserved extension number.
security:
- OAuth: []
summary: Create a shared line group
tags:
- Phone Shared Line Groups
"/phone/shared_line_groups/{sharedLineGroupId}":
delete:
description: |-
A [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) allows Zoom Phone admins to share a phone number and extension with a group of phone users or common area phones. Use this API to delete a Shared Line Group.
**Prerequisties:**
* Pro or higher account with Zoom Phone license.
* Account owner or admin privileges
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteASharedLineGroup
parameters:
- description: Unique Identifier of the shared line group that you would like to delete.
in: path
name: sharedLineGroupId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Shared Line Group Deleted.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` **Validation Failed.**
* Shared line group (id: {sharedLingGroupId}) does not exist.
summary: Delete a shared line group
tags:
- Phone Shared Line Groups
get:
description: |-
A [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) allows Zoom Phone admins to share a phone number and extension with a group of phone users or common area phones. This gives members of the shared line group access to the group's direct phone number and voicemail. Use this API to list all the Shared Line Groups.
**Prerequisties:**
* Pro or higher account with Zoom Phone license.
* Account owner or admin privileges
**Scopes:** `phone:read:admin` or `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: getASharedLineGroup
parameters:
- description: Unique Identifier of the Shared Line Group.
in: path
name: sharedLineGroupId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
display_name: Bay Area Shared Line Group
extension_number: 123
id: jsehdfrrg4
members:
common_area_phones:
- id: eu34gcogfft5nsectetur
name: Lobby Phone
users:
- id: gdfsx57ytcfgg
name: ipsum reprehenderit
- id: nisi3t5hgvsed
name: dolore sed
phone_numbers:
- id: dsfdg3r
number: "1365435426"
- id: hfgdcfhjj
number: "5673856375"
primary_number: "5673856375"
site:
id: dhfdhsf4
name: Engineering Site
status: active
timezone: America/Los_Angeles
schema:
properties:
display_name:
description: Display Name of the Shared Line Group.
type: string
extension_number:
description: Extension number assigned to the Shared Line Group.
type: integer
id:
description: Unique Identifier of the Shared Line Group.
type: string
members:
description: View current [members](https://support.zoom.us/hc/en-us/articles/360038850792-Setting-up-shared-line-groups#h_3ffbbb77-a009-4c09-91e4-81fc264b61d6) of the shared line group.
properties:
common_area_phones:
description: "[Common Area Phones](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones) that are members of the shared line group."
items:
properties:
id:
description: "Unique identifier of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones). "
type: string
name:
description: "Name of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones). "
type: string
type: object
type: array
users:
description: Users who are members of the Shared Line Group.
items:
properties:
id:
description: Unique identifier of the user.
type: string
name:
description: Name of the user.
type: string
type: object
type: array
type: object
phone_numbers:
description: Object representing information about phone number(s) assigned to the group.
items:
properties:
id:
description: Unique identifier of the phone number.
type: string
number:
description: Phone number in E164 format.
type: string
type: object
type: array
primary_number:
description: If you have multiple direct phone numbers assigned to the shared line group, this is the primary number selected for desk phones. The primary number shares the same line as the extension number. This means if a caller is routed to the shared line group through an auto receptionist, the line associated with the primary number will be used.
type: string
site:
description: Site assigned to the Shared Line Group.
properties:
id:
description: Unique Identifier of the [Site](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/getasite).
type: string
name:
description: Name of the Site.
type: string
type: object
status:
description: Status of the Shared Line Group.
enum:
- active
- inactive
type: string
timezone:
description: Timezone used for the Business Hours.
type: string
type: object
application/xml:
schema:
properties:
display_name:
description: Display Name of the Shared Line Group.
type: string
extension_number:
description: Extension number assigned to the Shared Line Group.
type: integer
id:
description: Unique Identifier of the Shared Line Group.
type: string
members:
description: View current [members](https://support.zoom.us/hc/en-us/articles/360038850792-Setting-up-shared-line-groups#h_3ffbbb77-a009-4c09-91e4-81fc264b61d6) of the shared line group.
properties:
common_area_phones:
description: "[Common Area Phones](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones) that are members of the shared line group."
items:
properties:
id:
description: "Unique identifier of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones). "
type: string
name:
description: "Name of the [Common Area Phone](https://support.zoom.us/hc/en-us/articles/360028516231-Managing-Common-Area-Phones). "
type: string
type: object
type: array
users:
description: Users who are members of the Shared Line Group.
items:
properties:
id:
description: Unique identifier of the user.
type: string
name:
description: Name of the user.
type: string
type: object
type: array
type: object
phone_numbers:
description: Object representing information about phone number(s) assigned to the group.
items:
properties:
id:
description: Unique identifier of the phone number.
type: string
number:
description: Phone number in E164 format.
type: string
type: object
type: array
primary_number:
description: If you have multiple direct phone numbers assigned to the shared line group, this is the primary number selected for desk phones. The primary number shares the same line as the extension number. This means if a caller is routed to the shared line group through an auto receptionist, the line associated with the primary number will be used.
type: string
site:
description: Site assigned to the Shared Line Group.
properties:
id:
description: Unique Identifier of the [Site](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/getasite).
type: string
name:
description: Name of the Site.
type: string
type: object
status:
description: Status of the Shared Line Group.
enum:
- active
- inactive
type: string
timezone:
description: Timezone used for the Business Hours.
type: string
type: object
description: ""
summary: Get a shared line group
tags:
- Phone Shared Line Groups
parameters:
- in: path
name: sharedLineGroupId
required: true
schema:
type: string
patch:
description: |-
A [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) allows Zoom Phone admins to share a phone number and extension with a group of phone users or common area phones. This gives members of the shared line group access to the group's direct phone number and voicemail. Use this API to update information of a Shared Line Group.
**Prerequisties:**
* Pro or higher account with Zoom Phone license.
* Account owner or admin privileges
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: updateASharedLineGroup
parameters:
- description: Unique identifier of the shared line group that is to be updated.
in: path
name: sharedLineGroupId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
display_name:
description: Display Name of the Shared Line Group.
type: string
extension_number:
description: Extension number assigned to the Shared Line Group.
type: integer
primary_number:
description: If you have multiple direct phone numbers assigned to the shared line group, select a number from those numbers as the primary number. The primary number shares the same line as the extension number. This means if a caller is routed to the shared line group through an auto receptionist, the line associated with the primary number will be used. A pending number cannot be used as a Primary Number.
properties:
id:
description: Phone Number ID. Unique Identifier of the Phone Number.
type: string
number:
description: Phone Number that you would like to assign as the primary number for this Shared Line Group.
type: string
type: object
status:
description: Status of the Shared Line Group.
enum:
- active
- inactive
type: string
timezone:
description: Timezone to be used for the Business Hours. A value should be provided from the IDs listed [here](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).
type: string
type: object
multipart/form-data:
schema:
properties:
display_name:
description: Display Name of the Shared Line Group.
type: string
extension_number:
description: Extension number assigned to the Shared Line Group.
type: integer
primary_number:
description: If you have multiple direct phone numbers assigned to the shared line group, select a number from those numbers as the primary number. The primary number shares the same line as the extension number. This means if a caller is routed to the shared line group through an auto receptionist, the line associated with the primary number will be used. A pending number cannot be used as a Primary Number.
properties:
id:
description: Phone Number ID. Unique Identifier of the Phone Number.
type: string
number:
description: Phone Number that you would like to assign as the primary number for this Shared Line Group.
type: string
type: object
status:
description: Status of the Shared Line Group.
enum:
- active
- inactive
type: string
timezone:
description: Timezone to be used for the Business Hours. A value should be provided from the IDs listed [here](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).
type: string
type: object
x-examples:
application/json:
description: description of the sharedline group
display_name: test123
extension_number: 298
primary_number:
number: "1134455"
status: inactive
timezone: Asia/Tehran
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Shared Line Group Updated Successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` **Validation Failed**
* Shared line group (id: {sharedLingGroupId}) does not exist.
* Timezone not found in the system.
**Error Code:** `409`
* Invalid short number length.
* Number {extensionNumber} is a reserved extension number.
**Error Code:** `400`
Extension number {extensionNumber} is already used.
"404":
description: |+
**HTTP Status Code:** `404` **Not Found**
* No phone numbers have been assigned to this Shared Line Group.
* Primary phone number was not found in the list of numbers assigned to this Shared Line Group.
summary: Update a shared line group
tags:
- Phone Shared Line Groups
"/phone/shared_line_groups/{sharedLineGroupId}/members":
delete:
description: |-
Members of the [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) have access to the group's phone number and voicemail. Use this API to unassign **all** the existing members from a Shared Line Group.
**Prerequisties:**
* Pro or higher account with Zoom Phone license.
* A valid Shared Line Group
* Account owner or admin privileges
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteMembersOfSLG
parameters:
- description: Unique identifier of the Shared Line Group that you would like to delete.
in: path
name: sharedLineGroupId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Members unassigned successfully.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` **Validation Failed**
* Shared line group (id: {sharedLingGroupId}) does not exist.
summary: Unassign members of a shared line group
tags:
- Phone Shared Line Groups
parameters:
- in: path
name: sharedLineGroupId
required: true
schema:
type: string
post:
description: |-
A [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) allows Zoom Phone admins to share a phone number and extension with a group of phone users or common area phones. This gives members of the shared line group access to the group's direct phone number and voicemail. Use this API to [add members](https://support.zoom.us/hc/en-us/articles/360038850792-Setting-up-shared-line-groups#h_7cb42370-48f6-4a8f-84f4-c6eee4d9f0ca) to a Shared Line Group. Note that a member can only be added to one shared line group.
**Prerequisties:**
* Pro or higher account with Zoom Phone license.
* A valid Shared Line Group
* Account owner or admin privileges
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: addMembersToSharedLineGroup
parameters:
- description: Unique Identifier of the shared line group.
in: path
name: sharedLineGroupId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
members:
description: Members can comprise of users on the account as well as common area phones. You can add a maximum of 10 members at once.
properties:
common_area_phone_ids:
description: "Unique identifier(s) of the Common Area Phone. "
items:
type: string
type: array
users:
description: Zoom Phone users on the account.
items:
properties:
email:
description: Email address of the user.
type: string
id:
description: Unique identifier of the user.
type: string
type: object
type: array
type: object
type: object
multipart/form-data:
schema:
properties:
members:
description: Members can comprise of users on the account as well as common area phones. You can add a maximum of 10 members at once.
properties:
common_area_phone_ids:
description: "Unique identifier(s) of the Common Area Phone. "
items:
type: string
type: array
users:
description: Zoom Phone users on the account.
items:
properties:
email:
description: Email address of the user.
type: string
id:
description: Unique identifier of the user.
type: string
type: object
type: array
type: object
type: object
x-examples:
application/json: |-
{
"members": {
"common_area_phone_ids" : [
"12fhdkfh-fdsf62g",
"22Ssjhfhgsf-3dSO62g",
],
"users" : [
{
"id" : "92S3fusdf-O62g",
"email": "hdsfjhdf@xdjvhv.cghdc"
},
{
"id" : "92S3FySjSB-kZSSe6O62g",
"email": "dajhsdh@xdjvhv.cghdc"
}
]
}
}
responses:
"201":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `201` **Created**
Members added successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
Members of a shared line group should come from same site.
A shared line group can only contain {0} members at most.
**Error Code:** `300` **Validation Failed**
* Shared line group (id: {sharedLingGroupId}) does not exist.
"404":
description: |+
**HTTP Status Code:** `404` **Not Found**
Device does not exist in the system.
**Error Code:** `1001`
User not found: {userId}.
summary: Add members to a shared line group
tags:
- Phone Shared Line Groups
"/phone/shared_line_groups/{sharedLineGroupId}/members/{memberId}":
delete:
description: |-
Members of the [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792) have access to the group's phone number and voicemail. Use this API to unassign **a specific member** from a Shared Line Group.
**Prerequisties:**
* Pro or higher account with Zoom Phone license.
* A valid Shared Line Group
* Account owner or admin privileges
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteAMemberSLG
parameters:
- description: Unique Identifier of the shared line group from which you would like to remove a member.
in: path
name: sharedLineGroupId
required: true
schema:
type: string
- description: Unique identifier of the member who is to be removed.
in: path
name: memberId
required: true
schema:
type: string
responses:
"204":
description: |-
**HTTP Status Code:** `204` **No Content**
Members unassigned successfully.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` **Validation Failed**
* Shared line group (id: {sharedLingGroupId}) does not exist.
summary: Unassign a member from a shared line group
tags:
- Phone Shared Line Groups
parameters:
- in: path
name: sharedLineGroupId
required: true
schema:
type: string
- in: path
name: memberId
required: true
schema:
type: string
"/phone/shared_line_groups/{sharedLineGroupId}/phone_numbers":
parameters:
- in: path
name: sharedLineGroupId
required: true
schema:
type: string
post:
description: |-
Use this API to assign phone numbers to a shared line groups. These direct phone numbers will be shared among members of the [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792-Setting-up-shared-line-groups).
**Prerequisties:**
* Pro or higher account with Zoom Phone license.
* A valid Shared Line Group
* Account owner or admin privileges
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: assignPhoneNumbersSLG
parameters:
- description: Unique Identifier of the Shared Line Group.
in: path
name: sharedLineGroupId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
phone_numbers:
description: Phone number(s) to be assigned to the Shared Line Group.
items:
properties:
id:
description: Unique Identifier of the phone number.
type: string
number:
description: Phone number.
type: string
type: object
type: array
type: object
multipart/form-data:
schema:
properties:
phone_numbers:
description: Phone number(s) to be assigned to the Shared Line Group.
items:
properties:
id:
description: Unique Identifier of the phone number.
type: string
number:
description: Phone number.
type: string
type: object
type: array
type: object
x-examples:
application/json:
phone_numbers:
- id: "123123"
number: "4567890"
responses:
"201":
description: |-
**HTTP Status Code:** `201` **Created**
Phone number(s) assigned successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `400`
Phone number does not exist
**Error Code:** `300` **Validation Failed.**
Shared line group (id: {sharedLingGroupId}) does not exist.
"401":
description: |-
**HTTP Status Code:** `401` **Unauthorized**
**Error Code:** `124`
Phone number does not belong to this account
summary: Assign phone numbers
tags:
- Phone Shared Line Groups
"/phone/shared_line_groups/{sharedLineGroupId}/phone_numbers/{phoneNumberId}":
delete:
description: |-
Use this API to unassign a specific phone number that was assigned to the [shared line group](https://support.zoom.us/hc/en-us/articles/360038850792-Setting-up-shared-line-groups).
**Prerequisties:**
* Pro or higher account with Zoom Phone license.
* A valid Shared Line Group
* Account owner or admin privileges
**Scopes:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteAPhoneNumberSLG
parameters:
- description: Unique identifier of the shared line group from which you would like to unassign a phone number.
in: path
name: sharedLineGroupId
required: true
schema:
type: string
- description: Unique identifier of the phone number which is to be unassigned. This can be retrieved from Get a Shared Line Group API.
in: path
name: phoneNumberId
required: true
schema:
type: string
responses:
"204":
description: |-
**HTTP Status Code:** `204` **No Content**
Phone Numbers unassigned successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `400`
Phone number does not exist
**Error Code:** `300` **Validation Failed.**
Shared line group (id: {sharedLingGroupId}) does not exist.
"401":
description: |-
**HTTP Status Code:** `401` **Unauthorized**
**Error Code:** `124`
Phone number does not belong to this account
summary: Unassign a phone number
tags:
- Phone Shared Line Groups
parameters:
- in: path
name: sharedLineGroupId
required: true
schema:
type: string
- in: path
name: phoneNumberId
required: true
schema:
type: string
/phone/sip_trunk/trunks:
get:
description: |+
List [BYOC SIP trunks](https://zoom.us/docs/doc/Zoom-Bring%20Your%20Own%20Carrier.pdf) that are assigned to an account.
**Scopes**:
* `phone:write:admin` or `phone:master`
**Prerequisites**:
* Business or Enterprise Account
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: listBYOCSIPTrunk
parameters:
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
byoc_sip_trunk:
- carrier: my_carrierr
carrier_account: dsgf63tt
id: con3t6gdt
name: Test 12
region: US
sbc_label: abc-test
next_page_token: " "
page_size: "30"
schema:
properties:
byoc_sip_trunk:
items:
properties:
carrier:
description: Name of the carrier.
type: string
carrier_account:
description: The account associated to the carrier.
type: string
id:
description: The unique SIP Trunk ID.
type: string
name:
description: The display name of the SIP Trunk.
type: string
region:
description: The region of the carrier.
type: string
sbc_label:
description: The Session Border Controller (SBC) routing label.
type: string
type: object
type: array
next_page_token:
description: Used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is **15 minutes**.
type: string
page_size:
default: 30
description: The number of records returned within a single API call. The default is **30**, and the maximum is **100**.
type: integer
type: object
application/xml:
schema:
properties:
byoc_sip_trunk:
items:
properties:
carrier:
description: Name of the carrier.
type: string
carrier_account:
description: The account associated to the carrier.
type: string
id:
description: The unique SIP Trunk ID.
type: string
name:
description: The display name of the SIP Trunk.
type: string
region:
description: The region of the carrier.
type: string
sbc_label:
description: The Session Border Controller (SBC) routing label.
type: string
type: object
type: array
next_page_token:
description: Used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is **15 minutes**.
type: string
page_size:
default: 30
description: The number of records returned within a single API call. The default is **30**, and the maximum is **100**.
type: integer
type: object
description: |-
**HTTP Status Codes**: `200`
OK.
security:
- OAuth: []
summary: List BYOC SIP trunks
tags:
- Phone
/phone/sites:
get:
description: |-
Sites allow you to organize Zoom Phone users in your organization. Use this API to list all the [sites](https://support.zoom.us/hc/en-us/articles/360020809672) that have been created for an account.
**Prerequisites:**
* Multiple Sites must be [enabled](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_05c88e35-1593-491f-b1a8-b7139a75dc15).
* Pro or a higher account with Zoom Phone enabled.
**Scope:** `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listPhoneSites
parameters:
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
page_count: 1
page_number: 1
page_size: 30
sites:
- country:
code: CA
name: Canada
id: CESAfgkwporiw3WA
main_auto_receptionist:
extension_id: E6Khfhfhf4idr8A
extension_number: 10801
id: NMyfgfgfhdghsVg
name: Main Auto Receptionist
name: Main Site
site_code: 10
- id: fwfhfghbghghfgcuw
main_auto_receptionist:
extension_id: V7AIhaaaaaaaaRyTw
extension_number: 12001
id: t1s55343ggfg3wwg
name: SAC Office Auto Receptionist
name: SAC office
site_code: 12
total_records: 2
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: string
sites:
description: List of site(s).
items:
properties:
country:
description: Site country
properties:
code:
description: Two lettered country [code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).
type: string
name:
description: Name of the country.
type: string
type: object
id:
description: Site ID. Unique Identifier of the site.
type: string
main_auto_receptionist:
description: Auto Receptionist for each site.
properties:
extension_id:
description: Extension ID
type: string
extension_number:
description: Extension number
type: string
id:
description: Identifier of the [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Interactive-Voice-Response-IVR-).
type: string
name:
description: Name of the auto receptionist.
type: string
type: object
name:
description: Name of the Site.
type: string
site_code:
description: Site Code
type: string
type: object
type: array
total_records:
description: Total number of records returned.
type: string
type: object
application/xml:
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: string
sites:
description: List of site(s).
items:
properties:
country:
description: Site country
properties:
code:
description: Two lettered country [code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).
type: string
name:
description: Name of the country.
type: string
type: object
id:
description: Site ID. Unique Identifier of the site.
type: string
main_auto_receptionist:
description: Auto Receptionist for each site.
properties:
extension_id:
description: Extension ID
type: string
extension_number:
description: Extension number
type: string
id:
description: Identifier of the [auto receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Interactive-Voice-Response-IVR-).
type: string
name:
description: Name of the auto receptionist.
type: string
type: object
name:
description: Name of the Site.
type: string
site_code:
description: Site Code
type: string
type: object
type: array
total_records:
description: Total number of records returned.
type: string
type: object
description: ""
summary: List phone sites
tags:
- Phone Site
post:
description: |+
Sites allow you to organize Zoom Phone users in your organization. Use this API to create a [Site](https://support.zoom.us/hc/en-us/articles/360020809672).
**Prerequisites:**
* Multiple Sites must be [enabled](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_05c88e35-1593-491f-b1a8-b7139a75dc15).
* Pro or a higher account with Zoom Phone enabled.
**Scope:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: createPhoneSite
requestBody:
content:
application/json:
schema:
properties:
auto_receptionist_name:
description: Display name of the [auto-receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Integrated-Voice-Response-IVR-) for the site.
type: string
default_emergency_address:
properties:
address_line1:
description: Address Line 1 of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address) consisting of house number and street name.
type: string
address_line2:
description: Address Line 2 of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address) consisting of Building number, floor number, unit, etc.
type: string
city:
description: City of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
type: string
country:
description: Two lettered country code (Aplha-2 code in ISO-3166) standard of the Site's [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
maxLength: 2
minLength: 2
type: string
state_code:
description: State Code of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
type: string
zip:
description: Zip Code of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
type: string
required:
- country
- address_line1
- city
- zip
- state_code
type: object
name:
description: Name of the Site.
maxLength: 255
minLength: 1
type: string
short_extension:
description: Short extension of the phone site.
properties:
length:
default: 3
description: |-
Specify the length of short extension numbers for the site.
Since there is a default 6-digit limit on extensions, the short extension can be 2 to 5 digits and the length of site code added to the length of short extension can not exceed a value of `6` (i.e., length of `site_code`+ length of `short_extension` should always be less than or equal to 6).
type: integer
type: object
site_code:
description: |+
Identifier for a site. If site code is enabled, this field is required.
type: integer
required:
- name
- auto_receptionist_name
type: object
multipart/form-data:
schema:
properties:
auto_receptionist_name:
description: Display name of the [auto-receptionist](https://support.zoom.us/hc/en-us/articles/360021121312-Managing-Auto-Receptionists-and-Integrated-Voice-Response-IVR-) for the site.
type: string
default_emergency_address:
properties:
address_line1:
description: Address Line 1 of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address) consisting of house number and street name.
type: string
address_line2:
description: Address Line 2 of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address) consisting of Building number, floor number, unit, etc.
type: string
city:
description: City of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
type: string
country:
description: Two lettered country code (Aplha-2 code in ISO-3166) standard of the Site's [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
maxLength: 2
minLength: 2
type: string
state_code:
description: State Code of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
type: string
zip:
description: Zip Code of the [emergency address](https://support.zoom.us/hc/en-us/articles/360021062871-Setting-an-Emergency-Address).
type: string
required:
- country
- address_line1
- city
- zip
- state_code
type: object
name:
description: Name of the Site.
maxLength: 255
minLength: 1
type: string
short_extension:
description: Short extension of the phone site.
properties:
length:
default: 3
description: |-
Specify the length of short extension numbers for the site.
Since there is a default 6-digit limit on extensions, the short extension can be 2 to 5 digits and the length of site code added to the length of short extension can not exceed a value of `6` (i.e., length of `site_code`+ length of `short_extension` should always be less than or equal to 6).
type: integer
type: object
site_code:
description: |+
Identifier for a site. If site code is enabled, this field is required.
type: integer
required:
- name
- auto_receptionist_name
type: object
x-examples:
application/json:
auto_receptionist_name: Benjamin
default_emergency_address:
address_line1: 100 Awesome St
address_line2: Unit 5
city: San Jose
country: US
state_code: CA
zip: "95113"
name: San Jose Site
site_code: 123
responses:
"204":
content:
application/json:
examples:
response:
value:
id: ingjgjfhi
name: San Jose Site
schema:
properties:
id:
description: "Site ID: Unique Identifier of a site."
type: string
name:
description: Name of the site.
type: string
type: object
application/xml:
schema:
properties:
id:
description: "Site ID: Unique Identifier of a site."
type: string
name:
description: Name of the site.
type: string
type: object
description: |-
**HTTP Status Code:** `204` **No Content**
Site created successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `400`
Invalid site code length.
Country information is invalid.
This address could not be validated / geocoded.
security:
- OAuth: []
summary: Create a phone site
tags:
- Phone Site
"/phone/sites/{siteId}":
delete:
description: |+
Sites allow you to organize Zoom Phone users in your organization. Use this API to delete a specific [site](https://support.zoom.us/hc/en-us/articles/360020809672) in a Zoom account. To delete a site, in the query parameter, you must provide the Site ID of another site where the assets of current site (users, numbers and phones) can be transferred to. You cannot use this API to delete the main site.
**Prerequisites:**
* Account must have a Pro or a higher plan with Zoom Phone license.
* [Multiple Sites](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) must be enabled.
**Scope:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deletePhoneSite
parameters:
- description: Unique Identifier of the Site.
in: path
name: siteId
required: true
schema:
type: string
- description: The Site ID of another site where the assets of the current site (users, numbers and phones) can be transferred to.
in: query
name: transfer_site_id
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204`
Phone Site deleted.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `400`
Unable to transfer to the same site.
Main company number can not change {phoneNumber}.
Site does not exist.
"409":
description: |-
**HTTP Status Code:** `409` **Conflict**
**Error Code:** `409`
Conflict target extension number, try later.
security:
- OAuth: []
summary: Delete a phone site
tags:
- Phone Site
get:
description: |+
Sites allow you to organize Zoom Phone users in your organization. Use this API to get information about a specific [site](https://support.zoom.us/hc/en-us/articles/360020809672).
**Prerequisites:**
* Account must have a Pro or a higher plan with Zoom Phone license.
* Multiple Sites must be [enabled](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_05c88e35-1593-491f-b1a8-b7139a75dc15).
**Scope:** `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: getASite
parameters:
- description: Unique Identifier of the Site.
in: path
name: siteId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
id: CEfghfghhWA
main_auto_receptionist:
extension_id: E6Khfghgfr8A
extension_number: 10801
id: NMyfgfhghhsVg
name: Main Auto Receptionist
name: Main Site
site_code: 10
schema:
properties:
country:
description: Site country
properties:
code:
description: Two lettered country [code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).
type: string
name:
description: Name of the country.
type: string
type: object
id:
description: Site ID. Unique Identifier of the site.
type: string
main_auto_receptionist:
description: "[Main Auto Receptionist](https://support.zoom.us/hc/en-us/articles/360021121312#h_bc7ff1d5-0e6c-40cd-b889-62010cb98c57) for each site."
properties:
extension_id:
description: Extension ID
type: string
extension_number:
description: Extension number
type: integer
id:
description: Unique Identifier of the Auto Receptionist.
type: string
name:
description: Name of the auto receptionist.
type: string
type: object
name:
description: Name of the Site.
type: string
short_extension:
description: Short extension of the phone site.
properties:
length:
default: 3
description: The length of short extension number for the site.
type: integer
type: object
site_code:
description: "[Site Code](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b)"
type: integer
type: object
application/xml:
schema:
properties:
country:
description: Site country
properties:
code:
description: Two lettered country [code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).
type: string
name:
description: Name of the country.
type: string
type: object
id:
description: Site ID. Unique Identifier of the site.
type: string
main_auto_receptionist:
description: "[Main Auto Receptionist](https://support.zoom.us/hc/en-us/articles/360021121312#h_bc7ff1d5-0e6c-40cd-b889-62010cb98c57) for each site."
properties:
extension_id:
description: Extension ID
type: string
extension_number:
description: Extension number
type: integer
id:
description: Unique Identifier of the Auto Receptionist.
type: string
name:
description: Name of the auto receptionist.
type: string
type: object
name:
description: Name of the Site.
type: string
short_extension:
description: Short extension of the phone site.
properties:
length:
default: 3
description: The length of short extension number for the site.
type: integer
type: object
site_code:
description: "[Site Code](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b)"
type: integer
type: object
description: |-
**HTTP Status Code:** `200`
Site information retrieved successfully.
"400":
description: |-
**Error Code:** `400`
Site does not exist.
security:
- OAuth: []
summary: Get phone site details
tags:
- Phone Site
parameters:
- in: path
name: siteId
required: true
schema:
type: string
patch:
description: |+
Sites allow you to organize Zoom Phone users in your organization. Use this API to update information about a specific [site](https://support.zoom.us/hc/en-us/articles/360020809672).
**Prerequisites:**
* Account must have a Pro or a higher plan with Zoom Phone license.
* **Scope:** `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: updateSiteDetails
parameters:
- description: Unique Identifier of the Site.
in: path
name: siteId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
name:
description: Name of the site.
type: string
site_code:
description: "[Site Code](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b)."
type: integer
type: object
multipart/form-data:
schema:
properties:
name:
description: Name of the site.
type: string
site_code:
description: "[Site Code](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites#h_79ca9c8f-c97b-4486-aa59-d0d9d31a525b)."
type: integer
type: object
x-examples:
application/json:
name: SJ-site
site_code: 47973154
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Site details updated successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Validation Failed. Site does not exist.
**Error Code:** `400`
Site Code is disabled.
Invalid site code length.
security:
- OAuth: []
summary: Update phone site details
tags:
- Phone Site
/phone/sms/messages: {}
/phone/sms/sessions: {}
"/phone/sms/sessions/{sessionId}": {}
"/phone/sms/sessions/{sessionId}/messages/{messageId}": {}
/phone/users:
get:
description: |-
List all the users on an account who have been assigned Zoom Phone licenses.
**Prerequisites:**
* Pro or higher plan with Zoom phone license
**Scope:** `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: listPhoneUsers
parameters:
- description: The number of records returned from a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 100
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: Unique Identifier of the site. This can be retrieved from the [List Phone Sites](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone-site/listphonesites) API.
in: query
name: site_id
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: ""
page_size: 30
total_records: 1
users:
- calling_plans:
- name: US/CA Unlimited Calling Plan
type: 200
email: sghhgghf@ghghmail.com
extension_number: 10000
id: z8ghgfh8uQ
name: Shri Shri
phone_user_id: EMhghghg5w
site:
id: CESEpjWwT-upVH7kt_ixWA
name: Main Site
status: activate
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
default: 30
description: The number of records returned from a single API call.
maximum: 100
type: integer
total_records:
description: The total records found for this query.
type: integer
users:
items:
properties:
calling_plans:
items:
properties:
name:
description: Name of the calling plan that user is enrolled in.
type: string
type:
description: Type of calling plan that user is enrolled in.
type: string
type: object
type: array
email:
description: Email address of the user.
format: email
type: string
extension_number:
description: Extension number assigned to the user's Zoom phone number.
type: integer
id:
description: Unique Identifier of the user (userId).
type: string
name:
description: Name of the user.
type: string
phone_user_id:
description: Zoom Phone Identifier of the user.
type: string
site:
properties:
id:
description: Unique Identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites).
type: string
name:
description: Name of the site.
type: string
type: object
status:
description: |-
Displays the status of the user's Zoom Phone license. The value can be either of the following:
`activate`: Active Zoom phone user.
`deactivate`: User with Zoom phone license disabled. This type of user can't make or receive calls.
type: string
type: object
type: array
type: object
application/xml:
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
default: 30
description: The number of records returned from a single API call.
maximum: 100
type: integer
total_records:
description: The total records found for this query.
type: integer
users:
items:
properties:
calling_plans:
items:
properties:
name:
description: Name of the calling plan that user is enrolled in.
type: string
type:
description: Type of calling plan that user is enrolled in.
type: string
type: object
type: array
email:
description: Email address of the user.
format: email
type: string
extension_number:
description: Extension number assigned to the user's Zoom phone number.
type: integer
id:
description: Unique Identifier of the user (userId).
type: string
name:
description: Name of the user.
type: string
phone_user_id:
description: Zoom Phone Identifier of the user.
type: string
site:
properties:
id:
description: Unique Identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites).
type: string
name:
description: Name of the site.
type: string
type: object
status:
description: |-
Displays the status of the user's Zoom Phone license. The value can be either of the following:
`activate`: Active Zoom phone user.
`deactivate`: User with Zoom phone license disabled. This type of user can't make or receive calls.
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Phone users retrieved successfully.
security:
- OAuth: []
summary: List phone users
tags:
- Phone
"/phone/users/{userId}":
get:
description: |-
Retrieve a user's [zoom phone](https://support.zoom.us/hc/en-us/articles/360001297663-Quickstart-Guide-for-Zoom-Phone-Administrators) profile.
**Scopes:** `phone:read`, `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites** :
1. Business or Enterprise account
2. A Zoom Phone license
operationId: phoneUser
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
calling_plans:
- type: 200
email: awesome@amazingemailservice.com
extension_number: 100100
id: fdjbgdfgkl0-ibkdjfg20913
phone_numbers:
- id: vigfkjnrtUernketg09
number: "+1234567890"
phone_user_id: vfjbdlgrwi902_igr
site_id: aXb1039sdjhhgdbgj4
status: activate
schema:
description: Zoom User Profile
properties:
calling_plan:
description: Calling Plan of the user
items:
properties:
type:
description: "The [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of calling plan. "
type: integer
type: object
type: array
email:
description: Email address of the user.
type: string
extension_number:
description: Extension number
type: integer
id:
description: Zoom User Id.
type: string
phone_numbers:
items:
properties:
id:
description: Phone Number Id
type: string
number:
description: Phone number
type: string
type: object
type: array
phone_user_id:
description: Zoom Phone User Id.
type: string
site_admin:
description: Indicates whether the user is a [site admin](https://support.zoom.us/hc/en-us/articles/360042099012) or not.
type: boolean
site_id:
description: Unique Identifier of a [site](https://support.zoom.us/hc/en-us/articles/360020809672).
type: string
status:
description: |-
The status of the user.
`activate`: An active user.
`deactivate`: User has been deactivated from the ZoomPhone system.
enum:
- activate
- deactivate
type: string
type: object
application/xml:
schema:
description: Zoom User Profile
properties:
calling_plan:
description: Calling Plan of the user
items:
properties:
type:
description: "The [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of calling plan. "
type: integer
type: object
type: array
email:
description: Email address of the user.
type: string
extension_number:
description: Extension number
type: integer
id:
description: Zoom User Id.
type: string
phone_numbers:
items:
properties:
id:
description: Phone Number Id
type: string
number:
description: Phone number
type: string
type: object
type: array
phone_user_id:
description: Zoom Phone User Id.
type: string
site_admin:
description: Indicates whether the user is a [site admin](https://support.zoom.us/hc/en-us/articles/360042099012) or not.
type: boolean
site_id:
description: Unique Identifier of a [site](https://support.zoom.us/hc/en-us/articles/360020809672).
type: string
status:
description: |-
The status of the user.
`activate`: An active user.
`deactivate`: User has been deactivated from the ZoomPhone system.
enum:
- activate
- deactivate
type: string
type: object
description: "**HTTP Status Code:** `200` User profile object returned. "
"300":
description: "**Error code:** `300` User does not belong to this account."
"404":
description: |-
**HTTP Status Code:** `404`
**Error code**: `1001` User does not exist: {userId}.
security:
- OAuth: []
summary: Get user's profile
tags:
- Phone
parameters:
- in: path
name: userId
required: true
schema:
type: string
patch:
description: |-
Update a [Zoom Phone](https://support.zoom.us/hc/en-us/categories/360001370051-Zoom-Phone) user's profile.
**Scopes:** `phone:write` `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisite:**
1. Business or Enterprise account
2. A Zoom Phone license
operationId: updateUserProfile
requestBody:
content:
application/json:
schema:
properties:
extension_number:
description: The extension number of the user. The number must be complete (i.e. site number + short extension).
type: string
site_id:
description: "Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672) where the user should be moved or assigned. "
type: string
type: object
multipart/form-data:
schema:
properties:
extension_number:
description: The extension number of the user. The number must be complete (i.e. site number + short extension).
type: string
site_id:
description: "Unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672) where the user should be moved or assigned. "
type: string
type: object
x-examples:
application/json:
extension_number: "101010"
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204`
Profile updated.
"300":
description: |-
**Error Code**: `300`
User does not belong to this account.
"400":
description: |-
**HTTP Status Code:** `400`
Extension number {extensionNumber} is already in use.
security:
- OAuth: []
summary: Update user's profile
tags:
- Phone
"/phone/users/{userId}/call_logs":
get:
description: |-
Retrieve a [zoom phone](https://support.zoom.us/hc/en-us/articles/360001297663-Quickstart-Guide-for-Zoom-Phone-Administrators) user's call logs.
**Scopes:** `phone:read`, `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisite:**
1. Business or Enterprise account
2. A Zoom Phone license
operationId: phoneUserCallLogs
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
- in: query
name: type
schema:
enum:
- all
- missed
type: string
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: Filter API responses to include call logs of only the phone number defined in this field.
in: query
name: phone_number
schema:
type: string
- description: Enables you to sort call logs by start or end time. Choose the sort time value. Values include `startTime` or `endTime`.
in: query
name: time_type
schema:
default: startTime
enum:
- startTime
- endTime
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
call_logs:
- call_type: voip
callee_name: somename
callee_number: "34567889"
callee_number_type: "2"
caller_name: ullamconame
caller_number: "12345678"
caller_number_type: "1"
date_time: 2019-05-19T20:00:00Z
direction: inbound
duration: 18677470
id: sjbkfdsbfsdf
result: no_answer
from: 2019-05-19
page_count: 0
page_number: 1
page_size: 30
to: 2019-05-20
total_records: 0
schema:
description: Phone User Call Logs
properties:
call_logs:
description: Call Log
items:
properties:
accepted_by:
description: Indicates who accepted the call.
properties:
extension_number:
type: string
location:
type: string
name:
type: string
number_type:
type: string
phone_number:
type: string
type: object
call_id:
description: Unique identifier of the phone call.
type: string
callee_name:
description: Contact name of callee
type: string
callee_number:
description: Number of callee
type: string
callee_number_type:
description: Type of callee's number. 1 - internal | 2 - external
type: string
caller_name:
description: Contact name of caller
type: string
caller_number:
description: Number of caller
type: string
caller_number_type:
description: Type of caller's number. 1 - internal | 2 - external
type: string
charge:
description: Billing charge for the call.
type: string
client_code:
description: Client code.
type: string
date_time:
description: Start time of the call
type: string
direction:
description: Direction of the call. "inbound" | "outbound"
type: string
duration:
description: Duration of the call in seconds.
type: integer
forwarded_by:
description: Indicates where the call was forwarded from.
properties:
extension_number:
type: string
location:
type: string
name:
type: string
number_type:
type: string
phone_number:
type: string
type: object
forwarded_to:
description: Indicates who the call was forwarded to.
properties:
extension_number:
type: string
location:
type: string
name:
type: string
number_type:
type: string
phone_number:
type: string
type: object
has_recording:
description: Whether the call has a recording or not.
type: boolean
has_voicemail:
description: Whether the call has voicemail or not.
type: boolean
id:
description: Call Log ID
type: string
outgoing_by:
properties:
extension_number:
type: string
location:
type: string
name:
type: string
number_type:
type: string
phone_number:
type: string
type: object
path:
description: Path of the call log.
type: string
rate:
description: Billing rate for the call.
type: string
recording_type:
description: |-
Recording type.
* `1` - On-demand recording.
* `2` - Automatic recording.
type: string
result:
description: Result of the call. "call_connected" | "recorded" | "no_answer"
type: string
site:
properties:
id:
description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
type: string
name:
description: Name of the site where the phone number is assigned.
type: string
type: object
user_id:
description: User ID or user email.
type: string
waiting_time:
description: Waiting time for the call, in seconds.
type: integer
type: object
type: array
from:
description: Date from which you would like to view the logs.
type: string
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: Total number of pages
type: integer
page_size:
description: The number of records returned within a single API call for each page.
type: integer
to:
description: Date up to which you would like to view the phone log.
type: string
total_records:
description: The total number of records returned.
type: integer
type: object
application/xml:
schema:
description: Phone User Call Logs
properties:
call_logs:
description: Call Log
items:
properties:
accepted_by:
description: Indicates who accepted the call.
properties:
extension_number:
type: string
location:
type: string
name:
type: string
number_type:
type: string
phone_number:
type: string
type: object
call_id:
description: Unique identifier of the phone call.
type: string
callee_name:
description: Contact name of callee
type: string
callee_number:
description: Number of callee
type: string
callee_number_type:
description: Type of callee's number. 1 - internal | 2 - external
type: string
caller_name:
description: Contact name of caller
type: string
caller_number:
description: Number of caller
type: string
caller_number_type:
description: Type of caller's number. 1 - internal | 2 - external
type: string
charge:
description: Billing charge for the call.
type: string
client_code:
description: Client code.
type: string
date_time:
description: Start time of the call
type: string
direction:
description: Direction of the call. "inbound" | "outbound"
type: string
duration:
description: Duration of the call in seconds.
type: integer
forwarded_by:
description: Indicates where the call was forwarded from.
properties:
extension_number:
type: string
location:
type: string
name:
type: string
number_type:
type: string
phone_number:
type: string
type: object
forwarded_to:
description: Indicates who the call was forwarded to.
properties:
extension_number:
type: string
location:
type: string
name:
type: string
number_type:
type: string
phone_number:
type: string
type: object
has_recording:
description: Whether the call has a recording or not.
type: boolean
has_voicemail:
description: Whether the call has voicemail or not.
type: boolean
id:
description: Call Log ID
type: string
outgoing_by:
properties:
extension_number:
type: string
location:
type: string
name:
type: string
number_type:
type: string
phone_number:
type: string
type: object
path:
description: Path of the call log.
type: string
rate:
description: Billing rate for the call.
type: string
recording_type:
description: |-
Recording type.
* `1` - On-demand recording.
* `2` - Automatic recording.
type: string
result:
description: Result of the call. "call_connected" | "recorded" | "no_answer"
type: string
site:
properties:
id:
description: Target [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-Multiple-Sites) in which the phone number was assigned. Sites allow you to organize the phone users in your organization. For example, you sites could be created based on different office locations.
type: string
name:
description: Name of the site where the phone number is assigned.
type: string
type: object
user_id:
description: User ID or user email.
type: string
waiting_time:
description: Waiting time for the call, in seconds.
type: integer
type: object
type: array
from:
description: Date from which you would like to view the logs.
type: string
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: Total number of pages
type: integer
page_size:
description: The number of records returned within a single API call for each page.
type: integer
to:
description: Date up to which you would like to view the phone log.
type: string
total_records:
description: The total number of records returned.
type: integer
type: object
description: |-
**HTTP Status code:** `200`
User's call logs returned.
"300":
description: |-
**Error Code:** `300`
User does not belong to this account.
"404":
description: |-
**HTTP Status code:** `404`
**Error Code:** `300`
User does not exist: {userId}.
security:
- OAuth: []
summary: Get user's call logs
tags:
- Phone
"/phone/users/{userId}/call_logs/{callLogId}":
delete:
description: |-
Delete a user's [call log](https://support.zoom.us/hc/en-us/articles/360021114452-Viewing-and-identifying-logs).
**Scopes:** `phone:write`, `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
1. User must belong to a Business or an Enterprise account.
2. User must hold a Zoom Phone license.
operationId: deleteCallLog
parameters:
- description: The user ID or email address of the user.
in: path
name: userId
required: true
schema:
type: string
- description: Unique identifier of the call log. The value for this field can be retrieved from [account's call logs](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone/accountcalllogs) or [user's call logs](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone/phoneusercalllogs).
in: path
name: callLogId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |
**HTTP Status Code**: `204`
Log deleted.
"401":
description: |-
**HTTP Status Code**: `404`
**Error Code**: `124`
Account does not exist: {accountId}.
"404":
description: |+
**HTTP Status Code**: `404`
Call log information was not found for the following callLogId: {callLogId}.
summary: Delete a user's call log
tags:
- Phone
parameters:
- in: path
name: userId
required: true
schema:
type: string
- in: path
name: callLogId
required: true
schema:
type: string
"/phone/users/{userId}/calling_plans":
parameters:
- in: path
name: userId
required: true
schema:
type: string
post:
description: |+
Assign [calling plan](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) to a [Zoom Phone](https://support.zoom.us/hc/en-us/categories/360001370051-Zoom-Phone) user.
**Scopes**: `phone:write` `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisite:**
1. Business or Enterprise account
2. A Zoom Phone license
operationId: assignCallingPlan
requestBody:
content:
application/json:
schema:
properties:
calling_plans:
items:
properties:
type:
description: "[Type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of the calling plan."
type: string
type: object
type: array
type: object
multipart/form-data:
schema:
properties:
calling_plans:
items:
properties:
type:
description: "[Type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of the calling plan."
type: string
type: object
type: array
type: object
x-examples:
application/json:
calling_plans:
- type: "100"
- type: "200"
responses:
"200":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status code:** `200`
Calling plan assigned successfully.
"300":
description: |-
**Error Code:** `300`
User does not belong to this account.
"404":
description: |-
**HTTP Status code:** `404`
**Error Code:** `1001`
User does not exist:{userId}.
security:
- OAuth: []
summary: Assign calling plan to a user
tags:
- Phone
"/phone/users/{userId}/calling_plans/{type}":
delete:
description: |-
Unassign a [calling plan](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) that was previously assigned to a [Zoom Phone](https://support.zoom.us/hc/en-us/categories/360001370051) user.
**Scopes**: `phone:write` `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisite:**
1. Business or Enterprise account
2. A Zoom Phone license
operationId: unassignCallingPlan
parameters:
- description: |
The [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-phone-calling-plans) of the calling plan that was assigned to user. (e.g: The value of type would be "200" for Unlimited US/Canada calling plan.)
in: path
name: type
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204`
Calling plan unassigned successfully.
"300":
description: |-
**Error Code:** `300`
User does not belong to this account.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `1001`
User does not exist:{userId}.
security:
- OAuth: []
summary: Unassign user's calling plan
tags:
- Phone
parameters:
- in: path
name: userId
required: true
schema:
type: string
- in: path
name: type
required: true
schema:
type: string
"/phone/users/{userId}/phone_numbers":
parameters:
- in: path
name: userId
required: true
schema:
type: string
post:
description: |-
Assign a [phone number](https://support.zoom.us/hc/en-us/articles/360020808292-Managing-Phone-Numbers) to a user who has already enabled Zoom Phone.
**Scopes**: `phone:write` `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisite:**
1. Business or Enterprise account
2. A Zoom Phone license
operationId: assignPhoneNumber
requestBody:
content:
application/json:
schema:
properties:
phone_numbers:
items:
properties:
id:
description: ID for phone number
type: string
number:
description: Phone number in E164 format.
type: string
type: object
type: array
type: object
multipart/form-data:
schema:
properties:
phone_numbers:
items:
properties:
id:
description: ID for phone number
type: string
number:
description: Phone number in E164 format.
type: string
type: object
type: array
type: object
description: Provide either an id or a number in the request body.
x-examples:
application/json:
phone_numbers:
- id: djkfsd13
responses:
"200":
content:
application/json:
examples:
response:
value:
phone_numbers:
- id: djkfsd13
number: "+123456789"
schema:
properties:
phone_numbers:
description: Assigned phone number
items:
properties:
id:
description: ID of the phone number
type: string
number:
description: The phone number that is assigned to the user.
type: string
type: object
type: array
type: object
application/xml:
schema:
properties:
phone_numbers:
description: Assigned phone number
items:
properties:
id:
description: ID of the phone number
type: string
number:
description: The phone number that is assigned to the user.
type: string
type: object
type: array
type: object
description: |
**HTTP Status Code:** `200`
Phone number assigned successfully.
"300":
description: |
**Error Code:** `300`
User does not belong to this account.
Validation Failed. Phone number has already been assigned.
"400":
description: |-
**HTTP Status Code:** `400`
User does not have a calling plan.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `1001` This user does not exist: {userId}.
security:
- OAuth: []
summary: Assign phone number to user
tags:
- Phone
"/phone/users/{userId}/phone_numbers/{phoneNumberId}":
delete:
description: |-
Unassign [phone number](https://support.zoom.us/hc/en-us/articles/360020808292-Managing-Phone-Numbers#h_38ba8b01-26e3-4b1b-a9b5-0717c00a7ca6) of a Zoom phone user.
After assigning a phone number, you can remove it if you don't want it to be assigned to anyone.
**Scopes**: `phone:write` `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisite:**
1. Business or Enterprise account
2. A Zoom Phone license
3. User must have been previously assigned a Zoom Phone number.
operationId: UnassignPhoneNumber
parameters:
- description: Provide either userId or email address of the user.
in: path
name: userId
required: true
schema:
type: string
- description: "Provide either phone number or phoneNumberId of the user. "
in: path
name: phoneNumberId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204`
The phone number has been unassigned successfully.
"300":
description: |-
**Error Code:** `300`
User does not belong to this account.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `1001`
User does not exist.
security:
- OAuth: []
summary: Unassign phone number
tags:
- Phone
parameters:
- in: path
name: userId
required: true
schema:
type: string
- in: path
name: phoneNumberId
required: true
schema:
type: string
"/phone/users/{userId}/recordings":
get:
description: |-
Retrieve a user's zoom [phone recordings](https://support.zoom.us/hc/en-us/articles/360021336671-Viewing-Call-History-and-Recordings).
**Scopes:** `phone:read`, `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Prerequisite:**
1. Business or Enterprise account
2. A Zoom Phone license
operationId: phoneUserRecordings
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: Start date for the query in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the response includes only one month worth of recording data. The month defined should fall within the last six months.
in: query
name: from
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
from: 2019-05-19
page_count: 0
page_number: 1
page_size: 30
recordings:
- callee_name: somename
callee_number: "34567889"
callee_number_type: "2"
caller_name: ullamconame
caller_number: "12345678"
caller_number_type: "1"
date_time: 2019-05-19T20:00:00Z
direction: inbound
download_url: somerandomdownloadurl.com
duration: 12
id: magnageUt
to: 2019-05-20
total_records: 1
schema:
description: Phone User Recordings
properties:
from:
description: Start date for the query.
format: date
type: string
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: Total number of pages.
type: integer
page_size:
description: The number of records returned within a single API call for each page.
type: integer
recordings:
description: Recordings
items:
properties:
callee_name:
description: Contact name of callee
type: string
callee_number:
description: Number of callee
type: string
callee_number_type:
description: Type of callee's number. 1 - internal | 2 - external
type: string
caller_name:
description: Contact name of caller
type: string
caller_number:
description: Number of caller
type: string
caller_number_type:
description: Type of caller's number. 1 - internal | 2 - external
type: string
date_time:
description: Date and time at which the record is received
type: string
direction:
description: Direction of the call. "inbound" | "outbound"
type: string
download_url:
description: |
Download url for the recording. For security purposes, you must provide an OAuth access token in the auth header to download the recording file using this url.
Example request:
```
curl --request GET \
--url {download_url} \
--header 'authorization: Bearer {access_token} \
--header 'content-type: application/json'
```
type: string
duration:
description: "Duration of the call formatted as hh:mm:ss, for example: `05:01` for five minutes and one second."
type: string
id:
description: ID of recording
type: string
type: object
type: array
to:
description: End date.
format: date
type: string
total_records:
description: The total number of records returned.
type: integer
type: object
application/xml:
schema:
description: Phone User Recordings
properties:
from:
description: Start date for the query.
format: date
type: string
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: Total number of pages.
type: integer
page_size:
description: The number of records returned within a single API call for each page.
type: integer
recordings:
description: Recordings
items:
properties:
callee_name:
description: Contact name of callee
type: string
callee_number:
description: Number of callee
type: string
callee_number_type:
description: Type of callee's number. 1 - internal | 2 - external
type: string
caller_name:
description: Contact name of caller
type: string
caller_number:
description: Number of caller
type: string
caller_number_type:
description: Type of caller's number. 1 - internal | 2 - external
type: string
date_time:
description: Date and time at which the record is received
type: string
direction:
description: Direction of the call. "inbound" | "outbound"
type: string
download_url:
description: |
Download url for the recording. For security purposes, you must provide an OAuth access token in the auth header to download the recording file using this url.
Example request:
```
curl --request GET \
--url {download_url} \
--header 'authorization: Bearer {access_token} \
--header 'content-type: application/json'
```
type: string
duration:
description: "Duration of the call formatted as hh:mm:ss, for example: `05:01` for five minutes and one second."
type: string
id:
description: ID of recording
type: string
type: object
type: array
to:
description: End date.
format: date
type: string
total_records:
description: The total number of records returned.
type: integer
type: object
description: |-
**HTTP Status Code:** `200`
User object returned.
"300":
description: |-
**Error code:** `300`
User does not belong to this account.
"404":
description: |-
**HTTP Status Code:** `404`
**Error code:** `1001`
User does not exist: {userId}.
security:
- OAuth: []
summary: Get user's recordings
tags:
- Phone
"/phone/users/{userId}/settings":
get:
description: |-
Retrieve a user's zoom phone profile [settings](https://support.zoom.us/hc/en-us/articles/360021325712-Configuring-Settings).
**Scopes:** `phone:read`, `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisite:**
1. Business or Enterprise account
2. A Zoom Phone license
operationId: phoneUserSettings
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
area_code: "+1"
desk_phone:
keys_positions:
primary_number: "+123456789"
outbound_caller:
number: "+123456789"
schema:
description: Phone User Setting
properties:
area_code:
description: Area Code of User
type: string
company_number:
description: The [company number](https://support.zoom.us/hc/en-us/articles/360028553691) can be used by external callers to reach your phone users (by dialing the main company number and the user's extension). It can also be used by phone users as their caller ID when making calls.
type: string
desk_phone:
description: Contains information on phones or devices provisioned for the user.
properties:
keys_positions:
properties:
primary_number:
description: Primary number of the user.
type: string
type: object
type: object
outbound_caller:
description: Outbound Caller Info
properties:
number:
description: Outbound calling number
type: string
type: object
outbound_caller_ids:
properties:
is_default:
description: Whether the outbound caller ID is the default or not. If `true`, the outbound caller ID is the default caller ID.
type: boolean
name:
description: Outbound caller name.
type: string
number:
description: Outbound caller number.
type: string
type: object
voice_mail:
description: "[Shared voicemail access](https://support.zoom.us/hc/en-us/articles/360033863991-Sharing-and-controlling-access-to-a-voicemail-inbox) assigned to user."
properties:
access_user_id:
description: The user that is allowed to access voicemail messages for the extension.
type: string
delete:
description: Specifies whether the user has delete permissions. The default is **false**.
type: boolean
download:
description: Specifies whether the user has download permissions. The default is **false**.
type: boolean
shared_id:
description: Unique identifier of the shared voicemail that the user can access.
type: string
type: object
type: object
application/xml:
schema:
description: Phone User Setting
properties:
area_code:
description: Area Code of User
type: string
company_number:
description: The [company number](https://support.zoom.us/hc/en-us/articles/360028553691) can be used by external callers to reach your phone users (by dialing the main company number and the user's extension). It can also be used by phone users as their caller ID when making calls.
type: string
desk_phone:
description: Contains information on phones or devices provisioned for the user.
properties:
keys_positions:
properties:
primary_number:
description: Primary number of the user.
type: string
type: object
type: object
outbound_caller:
description: Outbound Caller Info
properties:
number:
description: Outbound calling number
type: string
type: object
outbound_caller_ids:
properties:
is_default:
description: Whether the outbound caller ID is the default or not. If `true`, the outbound caller ID is the default caller ID.
type: boolean
name:
description: Outbound caller name.
type: string
number:
description: Outbound caller number.
type: string
type: object
voice_mail:
description: "[Shared voicemail access](https://support.zoom.us/hc/en-us/articles/360033863991-Sharing-and-controlling-access-to-a-voicemail-inbox) assigned to user."
properties:
access_user_id:
description: The user that is allowed to access voicemail messages for the extension.
type: string
delete:
description: Specifies whether the user has delete permissions. The default is **false**.
type: boolean
download:
description: Specifies whether the user has download permissions. The default is **false**.
type: boolean
shared_id:
description: Unique identifier of the shared voicemail that the user can access.
type: string
type: object
type: object
description: |-
**HTTP Status Code:** `200`
User Setting object returned.
"300":
description: |-
**Error Code:** `300`
User does not belong to this account.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `1001`
User does not exist: {userId}.
security:
- OAuth: []
summary: Get user's settings
tags:
- Phone
"/phone/users/{userId}/settings/{settingType}":
delete:
description: |+
Remove the shared voicemail access settings that were previously assigned to a user.
To view these settings in your Zoom web portal, navigate to **Admin >Phone System Management> Users & Rooms**. Click the **Users** tab and select **User Settings**. Scroll down to **Voicemail & Call Recordings**.
**Scope**: `phone:write:admin`
**Prerequisites**:
* Business or enterprise Account
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteUserSetting
parameters:
- description: Unique identifier of the user.
in: path
name: userId
required: true
schema:
type: string
- description: "Corresponds to the setting item you wish to remove. Allowed values: `voice_mail`"
in: path
name: settingType
required: true
schema:
type: string
- description: Required only for voicemail setting type.
in: query
name: shared_id
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204`
No Content
"400":
description: |-
**HTTP Status Codes** `404`
Voicemail option has been disabled.
**Error Code:** `300`
Invalid user sub setting type.
"404":
description: |-
**HTTP Status Codes** `404`
Shared voicemail does not exist:{shared_id}
**Error Code:** `1001`
User does not exist: {userId}
security:
- OAuth: []
summary: Remove shared access
tags:
- Phone
patch:
description: |-
Phone users can access [shared voicemail inboxes](https://support.zoom.us/hc/en-us/articles/360033863991-Sharing-and-controlling-access-to-a-voicemail-inbox) in the Zoom desktop client, web portal, or provisioned desk phone. Use this API to update the voicemail access permissions of a user.
To view these settings in the Zoom web portal, navigate to **Admin >Phone System Management> Users & Rooms**. Click the **Users** tab and select **User Settings**. Scroll down to **Voicemail & Call Recordings**.
**Scope**: `phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites**:
Business or Enterprise Account
operationId: updateUserSetting
parameters:
- description: "Corresponds to the setting item you wish to modify. Allowed values: `voice_mail`"
in: path
name: settingType
required: true
schema:
type: string
- description: Unique identifier of the user.
in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
voice_mail:
description: Update the voicemail setting.
properties:
access_user_id:
description: Specify the user ID of the user whose voicemail permissions need to be updated.
type: string
delete:
description: Specify whether the user has delete permissions. The default is **false**.
type: boolean
download:
description: Specify whether the user has download permissions. The default is **false**.
type: boolean
shared_id:
description: |-
Specify the ID of the voicemail.
type: string
type: object
type: object
multipart/form-data:
schema:
properties:
voice_mail:
description: Update the voicemail setting.
properties:
access_user_id:
description: Specify the user ID of the user whose voicemail permissions need to be updated.
type: string
delete:
description: Specify whether the user has delete permissions. The default is **false**.
type: boolean
download:
description: Specify whether the user has download permissions. The default is **false**.
type: boolean
shared_id:
description: |-
Specify the ID of the voicemail.
type: string
type: object
type: object
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204`
No Content
"400":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |-
**HTTP Response Code:** `400`
Voicemail option has been disabled.
**Error Code:** `300`
Invalid user setting Type: {settingType}.
"404":
description: |-
**HTTP Status Code:** `404`
Shared voicemail does not exist: {shared_id}.
**Error Code:** `1001`
User does not exist: {userId}.
security:
- OAuth: []
summary: Update shared access
tags:
- Phone
post:
description: |-
Phone users can access [shared voicemail inboxes](https://support.zoom.us/hc/en-us/articles/360033863991-Sharing-and-controlling-access-to-a-voicemail-inbox) in the Zoom desktop client, web portal, or provisioned desk phone. Use this API to define the voicemail access permissions of a user.
To view these settings in the Zoom web portal, navigate to **Admin >Phone System Management> Users & Rooms**. Click the **Users** tab and select **User Settings**. Scroll down to **Voicemail & Call Recordings**.
**Scope**:`phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites**:
Business or Enterprise Account
operationId: addUserSetting
parameters:
- description: Unique identifier of the user.
in: path
name: userId
required: true
schema:
type: string
- description: "Corresponds to the setting item you wish to modify. Allowed values: `voice_mail`"
in: path
name: settingType
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
voice_mail:
description: Update the voicemail setting.
properties:
access_user_id:
description: "Specify the user ID of a user with whom to share voicemail access permissions. "
type: string
delete:
description: Specifies whether the user has delete permissions. The default is **false**.
type: boolean
download:
description: Specifies whether the user has download permissions. The default is **false**.
type: boolean
type: object
type: object
multipart/form-data:
schema:
properties:
voice_mail:
description: Update the voicemail setting.
properties:
access_user_id:
description: "Specify the user ID of a user with whom to share voicemail access permissions. "
type: string
delete:
description: Specifies whether the user has delete permissions. The default is **false**.
type: boolean
download:
description: Specifies whether the user has download permissions. The default is **false**.
type: boolean
type: object
type: object
x-examples:
application/json:
voice_mail:
access_user_id: sdfw35sdfd
delete: false
download: true
responses:
"201":
content:
application/json:
examples:
response:
value:
access_user_id: "12"
permission:
- delete: "false"
download: "false"
voice_mail: voicemailtest
schema:
properties:
voice_mail:
properties:
access_user_id:
description: The user that is allowed to access voicemail messages for the extension.
type: string
delete:
description: Specifies whether the user has delete permissions. The default is **false**.
type: boolean
download:
description: Specifies whether the user has download permissions. The default is **false**.
type: boolean
shared_id:
description: Unique identifier of the voicemail that the user can access.
type: string
type: object
type: object
application/xml:
schema:
properties:
voice_mail:
properties:
access_user_id:
description: The user that is allowed to access voicemail messages for the extension.
type: string
delete:
description: Specifies whether the user has delete permissions. The default is **false**.
type: boolean
download:
description: Specifies whether the user has download permissions. The default is **false**.
type: boolean
shared_id:
description: Unique identifier of the voicemail that the user can access.
type: string
type: object
type: object
description: |-
**HTTP Status Code** `201`
Created Successfully.
"400":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Response Code:** `400`
Voicemail option has been disabled.
**Error Code:** `300`
Invalid user sub setting type.
Voicemail has already been shared to the user.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `1001`
User does not exist: {userId}.
security:
- OAuth: []
summary: Set up shared access
tags:
- Phone
"/phone/users/{userId}/sms/sessions": {}
"/phone/users/{userId}/voice_mails":
get:
description: |-
Retrieve a user's Zoom Phone voicemails.
**Scopes:** `phone:read`, `phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Prerequisite:**
1. Business or Enterprise account
2. A Zoom Phone license
operationId: phoneUserVoiceMails
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: Status of the voice mail
in: query
name: status
schema:
default: all
enum:
- all
- read
- unread
type: string
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: Start date for the query in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the response includes only one month worth of voicemail data. The month defined should fall within the last six months.
in: query
name: from
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
page_count: 0
page_number: 1
page_size: 30
total_records: 1
voice_mails:
- callee_name: somename
callee_number: "34567889"
callee_number_type: "2"
caller_name: ullamconame
caller_number: "12345678"
caller_number_type: "1"
date_time: 2019-05-19T20:00:00Z
download_url: ani_maborumu7labojgde.com
duration: 18:07
id: Excepteur
status: read
schema:
description: Phone User Voice Mails
properties:
from:
description: Start date for the query.
format: date
type: string
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: Total number of page
type: integer
page_size:
description: Size of each page
type: integer
to:
description: End date.
format: date
type: string
total_records:
description: Total number of records
type: integer
voice_mails:
description: Voice Mails
items:
properties:
callee_name:
description: Contact name of callee
type: string
callee_number:
description: Number of callee
type: string
callee_number_type:
description: Type of callee's number. 1 - internal | 2 - external
type: string
caller_name:
description: Contact name of caller
type: string
caller_number:
description: "Number of caller "
type: string
caller_number_type:
description: Type of caller's number. 1 - internal | 2 - external
type: string
date_time:
description: Date the voice mail started
type: string
download_url:
description: Download url of attachment
type: string
duration:
description: "Duration of the voice mail, formatted as hh:mm:ss, for example: `06:30` for six minutes and thirty seconds."
type: string
id:
description: Id of voice mail
type: string
status:
description: Status of the voice mail. Can be either 'read' or 'unread'
enum:
- read
- unread
type: string
type: object
type: array
type: object
application/xml:
schema:
description: Phone User Voice Mails
properties:
from:
description: Start date for the query.
format: date
type: string
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: Total number of page
type: integer
page_size:
description: Size of each page
type: integer
to:
description: End date.
format: date
type: string
total_records:
description: Total number of records
type: integer
voice_mails:
description: Voice Mails
items:
properties:
callee_name:
description: Contact name of callee
type: string
callee_number:
description: Number of callee
type: string
callee_number_type:
description: Type of callee's number. 1 - internal | 2 - external
type: string
caller_name:
description: Contact name of caller
type: string
caller_number:
description: "Number of caller "
type: string
caller_number_type:
description: Type of caller's number. 1 - internal | 2 - external
type: string
date_time:
description: Date the voice mail started
type: string
download_url:
description: Download url of attachment
type: string
duration:
description: "Duration of the voice mail, formatted as hh:mm:ss, for example: `06:30` for six minutes and thirty seconds."
type: string
id:
description: Id of voice mail
type: string
status:
description: Status of the voice mail. Can be either 'read' or 'unread'
enum:
- read
- unread
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
User object returned.
"300":
description: |-
**Error Code:** 300
User does not belong to account.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** 1001
User does not exist: {userId}
security:
- OAuth: []
summary: Get user's voicemails
tags:
- Phone
"/phone/voice_mails/{voicemailId}":
delete:
description: |+
Delete a [voicemail message](https://support.zoom.us/hc/en-us/articles/360021400211-Managing-voicemail-messages) from a Zoom account.
**Scope:** `phone:write:admin` or `phone:write`
**Prerequisite**:
* The account must have activted Zoom Phone license.
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteVoicemail
parameters:
- description: Unique identifier of the voicemail. Retrieve the value for this field by calling the [Get voicemails](https://marketplace.zoom.us/docs/api-reference/zoom-api/phone/phoneuservoicemails) API.
in: path
name: voicemailId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Voicemail deleted.
"401":
description: |+
**HTTP Status Code:** `401` **Unauthorized**
**Error Code:** `124`
Account does not exist: {accountId}.
"404":
description: |+
**HTTP Status Code:** `404` **Not Found**
Voice mail does not exist: {voicemailId}.
summary: Delete a voicemail
tags:
- Phone
parameters:
- in: path
name: voicemailId
required: true
schema:
type: string
/report/activities:
get:
description: |-
Retrieve a list of sign in / sign out activity logs [report](https://support.zoom.us/hc/en-us/articles/201363213-Getting-Started-with-Reports) of users under a Zoom account.
**Prerequisites**
* Pro or higher plan.
**Scopes:** `report:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: reportSignInSignOutActivities
parameters:
- description: Start date for which you would like to view the activity logs report. Using the `from` and `to` parameters, specify a monthly date range for the report as the API only provides one month worth of data in one request. The specified date range should fall within the last six months.
in: query
name: from
schema:
format: date
type: string
- description: End date up to which you would like to view the activity logs report.
in: query
name: to
schema:
format: date
type: string
- description: The number of records to be returned within a single API call
in: query
name: page_size
schema:
type: integer
- description: Next page token is used to paginate through large result sets
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value: |-
{
"email": "sfkjsldfhjdsf@dskjflhdsf.com",
"time": "2019-09-15T20:56:09Z",
"type": "Sign in",
"ip_address": "38.99.100.6",
"client_type": "Browser",
"version": "-"
},
{
"email": "dfdsfdfdf@gidfdfdl.com",
"time": "2019-09-15T19:13:41Z",
"type": "Sign in",
"ip_address": "38.99.100.6",
"client_type": "Browser",
"version": "-"
},
{
"email": "fdfdfdf@gfdgfdgdsfg.com",
"time": "2019-09-15T18:50:15Z",
"type": "Sign out",
"ip_address": "38.99.100.6",
"client_type": "Browser",
"version": "-"
}
schema:
description: Report object
properties:
activity_logs:
description: Array of activity logs.
items:
properties:
client_type:
description: The client interface type using which the activity was performed.
type: string
email:
description: "Email address of the user used for the activity. "
type: string
ip_address:
description: The IP address of the user's device.
type: string
time:
description: "Time during which the activity occurred. "
format: date-time
type: string
type:
description: "The type of activity: `Sign in`: Sign in activity by user. `Sign out`: Sign out activity by user."
type: string
version:
description: Zoom client version of the user.
type: string
type: object
type: array
from:
description: Start date from which you want the activity logs report to be generated.
type: string
next_page_token:
description: Next page token is used to paginate through large result sets.
type: string
page_size:
description: The number of records returned within a single API call.
type: string
to:
description: End date until which you want the activity logs report to be generated
type: string
type: object
application/xml:
schema:
description: Report object
properties:
activity_logs:
description: Array of activity logs.
items:
properties:
client_type:
description: The client interface type using which the activity was performed.
type: string
email:
description: "Email address of the user used for the activity. "
type: string
ip_address:
description: The IP address of the user's device.
type: string
time:
description: "Time during which the activity occurred. "
format: date-time
type: string
type:
description: "The type of activity: `Sign in`: Sign in activity by user. `Sign out`: Sign out activity by user."
type: string
version:
description: Zoom client version of the user.
type: string
type: object
type: array
from:
description: Start date from which you want the activity logs report to be generated.
type: string
next_page_token:
description: Next page token is used to paginate through large result sets.
type: string
page_size:
description: The number of records returned within a single API call.
type: string
to:
description: End date until which you want the activity logs report to be generated
type: string
type: object
description: |-
**HTTP Status Code:** `200`
Success
security:
- OAuth: []
summary: Get sign In / sign out activity report
tags:
- Reports
/report/billing: {}
/report/billing/invoices: {}
/report/cloud_recording:
get:
description: |-
Retrieve cloud recording usage report for a specified period. You can only get cloud recording reports that is one day ealier than the current date and for the most recent period of 6 months. The date gap between from and to dates should be smaller or equal to 30 days.
**Prerequisites**
* Pro or higher plan.
**Scopes:** `report:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: reportCloudRecording
parameters:
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
cloud_recording_storage:
- date: 2019-09-14
free_usage: 1 GB
plan_usage: "0"
usage: 29 MB
from: 2019-09-14
to: 2019-09-14
schema:
allOf:
- properties:
from:
description: Start date for this report
format: date
type: string
to:
description: End date for this report
format: date
type: string
- properties:
cloud_recording_storage:
description: Array of cloud usage objects
items:
properties:
date:
description: Date of the usage
format: date-time
type: string
free_usage:
description: Free storage
type: string
plan_usage:
description: Paid storage
type: string
usage:
description: Storage used on the date
type: string
type: array
application/xml:
schema:
allOf:
- properties:
from:
description: Start date for this report
format: date
type: string
to:
description: End date for this report
format: date
type: string
- properties:
cloud_recording_storage:
description: Array of cloud usage objects
items:
properties:
date:
description: Date of the usage
format: date-time
type: string
free_usage:
description: Free storage
type: string
plan_usage:
description: Paid storage
type: string
usage:
description: Storage used on the date
type: string
type: array
description: |-
**HTTP Status Code:** `200`
Cloud Recording Report Returned
"300":
description: |-
**HTTP Status Code:** `300`
Only provide report in recent 6 months
security:
- OAuth: []
summary: Get cloud recording usage report
tags:
- Reports
/report/daily:
get:
description: |-
Retrieve daily report to access the account-wide usage of Zoom services for each day in a given month. It lists the number of new users, meetings, participants, and meeting minutes.
**Prerequisites**
* Pro or higher plan.
**Scopes:** `report:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: reportDaily
parameters:
- description: Year for this report
in: query
name: year
schema:
type: integer
- description: Month for this report
in: query
name: month
schema:
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
dates:
- date: 2019-06-01
meeting_minutes: 100
meetings: 10
new_users: 3
participants: 20
- date: 2019-06-02
meeting_minutes: 200
meetings: 20
new_users: 0
participants: 80
- date: 2019-06-03
meeting_minutes: 380
meetings: 35
new_users: 10
participants: 100
month: 6
year: 2019
schema:
properties:
dates:
description: Array of date objects.
items:
properties:
date:
description: Date for this object.
format: date
type: string
meeting_minutes:
description: Number of meeting minutes on this date.
type: integer
meetings:
description: Number of meetings on this date.
type: integer
new_users:
description: Number of new users on this date.
type: integer
participants:
description: Number of participants on this date.
type: integer
type: object
type: array
month:
description: Month for this report.
type: integer
year:
description: Year for this report.
type: integer
application/xml:
schema:
properties:
dates:
description: Array of date objects.
items:
properties:
date:
description: Date for this object.
format: date
type: string
meeting_minutes:
description: Number of meeting minutes on this date.
type: integer
meetings:
description: Number of meetings on this date.
type: integer
new_users:
description: Number of new users on this date.
type: integer
participants:
description: Number of participants on this date.
type: integer
type: object
type: array
month:
description: Month for this report.
type: integer
year:
description: Year for this report.
type: integer
description: |-
**HTTP Status Code:** `200`
Daily report retrieved.
This is only available for paid accounts:{accountId}.
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `300`
Daily report can only be provided for a month that falls within the recent 6 months.
security:
- OAuth: []
summary: Get daily usage report
tags:
- Reports
"/report/meetings/{meetingId}":
get:
description: "Get a detailed report for a past meeting.
**Scopes:** `report:read:admin`
\\
\ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Pro or a higher plan.
\ "
operationId: reportMeetingDetails
parameters:
- description: |-
The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
duration: 11
end_time: 2019-08-14T09:05:19.754Z
id: 1000000
participants_count: 4
start_time: 2019-07-14T09:05:19.754Z
topic: Awesome meeting
total_minutes: 11
tracking_fields:
- field: Meeting Purpose
value: Sales
type: 2
user_email: officia@sdhgdfgh.fsdfs
user_name: officia
uuid: sfsdfsdfc6122222d
schema:
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: Meeting duration.
type: integer
end_time:
description: Meeting end time.
format: date-time
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
participants_count:
description: Number of meeting participants.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_minutes:
description: |-
Number of meeting minutes. This represents the total amount of meeting minutes attended by each participant including the host, for meetings hosted by the user. For instance if there were one host(named A) and one participant(named B) in a meeting, the value of total_minutes would be calculated as below:
**total_minutes** = Total Meeting Attendance Minutes of A + Total Meeting Attendance Minutes of B
type: integer
tracking_fields:
description: Tracking fields.
items:
properties:
field:
description: Tracking fields type.
type: string
value:
description: Tracking fields value.
type: string
type: object
type: array
type:
description: Meeting type.
type: integer
user_email:
description: User email.
type: string
user_name:
description: User display name.
type: string
uuid:
description: Meeting UUID. Each meeting instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
format: uuid
type: string
type: object
application/xml:
schema:
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: Meeting duration.
type: integer
end_time:
description: Meeting end time.
format: date-time
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
participants_count:
description: Number of meeting participants.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_minutes:
description: |-
Number of meeting minutes. This represents the total amount of meeting minutes attended by each participant including the host, for meetings hosted by the user. For instance if there were one host(named A) and one participant(named B) in a meeting, the value of total_minutes would be calculated as below:
**total_minutes** = Total Meeting Attendance Minutes of A + Total Meeting Attendance Minutes of B
type: integer
tracking_fields:
description: Tracking fields.
items:
properties:
field:
description: Tracking fields type.
type: string
value:
description: Tracking fields value.
type: string
type: object
type: array
type:
description: Meeting type.
type: integer
user_email:
description: User email.
type: string
user_name:
description: User display name.
type: string
uuid:
description: Meeting UUID. Each meeting instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
format: uuid
type: string
type: object
description: |-
**HTTP Status Code:** `200`
Meeting details returned.
This is only available for paid account.
"300":
description: |-
**HTTP Status Code:** `300`
Can not access meeting information:{meetingId}.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
"404":
description: |-
**HTTP Status Code:** `404`
Meeting ID not found.
**Error Code:** `3001`
Meeting {meetingId} not found or has expired.
security:
- OAuth: []
summary: Get meeting detail reports
tags:
- Reports
"/report/meetings/{meetingId}/participants":
get:
description: "Get participant report for a past meeting.
**Scopes:** `report:read:admin`
\\
\ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Pro or a higher plan.
\ "
operationId: reportMeetingParticipants
parameters:
- description: |-
The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: |+
Provide `registrant_id` as the value for this field if you would like to see the registrant ID attribute in the response of this API call. A registrant ID is a unique identifier of a [meeting registrant](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrants).
in: query
name: include_fields
schema:
enum:
- registrant_id
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: ""
page_count: "1"
page_size: "30"
participants:
- duration: 20:00
id: dskfjladjskfl
join_time: 2019-02-01T12:34:12.660Z
leave_time: 2019-03-01T12:34:12.660Z
name: Riya
user_email: riya@jdfghsdfgsd.fdjfhdf
user_id: sdfjkldsfdfgdfg
total_records: "1"
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
participants:
description: Array of meeting participant objects.
items:
properties:
customer_key:
description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
maxLength: 15
type: string
duration:
description: Participant duration.
type: integer
failover:
description: Indicates if failover happened during the meeting.
type: boolean
id:
description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank..
format: uuid
type: string
join_time:
description: Participant join time.
format: date-time
type: string
leave_time:
description: Participant leave time.
format: date-time
type: string
name:
description: Participant display name.
type: string
registrant_id:
description: Unique identifier of the registrant. This field is only returned if you entered "registrant_id" as the value of `include_fields` query parameter.
type: string
user_email:
description: Participant email.
type: string
user_id:
description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
participants:
description: Array of meeting participant objects.
items:
properties:
customer_key:
description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
maxLength: 15
type: string
duration:
description: Participant duration.
type: integer
failover:
description: Indicates if failover happened during the meeting.
type: boolean
id:
description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank..
format: uuid
type: string
join_time:
description: Participant join time.
format: date-time
type: string
leave_time:
description: Participant leave time.
format: date-time
type: string
name:
description: Participant display name.
type: string
registrant_id:
description: Unique identifier of the registrant. This field is only returned if you entered "registrant_id" as the value of `include_fields` query parameter.
type: string
user_email:
description: Participant email.
type: string
user_id:
description: Participant ID. This is a unique ID assigned to the participant joining a meeting and is valid for that meeting only.
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Meeting participants report returned.
This is only available for paid account.
"300":
description: |-
**HTTP Status Code:** `300` Cannot access meeting information:{meetingId}.
The next page token is either invalid or has expired.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
Meeting ID not found.
**Error Code:** `3001`
Meeting {MeetingId} not found or has expired.
security:
- OAuth: []
summary: Get meeting participant reports
tags:
- Reports
"/report/meetings/{meetingId}/polls":
get:
description: "Retrieve a report of [poll](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meetings) results for a past meeting.
**Scopes:** `report:read:admin`
\\
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Pro or a higher plan.
\ "
operationId: reportMeetingPolls
parameters:
- description: |-
The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
id: 123456
questions:
- email: myemail@jksdlfkjdf.djfk
name: Sam S
question_details:
- answer: I am wonderful.
question: How are you?
start_time: 2019-02-01T12:34:12.660Z
status: ended
title: Learn something new
uuid: gsdjfhsdfkhjdsf
schema:
properties:
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
questions:
description: Array of meeting question objects.
items:
properties:
email:
description: Participant email.
type: string
name:
description: Participant display name. If "anonymous" option is enabled for a [poll](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meet), the participant's polling information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
type: string
question_details:
description: Array of questions from user.
items:
properties:
answer:
description: Given answer.
type: string
date_time:
description: Date and time at which the answer to the poll was submitted.
format: date-time
type: string
polling_id:
description: Unique identifier of the poll.
type: string
question:
description: Asked question.
type: string
type: object
type: array
type: object
type: array
start_time:
description: Meeting start time.
format: date-time
type: string
uuid:
description: Meeting UUID. Each meeting instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
format: uuid
type: string
type: object
application/xml:
schema:
properties:
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
questions:
description: Array of meeting question objects.
items:
properties:
email:
description: Participant email.
type: string
name:
description: Participant display name. If "anonymous" option is enabled for a [poll](https://support.zoom.us/hc/en-us/articles/213756303-Polling-for-Meet), the participant's polling information will be kept anonymous and the value of `name` field will be "Anonymous Attendee".
type: string
question_details:
description: Array of questions from user.
items:
properties:
answer:
description: Given answer.
type: string
date_time:
description: Date and time at which the answer to the poll was submitted.
format: date-time
type: string
polling_id:
description: Unique identifier of the poll.
type: string
question:
description: Asked question.
type: string
type: object
type: array
type: object
type: array
start_time:
description: Meeting start time.
format: date-time
type: string
uuid:
description: Meeting UUID. Each meeting instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
format: uuid
type: string
type: object
description: |-
**HTTP Status Code:** `200`
Meeting polls report returned.
This is only available for paid account:{accountId}.
"404":
description: |
**HTTP Status Code:** `404`
Meeting ID not found.
**Error Code:** `3001`
Meeting {meetingId} not found or has expired.
security:
- OAuth: []
summary: Get meeting poll reports
tags:
- Reports
/report/operationlogs:
get:
description: |-
The [Operations Logs](https://support.zoom.us/hc/en-us/articles/360032748331-Operation-Logs) report allows you to audit admin and user activity, such as adding a new user, changing account settings, and deleting recordings.
Use this API to retrieve operation logs report for a specified period of time.
**Scopes:** `report:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Pro or higher plan.
operationId: reportOperationLogs
parameters:
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: |-
**Optional**
Filter your response by a category type to see reports for a specific category.
The value for this field can be one of the following: `all` `user` `user_settings` `account` `billing` `im` `recording` `phone_contacts` `webinar` `sub_account` `role` `zoom_rooms`
in: query
name: category_type
schema:
enum:
- all
- user
- user_settings
- account
- billing
- im
- recording
- phone_contacts
- webinar
- sub_account
- role
- zoom_rooms
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
from: 2019-08-14
next_page_token: czxcxdvxvddc
operation_logs:
- action: Update
category_type: User
operation_detail: "Activate User sjkfhdsf@jdfgkhgd.com "
operator: someuser@sfksfhksdfsf.com
time: 2019-08-20T19:09:01Z
- action: Update
category_type: User
operation_detail: "Deactivate User mynewemail@jdfkdshfhjdsf.ffasdm "
operator: anotheruser@sfhidshfidshufds.com
time: 2019-08-20T18:59:56Z
page_size: 30
to: 2019-09-14
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
type: string
page_size:
default: 30
description: "The amount of records returns within a single API call. "
maximum: 300
type: integer
type: object
- properties:
operation_logs:
description: Array of operation log objects
items:
properties:
action:
description: Action
type: string
category_type:
description: Category type
type: string
operation_detail:
description: Operation detail
type: string
operator:
description: The user who performed the operation.
type: string
time:
description: The time at which the operation was performed.
format: date-time
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
type: string
page_size:
default: 30
description: "The amount of records returns within a single API call. "
maximum: 300
type: integer
type: object
- properties:
operation_logs:
description: Array of operation log objects
items:
properties:
action:
description: Action
type: string
category_type:
description: Category type
type: string
operation_detail:
description: Operation detail
type: string
operator:
description: The user who performed the operation.
type: string
time:
description: The time at which the operation was performed.
format: date-time
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Operation Logs Report Returned
"300":
description: "**HTTP Status Code:** `300` Only provide report in recent 6 months"
security:
- OAuth: []
summary: Get operation logs report
tags:
- Reports
/report/telephone:
get:
description: |-
The [telephone report](https://support.zoom.us/hc/en-us/articles/206514816-Telephone-reports) allows you to view who dialed into meetings via phone (Audio Conferencing or SIP Connected Audio) and which number they dialed into and other details. Use this API to get telephone report for a specified period of time.
**Scopes:** `report:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy` **Prerequisites:**
* Pro or higher plan.
operationId: reportTelephone
parameters:
- description: |-
Audio types: `1` - Toll-free Call-in & Call-out. `2` - Toll
`3` - SIP Connected Audio
in: query
name: type
schema:
default: "1"
enum:
- 1
- 3
type: string
x-enum-descriptions:
- Toll-free Call-in & Call-out
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: |-
**Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
The page number of the current page in the returned records.
in: query
name: page_number
schema:
default: 1
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value: |-
{
"from": "2019-06-20",
"to": "2019-07-20",
"page_count": 1,
"page_number": 1,
"page_size": 30,
"total_records": 1,
"telephony_usage": [
{
"meeting_id": 00000,
"phone_number": "000002001",
"host_name": "minim c",
"host_email": "nadhkasdg@jdskfhdsf.hjhj",
"dept": "Billing",
"start_time": "2019-07-15T23:24:52Z",
"end_time": "2019-07-15T23:30:19Z",
"duration": 6,
"total": 11,
"country_name": "nulla laboris cillum",
"meeting_type": "voluptate",
"call_in_number": "occaecat et reprehenderit"
}
]
}
schema:
allOf:
- properties:
from:
description: Start date for this report.
format: date
type: string
next_page_token:
default: 1
description: The page number of the current results.
type: integer
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
to:
description: End date for this report.
format: date
type: string
total_records:
description: The total number of all the records available across pages.
type: integer
- properties:
telephony_usage:
description: Array of telephony objects.
items:
properties:
call_in_number:
description: Caller's call-in number.
type: string
country_name:
description: Country name.
type: string
dept:
description: User department.
type: string
duration:
description: Call leg duration
type: integer
end_time:
description: Call leg end time
format: date-time
type: string
host_email:
description: User email.
type: string
host_id:
description: The user ID of the meeting host.
type: string
host_name:
description: User display name.
type: string
meeting_id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
meeting_type:
description: Meeting type.
type: string
phone_number:
description: "Toll-free telephone number. "
type: string
rate:
description: Calling rate for the telephone call.
type: number
signaled_number:
description: "The number that is signaled to Zoom. "
type: string
start_time:
description: Call leg start time
format: date-time
type: string
total:
description: Total cost (USD) for Call Out. Calculated as plan rate by duration.
type: number
type:
description: Call type.
enum:
- toll-free
- call-out
- call-in
- US toll-number
- global toll-number
- premium
- premium call-in
type: string
uuid:
description: Meeting UUID.
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- properties:
from:
description: Start date for this report.
format: date
type: string
next_page_token:
default: 1
description: The page number of the current results.
type: integer
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
to:
description: End date for this report.
format: date
type: string
total_records:
description: The total number of all the records available across pages.
type: integer
- properties:
telephony_usage:
description: Array of telephony objects.
items:
properties:
call_in_number:
description: Caller's call-in number.
type: string
country_name:
description: Country name.
type: string
dept:
description: User department.
type: string
duration:
description: Call leg duration
type: integer
end_time:
description: Call leg end time
format: date-time
type: string
host_email:
description: User email.
type: string
host_id:
description: The user ID of the meeting host.
type: string
host_name:
description: User display name.
type: string
meeting_id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
meeting_type:
description: Meeting type.
type: string
phone_number:
description: "Toll-free telephone number. "
type: string
rate:
description: Calling rate for the telephone call.
type: number
signaled_number:
description: "The number that is signaled to Zoom. "
type: string
start_time:
description: Call leg start time
format: date-time
type: string
total:
description: Total cost (USD) for Call Out. Calculated as plan rate by duration.
type: number
type:
description: Call type.
enum:
- toll-free
- call-out
- call-in
- US toll-number
- global toll-number
- premium
- premium call-in
type: string
uuid:
description: Meeting UUID.
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Telephone report returned.
This is only available for paid account:{accountId}.
The requested report cannot be generated for this account because this account has not subscribed to toll-free audio conference plan.
Toll Report feature must be enabled to perform this action. Contact the Zoom Support team for help.
security:
- OAuth: []
summary: Get telephone reports
tags:
- Reports
/report/users:
get:
description: |-
A user is considered to be an active host during the month specified in the "from" and "to" range, if the user has hosted at least one meeting during this period. If the user didn't host any meetings during this period, the user is considered to be inactive. The Active Hosts report displays a list of meetings, participants, and meeting minutes for a specific time range, up to one month. The month should fall within the last six months. The Inactive Hosts report pulls a list of users who were not active during a specific period of time.
Use this API to retrieve an active or inactive host report for a specified period of time. The time range for the report is limited to a month and the month should fall under the past six months. You can specify the type of report and date range using the query parameters.
**Scopes:** `report:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Pro or higher plan.
operationId: reportUsers
parameters:
- description: Active or inactive hosts. `active` - Active hosts. `inactive` - Inactive hosts.
in: query
name: type
schema:
enum:
- active
- inactive
type: string
x-enum-descriptions:
- Active hosts
- Inactive hosts
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The page number of the current page in the returned records.
in: query
name: page_number
schema:
default: 1
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
from: 2019-08-14
page_count: 1
page_number: 1
page_size: 30
to: 2019-09-14
total_meeting_minutes: 10
total_meetings: 2
total_participants: 10
total_records: 3
users:
- create_time: 2019-09-13T16:20:30Z
dept: ""
email: reag12343@gmail.com
id: BzBAAAAAAAfprg
last_client_version: 4.4.1242.0623(win)
last_login_time: 2019-09-13T16:21:40Z
meeting_minutes: 5
meetings: 1
participants: 5
type: 1
user_name: cbcvbvcbvbc
- create_time: 2019-07-23T00:27:34Z
dept: Business
email: mynewemailgoog@gmail.com
id: 0CAAAAA6jxcA
last_client_version: 4.4.1242.0623(win)
last_login_time: 2019-07-23T00:28:00Z
meeting_minutes: 0
meetings: 0
participants: 0
type: 1
user_name: xgdzgdfg
schema:
allOf:
- properties:
from:
description: Start date for this report.
format: date
type: string
next_page_token:
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
to:
description: End date for this report.
format: date
type: string
total_records:
description: The total number of all the records available across pages.
type: integer
- properties:
total_meeting_minutes:
description: Number of meeting minutes for this range.
type: integer
total_meetings:
description: Number of meetings for this range.
type: integer
total_participants:
description: Number of participants for this range.
type: integer
users:
description: Array of user objects.
items:
properties:
custom_attributes:
description: Custom attribute(s) that have been assigned to the user.
properties:
key:
description: Identifier for the custom attribute.
type: string
name:
description: Name of the custom attribute.
type: string
value:
description: Value of the custom attribute.
type: string
type: object
dept:
description: User department.
type: string
email:
description: User email.
type: string
id:
description: User ID.
format: uuid
type: string
meeting_minutes:
description: Number of meeting minutes for user.
type: integer
meetings:
description: Number of meetings for user.
type: integer
participants:
description: Number of participants in meetings for user.
type: integer
type:
description: User type.
type: integer
user_name:
description: User display name.
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- properties:
from:
description: Start date for this report.
format: date
type: string
next_page_token:
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
to:
description: End date for this report.
format: date
type: string
total_records:
description: The total number of all the records available across pages.
type: integer
- properties:
total_meeting_minutes:
description: Number of meeting minutes for this range.
type: integer
total_meetings:
description: Number of meetings for this range.
type: integer
total_participants:
description: Number of participants for this range.
type: integer
users:
description: Array of user objects.
items:
properties:
custom_attributes:
description: Custom attribute(s) that have been assigned to the user.
properties:
key:
description: Identifier for the custom attribute.
type: string
name:
description: Name of the custom attribute.
type: string
value:
description: Value of the custom attribute.
type: string
type: object
dept:
description: User department.
type: string
email:
description: User email.
type: string
id:
description: User ID.
format: uuid
type: string
meeting_minutes:
description: Number of meeting minutes for user.
type: integer
meetings:
description: Number of meetings for user.
type: integer
participants:
description: Number of participants in meetings for user.
type: integer
type:
description: User type.
type: integer
user_name:
description: User display name.
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Active or inactive hosts report returned.
This is only available for paid account: {accountId}.
security:
- OAuth: []
summary: Get active/inactive host reports
tags:
- Reports
"/report/users/{userId}/meetings":
get:
description: |-
Retrieve [report](https://support.zoom.us/hc/en-us/articles/216378603-Meeting-Reporting) on a past meeting for a specified period of time. The time range for the report is limited to a month and the month should fall under the past six months.
Meetings will only be returned in the response if the meeting has two or more unique participants.
**Scopes:** `report:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Pro or higher plan.
operationId: reportMeetings
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
- description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: "The meeting types: `past` - Past meetings. `pastOne` - Past one user meetings. "
in: query
name: type
schema:
default: past
enum:
- past
- pastOne
type: string
responses:
"200":
content:
application/json:
examples:
response:
value: |-
{
"from": "2019-07-14",
"to": "2019-08-14",
"page_count": 1,
"page_size": 30,
"total_records": 9,
"next_page_token": "",
"meetings": [
{
"uuid": "/lqsAAAA5VBBBw==",
"id": 12345,
"host_id": "gdfg3434dsssfss",
"type": 2,
"topic": "MyTestMeetings",
"user_name": "Prashant Bhandari",
"user_email": "pb@hjdskfhds.fdskhfhds",
"start_time": "2019-07-15T23:24:52Z",
"end_time": "2019-07-15T23:30:19Z",
"duration": 6,
"total_minutes": 11,
"participants_count": 2
},
{
"uuid": "411bbbbbbcVyw==",
"id": 000000,
"host_id": "gdfg3434dsssfss",
"type": 2,
"topic": "My Meeting",
"user_name": "Raju Khanal",
"user_email": "srhkdjfh@jh.fsadghjm",
"start_time": "2019-07-16T17:14:39Z",
"end_time": "2019-07-16T17:26:20Z",
"duration": 12,
"total_minutes": 17,
"participants_count": 2
}
]
}
schema:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
from:
description: Start date for this report.
format: date
type: string
meetings:
description: Array of meeting objects.
items:
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
duration:
description: Meeting duration.
type: integer
end_time:
description: Meeting end time.
format: date-time
type: string
id:
description: |
[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64
data type in JSON), also known as the meeting number.
type: integer
participants_count:
description: Number of meeting participants.
type: integer
source:
description: Indicates whether the meeting was created directly through Zoom or through an API request.
type: string
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_minutes:
description: Sum of meeting minutes from all participants in the meeting.
type: integer
type:
description: |-
Meeting Type: `1` - Instant Meeting `2` - Scheduled Meeting `3` - Recurring Meeting with no fixed time.
`4` - This value is returned if the meeting was started using a Personal Meeting ID.
`8` - Recurring Meeting with a fixed time.
type: integer
user_email:
description: User email.
type: string
user_name:
description: User display name.
type: string
uuid:
description: Meeting UUID. Each meeting instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
format: uuid
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
to:
description: End date for this report.
format: date
type: string
type: object
application/xml:
schema:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
from:
description: Start date for this report.
format: date
type: string
meetings:
description: Array of meeting objects.
items:
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
duration:
description: Meeting duration.
type: integer
end_time:
description: Meeting end time.
format: date-time
type: string
id:
description: |
[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64
data type in JSON), also known as the meeting number.
type: integer
participants_count:
description: Number of meeting participants.
type: integer
source:
description: Indicates whether the meeting was created directly through Zoom or through an API request.
type: string
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_minutes:
description: Sum of meeting minutes from all participants in the meeting.
type: integer
type:
description: |-
Meeting Type: `1` - Instant Meeting `2` - Scheduled Meeting `3` - Recurring Meeting with no fixed time.
`4` - This value is returned if the meeting was started using a Personal Meeting ID.
`8` - Recurring Meeting with a fixed time.
type: integer
user_email:
description: User email.
type: string
user_name:
description: User display name.
type: string
uuid:
description: Meeting UUID. Each meeting instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
format: uuid
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
to:
description: End date for this report.
format: date
type: string
type: object
description: |
**HTTP Status Code:** `200`
Active or inactive hosts report returned.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
This is only available for paid account:{accountId}.
**Error Code:** `300`
The next page token is invalid or expired.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User {userId} not exist or not belong to this account.
summary: Get meeting reports
tags:
- Reports
"/report/webinars/{webinarId}":
get:
description: |-
Retrieve a [report](https://support.zoom.us/hc/en-us/articles/201393719-Webinar-Reporting) containing past webinar details.
**Scopes:** `report:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Pro or higher plan with Webinar add-on.
operationId: reportWebinarDetails
parameters:
- description: |-
The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: webinarId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
duration: 20
end_time: 2019-11-18T03:15:20.056Z
id: 51788617
participants_count: 13
start_time: 2019-11-18T03:15:00.056Z
topic: My Health Webinar
total_minutes: 10
tracking_fields:
- field: Webinar Purpose
value: Health awareness
type: 5
user_email: fdsjkfhhkd@hkdfhkdf.ghfjd
user_name: Utfdfdget
uuid: urn4fe6caeb98
schema:
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: Meeting duration.
type: integer
end_time:
description: Meeting end time.
format: date-time
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
participants_count:
description: Number of meeting participants.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_minutes:
description: |-
Number of Webinar minutes. This represents the total amount of Webinar minutes attended by each participant including the host, for a Webinar hosted by the user. For instance if there were one host(named A) and one participant(named B) in a Webinar, the value of total_minutes would be calculated as below:
**total_minutes** = Total Webinar Attendance Minutes of A + Total Webinar Attendance Minutes of B
type: integer
tracking_fields:
description: Tracking fields.
items:
properties:
field:
description: Tracking fields type.
type: string
value:
description: Tracking fields value.
type: string
type: object
type: array
type:
description: Meeting type.
type: integer
user_email:
description: User email.
type: string
user_name:
description: User display name.
type: string
uuid:
description: Webinar UUID. Each webinar instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated when the next instance of the webinar starts). Double encode the UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
format: uuid
type: string
type: object
application/xml:
schema:
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: Meeting duration.
type: integer
end_time:
description: Meeting end time.
format: date-time
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
participants_count:
description: Number of meeting participants.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_minutes:
description: |-
Number of Webinar minutes. This represents the total amount of Webinar minutes attended by each participant including the host, for a Webinar hosted by the user. For instance if there were one host(named A) and one participant(named B) in a Webinar, the value of total_minutes would be calculated as below:
**total_minutes** = Total Webinar Attendance Minutes of A + Total Webinar Attendance Minutes of B
type: integer
tracking_fields:
description: Tracking fields.
items:
properties:
field:
description: Tracking fields type.
type: string
value:
description: Tracking fields value.
type: string
type: object
type: array
type:
description: Meeting type.
type: integer
user_email:
description: User email.
type: string
user_name:
description: User display name.
type: string
uuid:
description: Webinar UUID. Each webinar instance will generate its own UUID(i.e., after a meeting ends, a new UUID will be generated when the next instance of the webinar starts). Double encode the UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
format: uuid
type: string
type: object
description: |-
**HTTP Status Code:** `200`
Webinar details returned.
This is only available for paid account:{accountId}.
"300":
description: |-
**HTTP Status Code:** `300`
Can not access webinar information:{webinarId}.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar ID not found.
**Error Code:** `3001`
Meeting {meetingId} not found or has expired.
security:
- OAuth: []
summary: Get webinar detail reports
tags:
- Reports
"/report/webinars/{webinarId}/participants":
get:
description: |-
Get detailed report on each attendee of a webinar.
**Scopes:** `report:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Pro or a higher plan with Webinar add-on enabled.
operationId: reportWebinarParticipants
parameters:
- description: |-
The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: webinarId
required: true
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: |+
Enter 'registrant_id' as the value for this field if you would like to see the registrant ID attribute included in the response of this API call. A registrant ID is a unique identifier of a [webinar registrant](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarregistrants).
in: query
name: include_fields
schema:
enum:
- registrant_id
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
next_page_token: ""
page_count: "1"
page_size: "30"
participants:
- duration: "20"
id: dskfjladjskfl
join_time: 2019-02-01T12:34:12.660Z
leave_time: 2019-03-01T12:34:12.660Z
name: Riya
user_email: riya@jdfghsdfgsd.fdjfhdf
user_id: sdfjkldsfdfgdfg
total_records: "1"
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
participants:
description: Array of webinar participant objects.
items:
properties:
customer_key:
description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
maxLength: 15
type: string
duration:
description: Participant duration.
type: integer
failover:
description: Indicates if failover happened during the webinar.
type: boolean
id:
description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
format: uuid
type: string
join_time:
description: Participant join time.
format: date-time
type: string
leave_time:
description: Participant leave time.
format: date-time
type: string
name:
description: Participant display name.
type: string
user_email:
description: Participant email.
type: string
user_id:
description: Participant ID. This is a unique ID assigned to the participant joining the webinar and is valid for that webinar only.
type: string
type: object
type: array
type: object
application/xml:
schema:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
participants:
description: Array of webinar participant objects.
items:
properties:
customer_key:
description: "Another identifier for the participant. Can be a number or characters, maximum length of 15 characters. "
maxLength: 15
type: string
duration:
description: Participant duration.
type: integer
failover:
description: Indicates if failover happened during the webinar.
type: boolean
id:
description: Universally unique identifier of the Participant. It is the same as the User ID of the participant if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging in, the value of this field will be blank.
format: uuid
type: string
join_time:
description: Participant join time.
format: date-time
type: string
leave_time:
description: Participant leave time.
format: date-time
type: string
name:
description: Participant display name.
type: string
user_email:
description: Participant email.
type: string
user_id:
description: Participant ID. This is a unique ID assigned to the participant joining the webinar and is valid for that webinar only.
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
Meeting participants report returned.
This is only available for paid account: {accountId}.
"300":
description: |-
**HTTP Status Code:** `300`
The next page token is invalid or has expired.
Can not access the webinar information, {webinarId}.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar ID not found.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Get webinar participant reports
tags:
- Reports
"/report/webinars/{webinarId}/polls":
get:
description: |-
Retrieve a report on past [webinar polls](https://support.zoom.us/hc/en-us/articles/203749865-Polling-for-Webinars).
**Scopes:** `report:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Pro or a higher plan with Webinar add-on enabled.
operationId: reportWebinarPolls
parameters:
- description: |-
The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: webinarId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
id: 123456
questions:
- email: myemail@jksdlfkjdf.djfk
name: Sam S
question_details:
- answer: I am wonderful.
question: How are you?
start_time: 2019-02-01T12:34:12.660Z
status: ended
title: Learn something new
uuid: gsdjfhsdfkhjdsf
schema:
properties:
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
questions:
description: Array of webinar question objects.
items:
properties:
email:
description: Participant email.
type: string
name:
description: Participant display name.
If the poll was created as an anonymous poll, participant's information will remain anonymous and the value of the `name` field will be "Anonymous Attendee".
type: string
question_details:
description: Array of questions from user.
items:
properties:
answer:
description: Given answer.
type: string
date_time:
description: Date and time at which the answer to the poll was submitted.
format: date-time
type: string
polling_id:
description: Unique identifier of the poll.
type: string
question:
description: Asked question.
type: string
type: object
type: array
type: object
type: array
start_time:
description: Webinar start time.
format: date-time
type: string
uuid:
description: Webinar UUID. Each webinar instance will generate its own UUID(i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
format: uuid
type: string
type: object
application/xml:
schema:
properties:
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
questions:
description: Array of webinar question objects.
items:
properties:
email:
description: Participant email.
type: string
name:
description: Participant display name.
If the poll was created as an anonymous poll, participant's information will remain anonymous and the value of the `name` field will be "Anonymous Attendee".
type: string
question_details:
description: Array of questions from user.
items:
properties:
answer:
description: Given answer.
type: string
date_time:
description: Date and time at which the answer to the poll was submitted.
format: date-time
type: string
polling_id:
description: Unique identifier of the poll.
type: string
question:
description: Asked question.
type: string
type: object
type: array
type: object
type: array
start_time:
description: Webinar start time.
format: date-time
type: string
uuid:
description: Webinar UUID. Each webinar instance will generate its own UUID(i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
format: uuid
type: string
type: object
description: |-
**HTTP Status Code:** `200`
Webinar polls report returned.
Missing webinar subscription plan.
This is only available for paid account:{accountId}.
"400":
description: |
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar ID not found.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Get webinar poll reports
tags:
- Reports
"/report/webinars/{webinarId}/qa":
get:
description: |-
The Question & Answer (Q&A) feature for webinars allows attendees to ask questions during the webinar and for the panelists, co-hosts and host to answer their questions.
Use this API to retrieve a report on question and answers from past webinars.
**Scopes:** `report:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
**Prerequisites:**
* Pro or a higher plan with Webinar add-on enabled.
operationId: reportWebinarQA
parameters:
- description: |-
The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: webinarId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
id: 14321
questions:
- email: pidufshdsuf@djdfdsfd.ghk
name: Harry S
question_details:
- answer: Once a month.
question: How often will you hold this webinar?
start_time: 2019-02-01T12:34:12.660Z
uuid: urgvhge945
schema:
properties:
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
questions:
description: Array of webinar question objects.
items:
properties:
email:
description: Participant email.
type: string
name:
description: |-
Participant display name.
If anonymous [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Getting-Started-with-Question-Answer) option is enabled and if a participant submits the Q&A without providing their name, the value of the `name` field will be "Anonymous Attendee".
type: string
question_details:
description: Array of questions from user.
items:
properties:
answer:
description: Given answer.
type: string
question:
description: Asked question.
type: string
type: object
type: array
type: object
type: array
start_time:
description: Webinar start time.
format: date-time
type: string
uuid:
description: Webinar UUID. Each Webinar instance will generate its own UUID(i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
format: uuid
type: string
type: object
application/xml:
schema:
properties:
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
questions:
description: Array of webinar question objects.
items:
properties:
email:
description: Participant email.
type: string
name:
description: |-
Participant display name.
If anonymous [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Getting-Started-with-Question-Answer) option is enabled and if a participant submits the Q&A without providing their name, the value of the `name` field will be "Anonymous Attendee".
type: string
question_details:
description: Array of questions from user.
items:
properties:
answer:
description: Given answer.
type: string
question:
description: Asked question.
type: string
type: object
type: array
type: object
type: array
start_time:
description: Webinar start time.
format: date-time
type: string
uuid:
description: Webinar UUID. Each Webinar instance will generate its own UUID(i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
format: uuid
type: string
type: object
description: |-
**HTTP Status Code:** `200`
Webinar Q&A report returned.
This is only available for paid account:{accountId}.
A report cannot be generated for this account because this account has not subscribed to a webinar plan.
"400":
description: |
**HTTP Status Code:** `400`
Bad request
"404":
description: |
**HTTP Status Code:** `404`
Webinar ID not found.
**Error Code:** `1001`
User does not exist: {userId}.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Get webinar Q&A report
tags:
- Reports
/roles:
get:
description: |-
List [roles](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) on your account
**Scopes:** `role:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Prerequisites** :
* Pro or higher plan.
* For setting the initial role, you must be the Account Owner.
* For subsequent role management, you must be the Account Owner or user with role management permissions.
operationId: roles
responses:
"200":
content:
application/json:
examples:
response:
value:
roles:
- description: Account owner has full privileges to access and manage a Zoom account.
id: "0"
name: Owner
total_members: 1
- description: Admins have wide range privileges to access and manage a Zoom account.
id: "1"
name: Admin
total_members: 0
- description: Members have access to basic Zoom video meeting functions but no account management privileges.
id: "2"
name: Member
total_members: 1
total_records: 3
schema:
allOf:
- properties:
roles:
description: List of Roles objects
items:
allOf:
- properties:
description:
description: Role Description
type: string
id:
description: Role Id
type: string
name:
description: Role Name
type: string
total_members:
description: Total members in this role
type: integer
type: array
total_records:
description: The number of all records available across pages
type: integer
description: List of Roles
title: Role List
type: object
application/xml:
schema:
allOf:
- properties:
roles:
description: List of Roles objects
items:
allOf:
- properties:
description:
description: Role Description
type: string
id:
description: Role Id
type: string
name:
description: Role Name
type: string
total_members:
description: Total members in this role
type: integer
type: array
total_records:
description: The number of all records available across pages
type: integer
description: List of Roles
title: Role List
type: object
description: |-
**HTTP Status Code:** `200`
List of roles returned.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request **Error Code:** `4700` Invalid access token, does not contain role:read:admin scope.
security:
- OAuth: []
summary: List roles
tags:
- Roles
post:
description: |-
Each Zoom user automatically has a role which can either be owner, administrator, or a member.
**Pre-requisite:**
* Pro or higher plan.
* For setting the initial role, you must be the Account Owner.
* For subsequent role management, you must be the Account Owner or user with role management permissions.
**Scopes:** `role:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: createRole
requestBody:
content:
application/json:
schema:
properties:
description:
description: Description of the role.
type: string
name:
description: Name of the role.
type: string
privileges:
description: Privileges assigned to the role. Can be one or a combination of [these permissions](https://marketplace.zoom.us/docs/api-reference/other-references/privileges).
items:
type: string
type: array
type: object
multipart/form-data:
schema:
properties:
description:
description: Description of the role.
type: string
name:
description: Name of the role.
type: string
privileges:
description: Privileges assigned to the role. Can be one or a combination of [these permissions](https://marketplace.zoom.us/docs/api-reference/other-references/privileges).
items:
type: string
type: array
type: object
x-examples:
application/json:
description: A person with this role can view and manage groups.
name: Group Administrator
privileges:
- User:Read
- User:Edit
- Group:Read
- Group:Edit
responses:
"200":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**Status Code:** `200`
You do not have the permission to create a role.
"201":
content:
application/json:
schema:
properties:
description:
description: Description of the role.
type: string
id:
description: Role Id
type: string
name:
description: Name of the role.
type: string
privileges:
description: "[Privileges](https://marketplace.zoom.us/docs/api-reference/other-references/privileges) provided to the role."
items:
type: string
type: array
total_members:
description: Total members assigned to the role.
type: integer
type: object
application/xml:
schema:
properties:
description:
description: Description of the role.
type: string
id:
description: Role Id
type: string
name:
description: Name of the role.
type: string
privileges:
description: "[Privileges](https://marketplace.zoom.us/docs/api-reference/other-references/privileges) provided to the role."
items:
type: string
type: array
total_members:
description: Total members assigned to the role.
type: integer
type: object
description: |-
**Status Code:** `201`
Role created.
"300":
description: |-
**Error Code:** `300`
The name field cannot be empty.
security:
- OAuth: []
summary: Create a role
tags:
- Roles
"/roles/{roleId}":
delete:
description: |-
Each Zoom user automatically has a role which can either be owner, administrator, or a member. Account Owners and users with edit privileges for Role management can add customized roles with a list.
Use this API to delete a role.
**Pre-requisite:**
* A Pro or higher plan.
* For role management and updates, you must be the Account Owner or user with role management permissions.
**Scopes:** `role:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteRole
parameters:
- description: Role Id.
in: path
name: roleId
required: true
schema:
type: string
responses:
"200":
description: |-
**Error Code:** `200`
Role not found.
"204":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |-
**Status Code:** `204`
Role deleted.
"300":
description: |-
**Error Code:** `300`
Role not found.
security:
- OAuth: []
summary: Delete a role
tags:
- Roles
get:
description: |-
Each Zoom user automatically has a role which can either be owner, administrator, or a member. Account Owners and users with edit privileges for Role management can add customized roles with a list of privileges.
Use this API to get information including specific privileges assigned to a [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control).
**Pre-requisite:**
* A Pro or higher plan.
* For role management and updates, you must be the Account Owner or user with role management permissions.
**Scopes:** `role:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: getRoleInformation
parameters:
- description: "Role Id. "
in: path
name: roleId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
properties:
description:
description: Description of the role.
type: string
id:
description: Role Id.
type: string
name:
description: Name of the role.
type: string
privileges:
description: |
Privileges assigned to the role. Can be one or a combination of [these permissions](https://marketplace.zoom.us/docs/api-reference/other-references/privileges).
items:
type: string
type: array
sub_account_privileges:
description: This field will only be displayed to accounts that are enrolled in a partner plan and follow the master accounts and sub accounts structure.
properties:
second_level:
description: |-
Indicates how the account can manage sub accounts. The value can be one of the following:
`1`: Manage the sub account as an owner of the account.
`2`: Manage the sub account with the same privileges as the current account.
`3`: Manage the sub account with specified privileges.
type: integer
type: object
total_members:
description: Total members assigned to that role.
type: integer
type: object
application/xml:
schema:
properties:
description:
description: Description of the role.
type: string
id:
description: Role Id.
type: string
name:
description: Name of the role.
type: string
privileges:
description: |
Privileges assigned to the role. Can be one or a combination of [these permissions](https://marketplace.zoom.us/docs/api-reference/other-references/privileges).
items:
type: string
type: array
sub_account_privileges:
description: This field will only be displayed to accounts that are enrolled in a partner plan and follow the master accounts and sub accounts structure.
properties:
second_level:
description: |-
Indicates how the account can manage sub accounts. The value can be one of the following:
`1`: Manage the sub account as an owner of the account.
`2`: Manage the sub account with the same privileges as the current account.
`3`: Manage the sub account with specified privileges.
type: integer
type: object
total_members:
description: Total members assigned to that role.
type: integer
type: object
description: |
**Status Code:** `200`
Information about a specific role returned.
**Error Code:** `200`
You do not have the permission to retrieve role information.
"300":
description: |-
**Error Code:** `300`
Role not found.
security:
- OAuth: []
summary: Get role information
tags:
- Roles
parameters:
- in: path
name: roleId
required: true
schema:
type: string
patch:
description: |-
Each Zoom user automatically has a [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) which can either be owner, administrator, or a member. Account Owners and users with edit privileges for Role management can add customized roles with a list.
Use this API to change the privileges, name and description of a specific role.
**Pre-requisite:**
* A Pro or higher plan.
* For role management and updates, you must be the Account Owner or user with role management permissions. **Scopes:** `role:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: updateRole
parameters:
- description: Role Id
in: path
name: roleId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
description:
description: Description of the role.
type: string
id:
description: Role Id.
type: string
name:
description: Name of the role.
type: string
privileges:
description: |
Privileges assigned to the role. Can be one or a combination of [these permissions](https://marketplace.zoom.us/docs/api-reference/other-references/privileges).
items:
type: string
type: array
sub_account_privileges:
description: This field will only be displayed to accounts that are enrolled in the partner plan and follow master accounts and sub accounts structure.
properties:
second_level:
description: |-
Indicates how the account can manage sub accounts. The value can be one of the following:
`1`: Manage the sub account as an owner of the account.
`2`: Manage the sub account with the same privileges as the current account.
`3`: Manage the sub account with specified privileges.
type: integer
type: object
total_members:
description: Total members assigned to that role.
type: integer
type: object
multipart/form-data:
schema:
properties:
description:
description: Description of the role.
type: string
id:
description: Role Id.
type: string
name:
description: Name of the role.
type: string
privileges:
description: |
Privileges assigned to the role. Can be one or a combination of [these permissions](https://marketplace.zoom.us/docs/api-reference/other-references/privileges).
items:
type: string
type: array
sub_account_privileges:
description: This field will only be displayed to accounts that are enrolled in the partner plan and follow master accounts and sub accounts structure.
properties:
second_level:
description: |-
Indicates how the account can manage sub accounts. The value can be one of the following:
`1`: Manage the sub account as an owner of the account.
`2`: Manage the sub account with the same privileges as the current account.
`3`: Manage the sub account with specified privileges.
type: integer
type: object
total_members:
description: Total members assigned to that role.
type: integer
type: object
x-examples:
application/json:
description: This role has privileges to view and manage users.
id: "102"
name: Some Role Name
privileges:
- User:Read
- User:Edit
total_members: "3"
responses:
"200":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**Error Code:** `200`
The account must be a paid account to update the role.
"204":
description: |-
**Status Code:** `400`
Role updated.
"300":
description: |-
**Error Code:** `300`
This role cannot be updated.
security:
- OAuth: []
summary: Update role information
tags:
- Roles
"/roles/{roleId}/members":
get:
description: |-
User [roles](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) can have a set of permissions that allows access only to the pages a user needs to view or edit. Use this API to list all the members that are assigned a specific role.
**Scope:** `role:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium` **Prerequisites:**
* A Pro or a higher plan.
operationId: roleMembers
parameters:
- description: The role ID
in: path
name: roleId
required: true
schema:
type: string
- description: The number of pages returned for this request.
in: query
name: page_count
schema:
type: string
- description: |-
**Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
The page number of the current page in the returned records.
in: query
name: page_number
schema:
default: 1
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
members:
- department: Chemistry
email: someemail.email.com
first_name: Taylor
id: zadksadjBBBBBBB8uQ
last_name: Gomez
type: 2
page_count: 1
page_number: 1
page_size: 30
total_records: 1
schema:
description: List of a Role Members
properties:
members:
description: List of a Role Members
items:
allOf:
- properties:
department:
description: Member Department
type: string
email:
description: Member Email
type: string
first_name:
description: Member First Name
type: string
id:
description: Member ID
type: string
last_name:
description: Member Last Name
type: string
type:
description: Member Type
type: integer
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
title: Role Members List
type: object
application/xml:
schema:
description: List of a Role Members
properties:
members:
description: List of a Role Members
items:
allOf:
- properties:
department:
description: Member Department
type: string
email:
description: Member Email
type: string
first_name:
description: Member First Name
type: string
id:
description: Member ID
type: string
last_name:
description: Member Last Name
type: string
type:
description: Member Type
type: integer
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
title: Role Members List
type: object
description: |-
**HTTP Status Code:** `200`
Success
"404":
description: "**HTTP Status Code:** `404` Role not found"
security:
- OAuth: []
summary: List members in a role
tags:
- Roles
post:
description: |-
User [roles](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) can have a set of permissions that allows access only to the pages a user needs to view or edit. Use this API to [assign a role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control#h_748b6fd8-5057-4cf4-bbfd-787909c09db0) to members.
**Scopes:** `role:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Prerequisites:**
* A Pro or a higher plan.
operationId: AddRoleMembers
parameters:
- description: The role ID
in: path
name: roleId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
members:
description: Array of userId/user email of users to whom you would like to assign this role. Upto 30 users can be assigned a role at once.
items:
properties:
email:
description: Email address of the user to whom you would like to assign the role. Provide either the userId in the ID field or the email address in the email field. If both fields are provided, only userId is used.
format: email
type: string
id:
description: "User ID of the user to whom you would like to assign the role. "
type: string
type: object
maxItems: 30
type: array
uniqueItems: false
type: object
multipart/form-data:
schema:
properties:
members:
description: Array of userId/user email of users to whom you would like to assign this role. Upto 30 users can be assigned a role at once.
items:
properties:
email:
description: Email address of the user to whom you would like to assign the role. Provide either the userId in the ID field or the email address in the email field. If both fields are provided, only userId is used.
format: email
type: string
id:
description: "User ID of the user to whom you would like to assign the role. "
type: string
type: object
maxItems: 30
type: array
uniqueItems: false
type: object
description: Role members
required: true
x-examples:
application/json:
members:
- id: dsfdsgrdgt
- id: sdkjsfdffds
responses:
"201":
content:
application/json:
schema:
properties:
add_at:
description: Date and time at which the members are assigned to the role.
format: date-time
type: string
ids:
description: User ID
type: string
type: object
application/xml:
schema:
properties:
add_at:
description: Date and time at which the members are assigned to the role.
format: date-time
type: string
ids:
description: User ID
type: string
type: object
description: "**HTTP Status Code:** `201` Members Added"
headers:
Content-Location:
description: Location of created members
schema:
type: string
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `1034`
Role does not exist.
**Error Code:** `300`
RoleId required.
Can’t delete or add members for Normal/Owner roles.
security:
- OAuth: []
summary: Assign a role
tags:
- Roles
"/roles/{roleId}/members/{memberId}":
delete:
description: |-
User [roles](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) can have a set of permissions that allows access only to the pages a user needs to view or edit. Use this API to unassign a user's role.
**Scope:** `role:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* A Pro or a higher plan.
operationId: roleMemberDelete
parameters:
- description: The role ID
in: path
name: roleId
required: true
schema:
type: string
- description: Member's ID
in: path
name: memberId
required: true
schema:
type: string
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Role withdrawn from user.
"404":
description: "**HTTP Status Code:** `404` Role or Member not found"
security:
- OAuth: []
summary: Unassign a role
tags:
- Roles
/rooms:
get:
description: |-
Zoom Rooms is a software-based room system that provides an integrated experience for audio conferencing, wireless screen sharing and video conferencing. Use this API to list all the existing [Zoom Rooms](https://support.zoom.us/hc/en-us/articles/207483343-Getting-Started-with-Zoom-Rooms) in a Zoom account.
**Prerequisites:**
* Pro or a higher plan with [Zoom Room](https://zoom.us/zoomrooms) license.
**Scopes**: `room:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listZoomRooms
parameters:
- description: The status of the Zoom Room.
in: query
name: status
schema:
enum:
- Offline
- Available
- InMeeting
- UnderConstruction
type: string
- description: Type of the Zoom Rooms.
in: query
name: type
schema:
enum:
- ZoomRoom
- SchedulingDisplayOnly
- DigitalSignageOnly
type: string
- description: Use this query parameter with a value of `true` if you would like to see Zoom Rooms in your account that have not been assigned to anyone yet.
in: query
name: unassigned_rooms
schema:
default: false
type: boolean
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: Parent location ID of the Zoom Room.
in: query
name: location_id
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
page_size: 30
rooms:
- activation_code: "1200"
id: 387434ryewr334
name: testZoomRooms
status: Available
- activation_code: eu34355empor
id: 4ryewr33sjfkds
name: MyZoomRooms
status: Offline
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
rooms:
description: List of existing Zoom Rooms.
items:
properties:
activation_code:
description: Activation Code is the code that is used to complete the setup of the Zoom Room.
type: string
id:
description: Unique Identifier of the Zoom Room.
type: string
location_id:
description: Unique Identifier of the [location](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) of the room.
type: string
name:
description: Name of the Zoom Room.
type: string
room_id:
description: Globally unique identifier of the Zoom Room. Use this ID for the **Dashboard Zoom Room APIs**.
type: string
status:
description: Status of the Zoom Room.
enum:
- Offline
- Available
- InMeeting
- UnderConstruction
type: string
type: object
type: array
type: object
application/xml:
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
rooms:
description: List of existing Zoom Rooms.
items:
properties:
activation_code:
description: Activation Code is the code that is used to complete the setup of the Zoom Room.
type: string
id:
description: Unique Identifier of the Zoom Room.
type: string
location_id:
description: Unique Identifier of the [location](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) of the room.
type: string
name:
description: Name of the Zoom Room.
type: string
room_id:
description: Globally unique identifier of the Zoom Room. Use this ID for the **Dashboard Zoom Room APIs**.
type: string
status:
description: Status of the Zoom Room.
enum:
- Offline
- Available
- InMeeting
- UnderConstruction
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
A list of Zoom Rooms returned successfully.
security:
- OAuth: []
summary: List Zoom Rooms
tags:
- Rooms
post:
description: |-
Use this API to [add a Zoom Room](https://support.zoom.us/hc/en-us/articles/202822279-Add-Zoom-Rooms-on-Web-Portal) to a Zoom account.
**Prerequisites:**
* Pro or a higher plan with [Zoom Room](https://zoom.us/zoomrooms) license.
**Scopes**: `room:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: addARoom
requestBody:
content:
application/json:
schema:
properties:
location_id:
description: |-
**Optional** Location ID of the lowest level location in the [location hierarchy](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) where the Zoom Room is to be added. For instance if the structure of the location hierarchy is set up as “country, states, city, campus, building, floor”, a room can only be added under the floor level location.
This ID can be retrieved from the [List Zoom Room Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
type: string
name:
description: Name of the Zoom Room.
type: string
type:
description: "Type of the Zoom Room. "
enum:
- ZoomRoom
- SchedulingDisplayOnly
- DigitalSignageOnly
type: string
required:
- name
- type
type: object
multipart/form-data:
schema:
properties:
location_id:
description: |-
**Optional** Location ID of the lowest level location in the [location hierarchy](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) where the Zoom Room is to be added. For instance if the structure of the location hierarchy is set up as “country, states, city, campus, building, floor”, a room can only be added under the floor level location.
This ID can be retrieved from the [List Zoom Room Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
type: string
name:
description: Name of the Zoom Room.
type: string
type:
description: "Type of the Zoom Room. "
enum:
- ZoomRoom
- SchedulingDisplayOnly
- DigitalSignageOnly
type: string
required:
- name
- type
type: object
x-examples:
application/json:
location_id: 434gfg0is
name: Cool ZoomRoom
type: SchedulingDisplayOnly
responses:
"201":
content:
application/json:
examples:
response:
value:
id: abcdefgg
location_id: 434gfg0is
name: Cool ZoomRoom
room_id: dhsfd8287rgf
type: SchedulingDisplayOnly
schema:
properties:
id:
description: Unique Identifier of the Zoom Room.
type: string
location_id:
description: Location ID of the location where the Zoom Room was added.
type: string
name:
description: Name of the Zoom Room.
type: string
room_id:
description: Globally unique identifier of the Zoom Room. Use this ID for the **Dashboard Zoom Room APIs**.
type: string
type:
description: Type of the Zoom Room.
enum:
- ZoomRoom
- SchedulingDisplayOnly
- DigitalSignageOnly
type: string
type: object
application/xml:
schema:
properties:
id:
description: Unique Identifier of the Zoom Room.
type: string
location_id:
description: Location ID of the location where the Zoom Room was added.
type: string
name:
description: Name of the Zoom Room.
type: string
room_id:
description: Globally unique identifier of the Zoom Room. Use this ID for the **Dashboard Zoom Room APIs**.
type: string
type:
description: Type of the Zoom Room.
enum:
- ZoomRoom
- SchedulingDisplayOnly
- DigitalSignageOnly
type: string
type: object
description: |-
**HTTP Status Code:** `201` **Created**
Zoom Room added successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200` Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
At least one normal Zoom Rooms required.
**Error Code:** `300`
Invalid parent location id {location_id}.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `4801`
Location not found:{location_id}
security:
- OAuth: []
summary: Add a Zoom Room
tags:
- Rooms
/rooms/account_profile:
get:
description: |-
Get details on the account profile of a Zoom Room. This information can only by accessed either by the Zoom Room Account Owner or a user with Zoom Rooms admin permission. To get information on an individual Room Profile, use [Get Zoom Room Profile API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/getzrprofile) instead.
**Prerequisites:**
* Zoom account owner or Zoom Rooms admin permissions
**Scopes:** `room:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: getZRAccountProfile
responses:
"200":
content:
application/json:
examples:
response:
value:
basic:
required_code_to_ext: true
room_passcode: "12234"
support_email: abc123@someemailaddress.sbfj
support_phone: "00222"
schema:
properties:
basic:
properties:
required_code_to_ext:
description: |
Require code to exit out of the Zoom Rooms application to switch between other apps.
type: boolean
room_passcode:
description: 1-16 digit number or characters used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or to sign out.
maxLength: 16
minLength: 1
type: string
support_email:
description: The email address used for reporting Zoom Room issues.
format: email
type: string
support_phone:
description: The phone number used for reporting Zoom room issues.
type: string
type: object
type: object
application/xml:
schema:
properties:
basic:
properties:
required_code_to_ext:
description: |
Require code to exit out of the Zoom Rooms application to switch between other apps.
type: boolean
room_passcode:
description: 1-16 digit number or characters used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or to sign out.
maxLength: 16
minLength: 1
type: string
support_email:
description: The email address used for reporting Zoom Room issues.
format: email
type: string
support_phone:
description: The phone number used for reporting Zoom room issues.
type: string
type: object
type: object
description: |-
**HTTP Status Code:** `200`
Zoom Room Account Profile returned successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
Access restricted.
security:
- OAuth: []
summary: Get Zoom Room account profile
tags:
- Rooms Account
patch:
description: |-
Update information on the account profile of a Zoom Room. This information can only by accessed either by the Zoom Room Account Owner or a user with Zoom Rooms admin permission. To update information on an individual Room Profile, use [Update Zoom Room Profile API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/updatezrprofile) instead.
**Prerequisites:**
* Zoom account owner or Zoom Rooms admin permissions
**Scopes:** `room:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: updateZRAccProfile
requestBody:
content:
application/json:
schema:
properties:
basic:
properties:
required_code_to_ext:
description: |
Require code to exit out of the Zoom Rooms application to switch between other apps.
type: boolean
room_passcode:
description: 1-16 digit number or characters used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or to sign out.
maxLength: 16
minLength: 1
type: string
support_email:
description: The email address used for reporting Zoom Room issues.
format: email
type: string
support_phone:
description: The phone number used for reporting Zoom room issues.
type: string
type: object
type: object
multipart/form-data:
schema:
properties:
basic:
properties:
required_code_to_ext:
description: |
Require code to exit out of the Zoom Rooms application to switch between other apps.
type: boolean
room_passcode:
description: 1-16 digit number or characters used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or to sign out.
maxLength: 16
minLength: 1
type: string
support_email:
description: The email address used for reporting Zoom Room issues.
format: email
type: string
support_phone:
description: The phone number used for reporting Zoom room issues.
type: string
type: object
type: object
x-examples:
application/json:
basic:
required_code_to_ext: true
room_passcode: "121212"
support_email: uoBBgT2soq1vfH@oZjIHwma.erjp
support_phone: "123445654656"
responses:
"204":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |-
**HTTP Status Code:** `204` **No Content**
Profile updated successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
Access restricted.
security:
- OAuth: []
summary: Update Zoom Room account profile
tags:
- Rooms Account
/rooms/account_settings:
get:
description: |-
Get details on Account Settings of a Zoom Room. With this API, you can view either the **Account Meeting Settings** or the **Alert Settings** (Client Alert Settings and Notfication Settings) of the Zoom Rooms account. By default, only **Account Meeting Settings** are returned. To view only **Alert Settings**, specify `alert` as the value of the `setting_type` query parameter.
**Prerequisites:**
* Zoom Room licenses
* Owner or Admin privileges on the Zoom Account.
**Scopes:** `room:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: getZRAccountSettings
parameters:
- description: |-
The type of setting that you would like to retrieve. `alert`: Alert Settings applied on the Zoom Rooms Account.
`meeting`: Meeting settings of the Zoom Rooms Account.
`signage`: View digital signage settings of the Zoom Rooms Account.
in: query
name: setting_type
required: true
schema:
default: meeting
enum:
- meeting
- alert
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
client_alert:
detect_bluetooth_microphone_error_alert: true
detect_bluetooth_speaker_error_alert: true
detect_camera_error_alert: true
detect_microphone_error_alert: true
detect_speaker_error_alert: true
notification:
audio_not_meet_usability_threshold: false
battery_low_and_not_charging: false
controller_scheduling_disconnected: false
cpu_usage_high_detected: false
mic_speaker_camera_disconnected: false
network_unstable_detected: false
sip_registration_failed: false
zoom_room_display_disconnected: false
zoom_room_offline: false
schema:
oneOf:
- properties:
zoom_rooms:
properties:
allow_multiple_content_sharing:
description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
type: boolean
audio_device_daily_auto_test:
description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
type: boolean
auto_direct_sharing:
description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
type: boolean
auto_start_scheduled_meeting:
description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
type: boolean
auto_stop_scheduled_meeting:
description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
type: boolean
count_attendees_number_in_room:
description: |
Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
type: boolean
display_feedback_survey:
description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
type: boolean
display_meeting_list:
description: " Show the same information on the TV that is shown on the controller."
type: boolean
display_top_banner:
description: Allow to display room name, time and sharing key on the top portion of TV.
type: boolean
email_address_prompt_before_recording:
description: Allow in-room participants to input email address where they can recieve the recording before starting a recording if the meeting was created on the Scheduling Display or if it was started using the "Meet Now" option.
type: boolean
encrypt_shared_screen_content:
description: Encrypt screen and content shared in meetings.
type: boolean
hide_id_for_private_meeting:
description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
type: boolean
make_room_alternative_host:
description: |
Set [Zoom Rooms as the alternative host](https://support.zoom.us/hc/en-us/articles/203614149-Zoom-Rooms-as-Alternative-Host).
type: boolean
secure_connection_channel:
description: Enable secure connection between Zoom Rooms computer and controller.
type: boolean
send_whiteboard_to_internal_contact_only:
description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
type: boolean
show_alert_before_meeting:
description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
type: boolean
show_call_history_in_room:
description: |
Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
type: boolean
show_contact_list_on_controller:
description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
type: boolean
show_non_video_participants:
description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
type: boolean
start_airplay_manually:
description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
type: boolean
start_airplay_mirroring:
description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
type: boolean
support_join_3rd_party_meeting:
description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
type: boolean
transform_meeting_to_private:
description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
type: boolean
upcoming_meeting_alert:
description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
type: boolean
weekly_system_restart:
description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
type: boolean
type: object
- properties:
client_alert:
description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
properties:
detect_bluetooth_microphone_error_alert:
description: Display an alert message when an issue is detected with a bluetooth microphone.
type: boolean
detect_bluetooth_speaker_error_alert:
description: Display an alert message when an issue is detected with a bluetooth speaker.
type: boolean
detect_camera_error_alert:
description: Display an alert message when an issue is detected with a camera.
type: boolean
detect_microphone_error_alert:
description: Display an alert message when an issue is detected with microphone.
type: boolean
detect_speaker_error_alert:
description: Display an alert message when an issue is detected with a speaker.
type: boolean
type: object
digital_signage:
properties:
banner:
description: Specifies the elements that you want to display in the top banner.
properties:
banner_room_name:
description: Display or hide banner room name.
type: boolean
banner_sharing_key:
description: Display or hide banner sharing key.
type: boolean
banner_time:
description: Display or hide time in the banner.
type: boolean
type: object
display_period:
description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
properties:
start_displaying_content:
description: Start displaying digital signage content after certain duration after the meeting ends. The value of this field indicates the duration in minutes.
type: integer
stop_displaying_content:
description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. The value of this field indicates the duration in minutes.
type: integer
type: object
enable_digital_signage:
description: |-
[Indicates whether digital signage is on or off,](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
`true`: enable `false`: disable
type: boolean
layout:
description: |-
Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
`standard`: Standard Center
`video_content`: Video + Content
type: string
mute:
description: Sound of all contents will be muted if the value of this field is set to `true`.
type: boolean
play_list:
description: Content list.
items:
properties:
action:
description: |
Specify an action for the content list. The value can be one of the following:
`add`: Add another content list.
`update`: Update existing content list.
`delete`: Delete content list.
enum:
- add
- update
- delete
type: string
contents:
items:
description: Content list.
properties:
content_id:
description: Content Id.
type: string
duration:
description: Duration for how long the content will be displayed.
type: integer
id:
type: string
name:
description: Name of the content.
type: string
order:
description: Order of the content in the display.
type: integer
type: object
maxItems: 3
type: array
end_time:
description: Specify the display end time for the content list in GMT.
type: string
id:
description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
type: string
name:
description: Name of the content list.
type: string
start_time:
description: Specify the display start time for the content list in GMT.
type: string
type: object
maxItems: 2
type: array
type: object
notification:
description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
properties:
audio_meet_usability_threshold:
description: Send an alert when the audio echo test result meets usability threshold.
type: boolean
audio_not_meet_usability_threshold:
description: Send an alert when the audio echo test result does not meet usability threshold.
type: boolean
battery_is_charging:
description: Send an alert when the battery starts charging.
type: boolean
battery_low_and_not_charging:
description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
type: boolean
battery_percentage:
description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
type: string
controller_scheduling_disconnected:
description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
type: boolean
controller_scheduling_reconnected:
description: Send an alert when the Controller or Scheduling Display can be detected again.
type: boolean
cpu_usage_high_detected:
description: Send an alert when CPU usage is above 90%.
type: boolean
mic_speaker_camera_disconnected:
description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
type: boolean
mic_speaker_camera_reconnected:
description: Send an alert when the mic, speaker or camera is reconnected.
type: boolean
network_unstable_detected:
description: Send an alert when low bandwidth network is detected
type: boolean
sip_registration_failed:
description: "Send an alert when SIP registration stops working. "
type: boolean
sip_registration_re_enabled:
description: Send an alert after the SIP registration is re-enabled.
type: boolean
zoom_room_come_back_online:
description: Send an alert when the Zoom Room is online after previously being offline.
type: boolean
zoom_room_display_disconnected:
description: Send an alert when the TV display is disconnected
type: boolean
zoom_room_offline:
description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
type: boolean
type: object
type: object
application/xml:
schema:
oneOf:
- properties:
zoom_rooms:
properties:
allow_multiple_content_sharing:
description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
type: boolean
audio_device_daily_auto_test:
description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
type: boolean
auto_direct_sharing:
description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
type: boolean
auto_start_scheduled_meeting:
description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
type: boolean
auto_stop_scheduled_meeting:
description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
type: boolean
count_attendees_number_in_room:
description: |
Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
type: boolean
display_feedback_survey:
description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
type: boolean
display_meeting_list:
description: " Show the same information on the TV that is shown on the controller."
type: boolean
display_top_banner:
description: Allow to display room name, time and sharing key on the top portion of TV.
type: boolean
email_address_prompt_before_recording:
description: Allow in-room participants to input email address where they can recieve the recording before starting a recording if the meeting was created on the Scheduling Display or if it was started using the "Meet Now" option.
type: boolean
encrypt_shared_screen_content:
description: Encrypt screen and content shared in meetings.
type: boolean
hide_id_for_private_meeting:
description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
type: boolean
make_room_alternative_host:
description: |
Set [Zoom Rooms as the alternative host](https://support.zoom.us/hc/en-us/articles/203614149-Zoom-Rooms-as-Alternative-Host).
type: boolean
secure_connection_channel:
description: Enable secure connection between Zoom Rooms computer and controller.
type: boolean
send_whiteboard_to_internal_contact_only:
description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
type: boolean
show_alert_before_meeting:
description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
type: boolean
show_call_history_in_room:
description: |
Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
type: boolean
show_contact_list_on_controller:
description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
type: boolean
show_non_video_participants:
description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
type: boolean
start_airplay_manually:
description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
type: boolean
start_airplay_mirroring:
description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
type: boolean
support_join_3rd_party_meeting:
description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
type: boolean
transform_meeting_to_private:
description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
type: boolean
upcoming_meeting_alert:
description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
type: boolean
weekly_system_restart:
description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
type: boolean
type: object
- properties:
client_alert:
description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
properties:
detect_bluetooth_microphone_error_alert:
description: Display an alert message when an issue is detected with a bluetooth microphone.
type: boolean
detect_bluetooth_speaker_error_alert:
description: Display an alert message when an issue is detected with a bluetooth speaker.
type: boolean
detect_camera_error_alert:
description: Display an alert message when an issue is detected with a camera.
type: boolean
detect_microphone_error_alert:
description: Display an alert message when an issue is detected with microphone.
type: boolean
detect_speaker_error_alert:
description: Display an alert message when an issue is detected with a speaker.
type: boolean
type: object
digital_signage:
properties:
banner:
description: Specifies the elements that you want to display in the top banner.
properties:
banner_room_name:
description: Display or hide banner room name.
type: boolean
banner_sharing_key:
description: Display or hide banner sharing key.
type: boolean
banner_time:
description: Display or hide time in the banner.
type: boolean
type: object
display_period:
description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
properties:
start_displaying_content:
description: Start displaying digital signage content after certain duration after the meeting ends. The value of this field indicates the duration in minutes.
type: integer
stop_displaying_content:
description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. The value of this field indicates the duration in minutes.
type: integer
type: object
enable_digital_signage:
description: |-
[Indicates whether digital signage is on or off,](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
`true`: enable `false`: disable
type: boolean
layout:
description: |-
Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
`standard`: Standard Center
`video_content`: Video + Content
type: string
mute:
description: Sound of all contents will be muted if the value of this field is set to `true`.
type: boolean
play_list:
description: Content list.
items:
properties:
action:
description: |
Specify an action for the content list. The value can be one of the following:
`add`: Add another content list.
`update`: Update existing content list.
`delete`: Delete content list.
enum:
- add
- update
- delete
type: string
contents:
items:
description: Content list.
properties:
content_id:
description: Content Id.
type: string
duration:
description: Duration for how long the content will be displayed.
type: integer
id:
type: string
name:
description: Name of the content.
type: string
order:
description: Order of the content in the display.
type: integer
type: object
maxItems: 3
type: array
end_time:
description: Specify the display end time for the content list in GMT.
type: string
id:
description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
type: string
name:
description: Name of the content list.
type: string
start_time:
description: Specify the display start time for the content list in GMT.
type: string
type: object
maxItems: 2
type: array
type: object
notification:
description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
properties:
audio_meet_usability_threshold:
description: Send an alert when the audio echo test result meets usability threshold.
type: boolean
audio_not_meet_usability_threshold:
description: Send an alert when the audio echo test result does not meet usability threshold.
type: boolean
battery_is_charging:
description: Send an alert when the battery starts charging.
type: boolean
battery_low_and_not_charging:
description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
type: boolean
battery_percentage:
description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
type: string
controller_scheduling_disconnected:
description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
type: boolean
controller_scheduling_reconnected:
description: Send an alert when the Controller or Scheduling Display can be detected again.
type: boolean
cpu_usage_high_detected:
description: Send an alert when CPU usage is above 90%.
type: boolean
mic_speaker_camera_disconnected:
description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
type: boolean
mic_speaker_camera_reconnected:
description: Send an alert when the mic, speaker or camera is reconnected.
type: boolean
network_unstable_detected:
description: Send an alert when low bandwidth network is detected
type: boolean
sip_registration_failed:
description: "Send an alert when SIP registration stops working. "
type: boolean
sip_registration_re_enabled:
description: Send an alert after the SIP registration is re-enabled.
type: boolean
zoom_room_come_back_online:
description: Send an alert when the Zoom Room is online after previously being offline.
type: boolean
zoom_room_display_disconnected:
description: Send an alert when the TV display is disconnected
type: boolean
zoom_room_offline:
description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
type: boolean
type: object
type: object
description: |
**HTTP Status Code:** `200` **OK**
ZR Account Settings returned successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
Access restricted.
security:
- OAuth: []
summary: Get Zoom Room account settings
tags:
- Rooms Account
patch:
description: |-
Update account settings applied for Zoom Rooms in a Zoom account. With this API, you can update either the **Account Meeting Settings** or the **Alert Settings** (Client Alert Settings and Notfication Settings) of the Zoom Rooms account by specifying the required setting type in the `setting_type` parameter. To update only **Alert Settings**, specify `alert` as the value of the `setting_type` query parameter and to update only **Account Meeting Settings**, specify `meeting` as the value of the `setting_type` query parameter.
**Prerequisites:**
* Zoom Room licenses
* Owner or Admin privileges on the Zoom Account.
**Scopes:** `room:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: updateZoomRoomAccSettings
parameters:
- description: |-
The type of setting that you would like to update. `alert`: Alert Settings applied on the Zoom Rooms Account.
`meeting`: Meeting settings of the Zoom Rooms Account.
`signage`: View digital signage settings of the Zoom Rooms Account.
in: query
name: setting_type
required: true
schema:
default: meeting
type: string
requestBody:
content:
application/json:
schema:
oneOf:
- properties:
zoom_rooms:
properties:
allow_multiple_content_sharing:
description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
type: boolean
audio_device_daily_auto_test:
description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
type: boolean
auto_direct_sharing:
description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
type: boolean
auto_start_scheduled_meeting:
description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
type: boolean
auto_stop_scheduled_meeting:
description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
type: boolean
count_attendees_number_in_room:
description: |
Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
type: boolean
display_feedback_survey:
description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
type: boolean
display_meeting_list:
description: " Show the same information on the TV that is shown on the controller."
type: boolean
display_top_banner:
description: Allow to display room name, time and sharing key on the top portion of TV.
type: boolean
email_address_prompt_before_recording:
description: Allow in-room participants to input email address where they can recieve the recording before starting a recording if the meeting was created on the Scheduling Display or if it was started using the "Meet Now" option.
type: boolean
encrypt_shared_screen_content:
description: Encrypt screen and content shared in meetings.
type: boolean
hide_id_for_private_meeting:
description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
type: boolean
make_room_alternative_host:
description: |
Set [Zoom Rooms as the alternative host](https://support.zoom.us/hc/en-us/articles/203614149-Zoom-Rooms-as-Alternative-Host).
type: boolean
secure_connection_channel:
description: Enable secure connection between Zoom Rooms computer and controller.
type: boolean
send_whiteboard_to_internal_contact_only:
description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
type: boolean
show_alert_before_meeting:
description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
type: boolean
show_call_history_in_room:
description: |
Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
type: boolean
show_contact_list_on_controller:
description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
type: boolean
show_non_video_participants:
description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
type: boolean
start_airplay_manually:
description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
type: boolean
support_join_3rd_party_meeting:
description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
type: boolean
transform_meeting_to_private:
description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
type: boolean
upcoming_meeting_alert:
description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
type: boolean
weekly_system_restart:
description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
type: boolean
type: object
- properties:
client_alert:
description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
properties:
detect_bluetooth_microphone_error_alert:
description: Display an alert message when an issue is detected with a bluetooth microphone.
type: boolean
detect_bluetooth_speaker_error_alert:
description: Display an alert message when an issue is detected with a bluetooth speaker.
type: boolean
detect_camera_error_alert:
description: Display an alert message when an issue is detected with a camera.
type: boolean
detect_microphone_error_alert:
description: Display an alert message when an issue is detected with microphone.
type: boolean
detect_speaker_error_alert:
description: Display an alert message when an issue is detected with a speaker.
type: boolean
type: object
digital_signage:
properties:
banner:
properties:
banner_room_name:
type: boolean
banner_sharing_key:
type: boolean
banner_time:
type: boolean
type: object
display_period:
description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
properties:
start_displaying_content:
description: Start displaying digital signage content after certain duration after the meeting ends. Specify the value of the duration in minutes in this field.
type: integer
stop_displaying_content:
description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. Specify the value of duration in minutes in this field.
type: integer
type: object
enable_digital_signage:
description: |-
[Enable or disable digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
`true`: enable `false`: disable
type: boolean
layout:
description: |-
Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
`standard`: Standard Center
`video_content`: Video + Content
type: string
mute:
description: Sound of all contents will be muted if the value of this field is set to `true`.
type: boolean
play_list:
description: Content list.
items:
properties:
action:
description: |
Specify an action for the content list. The value can be one of the following:
`add`: Add another content list.
`update`: Update existing content list.
`delete`: Delete content list.
enum:
- add
- update
- delete
type: string
contents:
items:
description: Content list.
properties:
action:
description: |+
Specify an action for the content in the content list. The value can be one of the following:
`add`: Add another content to the content list.
`update`: Update existing content's information in the content list.
`delete`: Delete content from the content list.
type: string
content_id:
description: Content Id.
type: string
duration:
description: By default each content is display for 5 seconds. Using this field, specify how long you would like to display the content.
type: integer
id:
description: Unique identifier of the content. This field is only required if you would like to remove or update the content information.
type: string
name:
description: Name of the content.
type: string
order:
description: Order of the content in the display.
type: integer
type: object
maxItems: 3
type: array
end_time:
description: Specify the display end time for the content list in GMT.
type: string
id:
description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
type: string
name:
description: Name of the content list.
type: string
start_time:
description: Specify the display start time for the content list in GMT.
type: string
type: object
maxItems: 2
type: array
type: object
notification:
description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
properties:
audio_meet_usability_threshold:
description: Send an alert when the audio echo test result meets usability threshold.
type: boolean
audio_not_meet_usability_threshold:
description: Send an alert when the audio echo test result does not meet usability threshold.
type: boolean
battery_is_charging:
description: Send an alert when the battery starts charging.
type: boolean
battery_low_and_not_charging:
description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
type: boolean
battery_percentage:
description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
type: string
controller_scheduling_disconnected:
description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
type: boolean
controller_scheduling_reconnected:
description: Send an alert when the Controller or Scheduling Display can be detected again.
type: boolean
cpu_usage_high_detected:
description: Send an alert when CPU usage is above 90%.
type: boolean
mic_speaker_camera_disconnected:
description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
type: boolean
mic_speaker_camera_reconnected:
description: Send an alert when the mic, speaker or camera is reconnected.
type: boolean
network_stable_detected:
description: Send an alert when the network is stable.
type: boolean
network_unstable_detected:
description: Send an alert when low bandwidth network is detected
type: boolean
sip_registration_failed:
description: "Send an alert when SIP registration stops working. "
type: boolean
sip_registration_re_enabled:
description: Send an alert after the SIP registration is re-enabled.
type: boolean
zoom_room_come_back_online:
description: Send an alert when the Zoom Room is online after previously being offline.
type: boolean
zoom_room_display_disconnected:
description: Send an alert when the TV display is disconnected
type: boolean
zoom_room_offline:
description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
type: boolean
type: object
type: object
multipart/form-data:
schema:
oneOf:
- properties:
zoom_rooms:
properties:
allow_multiple_content_sharing:
description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
type: boolean
audio_device_daily_auto_test:
description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
type: boolean
auto_direct_sharing:
description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
type: boolean
auto_start_scheduled_meeting:
description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
type: boolean
auto_stop_scheduled_meeting:
description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
type: boolean
count_attendees_number_in_room:
description: |
Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
type: boolean
display_feedback_survey:
description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
type: boolean
display_meeting_list:
description: " Show the same information on the TV that is shown on the controller."
type: boolean
display_top_banner:
description: Allow to display room name, time and sharing key on the top portion of TV.
type: boolean
email_address_prompt_before_recording:
description: Allow in-room participants to input email address where they can recieve the recording before starting a recording if the meeting was created on the Scheduling Display or if it was started using the "Meet Now" option.
type: boolean
encrypt_shared_screen_content:
description: Encrypt screen and content shared in meetings.
type: boolean
hide_id_for_private_meeting:
description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
type: boolean
make_room_alternative_host:
description: |
Set [Zoom Rooms as the alternative host](https://support.zoom.us/hc/en-us/articles/203614149-Zoom-Rooms-as-Alternative-Host).
type: boolean
secure_connection_channel:
description: Enable secure connection between Zoom Rooms computer and controller.
type: boolean
send_whiteboard_to_internal_contact_only:
description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
type: boolean
show_alert_before_meeting:
description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
type: boolean
show_call_history_in_room:
description: |
Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
type: boolean
show_contact_list_on_controller:
description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
type: boolean
show_non_video_participants:
description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
type: boolean
start_airplay_manually:
description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
type: boolean
support_join_3rd_party_meeting:
description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
type: boolean
transform_meeting_to_private:
description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
type: boolean
upcoming_meeting_alert:
description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
type: boolean
weekly_system_restart:
description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
type: boolean
type: object
- properties:
client_alert:
description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
properties:
detect_bluetooth_microphone_error_alert:
description: Display an alert message when an issue is detected with a bluetooth microphone.
type: boolean
detect_bluetooth_speaker_error_alert:
description: Display an alert message when an issue is detected with a bluetooth speaker.
type: boolean
detect_camera_error_alert:
description: Display an alert message when an issue is detected with a camera.
type: boolean
detect_microphone_error_alert:
description: Display an alert message when an issue is detected with microphone.
type: boolean
detect_speaker_error_alert:
description: Display an alert message when an issue is detected with a speaker.
type: boolean
type: object
digital_signage:
properties:
banner:
properties:
banner_room_name:
type: boolean
banner_sharing_key:
type: boolean
banner_time:
type: boolean
type: object
display_period:
description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
properties:
start_displaying_content:
description: Start displaying digital signage content after certain duration after the meeting ends. Specify the value of the duration in minutes in this field.
type: integer
stop_displaying_content:
description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. Specify the value of duration in minutes in this field.
type: integer
type: object
enable_digital_signage:
description: |-
[Enable or disable digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
`true`: enable `false`: disable
type: boolean
layout:
description: |-
Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
`standard`: Standard Center
`video_content`: Video + Content
type: string
mute:
description: Sound of all contents will be muted if the value of this field is set to `true`.
type: boolean
play_list:
description: Content list.
items:
properties:
action:
description: |
Specify an action for the content list. The value can be one of the following:
`add`: Add another content list.
`update`: Update existing content list.
`delete`: Delete content list.
enum:
- add
- update
- delete
type: string
contents:
items:
description: Content list.
properties:
action:
description: |+
Specify an action for the content in the content list. The value can be one of the following:
`add`: Add another content to the content list.
`update`: Update existing content's information in the content list.
`delete`: Delete content from the content list.
type: string
content_id:
description: Content Id.
type: string
duration:
description: By default each content is display for 5 seconds. Using this field, specify how long you would like to display the content.
type: integer
id:
description: Unique identifier of the content. This field is only required if you would like to remove or update the content information.
type: string
name:
description: Name of the content.
type: string
order:
description: Order of the content in the display.
type: integer
type: object
maxItems: 3
type: array
end_time:
description: Specify the display end time for the content list in GMT.
type: string
id:
description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
type: string
name:
description: Name of the content list.
type: string
start_time:
description: Specify the display start time for the content list in GMT.
type: string
type: object
maxItems: 2
type: array
type: object
notification:
description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
properties:
audio_meet_usability_threshold:
description: Send an alert when the audio echo test result meets usability threshold.
type: boolean
audio_not_meet_usability_threshold:
description: Send an alert when the audio echo test result does not meet usability threshold.
type: boolean
battery_is_charging:
description: Send an alert when the battery starts charging.
type: boolean
battery_low_and_not_charging:
description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
type: boolean
battery_percentage:
description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
type: string
controller_scheduling_disconnected:
description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
type: boolean
controller_scheduling_reconnected:
description: Send an alert when the Controller or Scheduling Display can be detected again.
type: boolean
cpu_usage_high_detected:
description: Send an alert when CPU usage is above 90%.
type: boolean
mic_speaker_camera_disconnected:
description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
type: boolean
mic_speaker_camera_reconnected:
description: Send an alert when the mic, speaker or camera is reconnected.
type: boolean
network_stable_detected:
description: Send an alert when the network is stable.
type: boolean
network_unstable_detected:
description: Send an alert when low bandwidth network is detected
type: boolean
sip_registration_failed:
description: "Send an alert when SIP registration stops working. "
type: boolean
sip_registration_re_enabled:
description: Send an alert after the SIP registration is re-enabled.
type: boolean
zoom_room_come_back_online:
description: Send an alert when the Zoom Room is online after previously being offline.
type: boolean
zoom_room_display_disconnected:
description: Send an alert when the TV display is disconnected
type: boolean
zoom_room_offline:
description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
type: boolean
type: object
type: object
x-examples:
application/json:
zoom_rooms:
allow_multiple_content_sharing: false
audio_device_daily_auto_test: false
auto_direct_sharing: true
auto_start_scheduled_meeting: true
auto_stop_scheduled_meeting: false
count_attendees_number_in_room: false
display_feedback_survey: false
display_meeting_list: false
display_top_banner: false
email_address_prompt_before_recording: true
encrypt_shared_screen_content: false
hide_id_for_private_meeting: false
make_room_alternative_host: true
secure_connection_channel: true
send_whiteboard_to_internal_contact_only: true
show_alert_before_meeting: false
show_call_history_in_room: true
show_contact_list_on_controller: false
show_non_video_participants: true
start_airplay_manually: false
support_join_3rd_party_meeting: false
transform_meeting_to_private: true
upcoming_meeting_alert: true
weekly_system_restart: false
responses:
"204":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |
**HTTP Status Code:** `204` **No Content**
Settings updated successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
Access restricted.
security:
- OAuth: []
summary: Update Zoom Room account settings
tags:
- Rooms Account
/rooms/digital_signage:
get:
description: |+
List information about existing [Zoom Rooms digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage) content in a Zoom account. You can also access this information by logging into your Zoom account in the Zoom web portal and visiting the [Digital Signage Content](https://zoom.us/digitalsignage#/) page listed under **Room Management**.
**Prerequisites:**
* Pro or a higher account with Zoom Rooms.
* Existing content files or folder in [Digital Signage Content](https://zoom.us/digitalsignage#/) page.
operationId: listDigitalSignageContent
parameters:
- description: |-
Specify the type of digital signane resource. The value can be one of the following:
* `content`: Returns information about content files.
* `folder`: Returns information about the folder where the content files are located.
in: query
name: type
schema:
type: string
- description: Unique identifier of the folder where the content is located. Provide this field if you would like to filter the response by contents that are only available in a specific folder.
in: query
name: folder_id
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
contents:
- id: sWbbbb535LQ
name: Marketing_Folder
- id: 9N333khdhfgiafg
name: BackgroundImage.png
next_page_token: ""
page_size: 30
total_records: 2
schema:
properties:
contents:
items:
properties:
id:
description: "Unique identifier of the content or the folder. "
type: string
name:
description: Name of the content file or the folder.
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
type: object
application/xml:
schema:
properties:
contents:
items:
properties:
id:
description: "Unique identifier of the content or the folder. "
type: string
name:
description: Name of the content file or the folder.
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
type: object
description: |-
**HTTP Status Code:** `200` **OK**
List returned.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
* Zoom Room subscription was not found. Try again after purchasing a Zoom Room subscription.
* Access restricted.
summary: List digital signage contents
tags:
- Rooms
/rooms/events:
patch:
description: |
Display or hide E911 emergency alert text content from [Zoom Rooms digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage).
**Scope:** `room:write:admin`
**Prerequisites:**
* [Zoom Rooms](https://zoom.us/zoomrooms/software) 5.3.0 or higher
* Zoom Rooms digital signage must be [enabled](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-Digital-Signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd)
operationId: manageE911signage
requestBody:
content:
application/json:
schema:
oneOf:
- description: "Provide this request body to set and display the emergency alert content. "
properties:
method:
description: To display the emergency content on the Zoom Rooms digital signage display, set the value of this field to be `zoomroom.emergency_alert_displayed`.
enum:
- zoomroom.emergency_alert_displayed
type: string
params:
properties:
content:
description: "Provide the content to be displayed. "
type: string
target_ids:
description: |-
Provide one of the following IDs associated with the Zoom Room.
* `accountId`: Account ID of the Zoom account. Provide account ID as the value of this field to display the alert content on all Zoom Rooms' displays in the account.
* `locationId`: Location ID. Get the value of this field by calling [List Zoom Rooms Locations API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations). Provide location ID as the value of this field to display the alert content on all Zoom Rooms' displays listed in the specified location.
* `roomId`: Unique identifier of the Zoom Room. Get the value of this field by calling [List Zoom Rooms API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/listzoomrooms). Provide room ID as the value of this field to display the alert content on a specific Zoom Rooms' display.
items:
type: string
maxItems: 10
minItems: 1
type: array
target_type:
description: |-
Provide one of the following values for this field that is associated to the value you entered in the `target_ids` field.
* `account`
* `location`
* `room`
enum:
- account
- location
- room
type: string
type: object
- description: Provide this request body to remove the emergency alert content. Note that there won't be a response body for this request.
properties:
method:
description: To remove the emergency content from the Zoom Rooms digital signage display, set the value of this field to be `zoomroom.emergency_alert_removed`.
enum:
- zoomroom.emergency_alert_removed
type: string
params:
properties:
event_id:
description: "Unique identifier of the event. "
type: string
target_ids:
description: |-
Provide one of the following IDs associated with the Zoom Room.
* `accountId`: Account ID of the Zoom account. Provide account ID as the value of this field to remove the alert content from all Zoom Rooms' displays in the account.
* `locationId`: Location ID. Get the value of this field by calling [List Zoom Rooms Locations API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations). Provide location ID as the value of this field to remove the alert content from all Zoom Rooms' displays listed in the specified location.
* `roomId`: Unique identifier of the Zoom Room. Get the value of this field by calling [List Zoom Rooms API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/listzoomrooms). Provide room ID as the value of this field to remove the alert content from a specific Zoom Rooms' display.
items:
type: string
maxItems: 10
minItems: 1
type: array
target_type:
description: |-
Provide one of the following values for this field that is associated to the value you entered in the `target_ids` field.
* `account`
* `location`
* `room`
enum:
- account
- location
- room
type: string
type: object
type: object
multipart/form-data:
schema:
oneOf:
- description: "Provide this request body to set and display the emergency alert content. "
properties:
method:
description: To display the emergency content on the Zoom Rooms digital signage display, set the value of this field to be `zoomroom.emergency_alert_displayed`.
enum:
- zoomroom.emergency_alert_displayed
type: string
params:
properties:
content:
description: "Provide the content to be displayed. "
type: string
target_ids:
description: |-
Provide one of the following IDs associated with the Zoom Room.
* `accountId`: Account ID of the Zoom account. Provide account ID as the value of this field to display the alert content on all Zoom Rooms' displays in the account.
* `locationId`: Location ID. Get the value of this field by calling [List Zoom Rooms Locations API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations). Provide location ID as the value of this field to display the alert content on all Zoom Rooms' displays listed in the specified location.
* `roomId`: Unique identifier of the Zoom Room. Get the value of this field by calling [List Zoom Rooms API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/listzoomrooms). Provide room ID as the value of this field to display the alert content on a specific Zoom Rooms' display.
items:
type: string
maxItems: 10
minItems: 1
type: array
target_type:
description: |-
Provide one of the following values for this field that is associated to the value you entered in the `target_ids` field.
* `account`
* `location`
* `room`
enum:
- account
- location
- room
type: string
type: object
- description: Provide this request body to remove the emergency alert content. Note that there won't be a response body for this request.
properties:
method:
description: To remove the emergency content from the Zoom Rooms digital signage display, set the value of this field to be `zoomroom.emergency_alert_removed`.
enum:
- zoomroom.emergency_alert_removed
type: string
params:
properties:
event_id:
description: "Unique identifier of the event. "
type: string
target_ids:
description: |-
Provide one of the following IDs associated with the Zoom Room.
* `accountId`: Account ID of the Zoom account. Provide account ID as the value of this field to remove the alert content from all Zoom Rooms' displays in the account.
* `locationId`: Location ID. Get the value of this field by calling [List Zoom Rooms Locations API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations). Provide location ID as the value of this field to remove the alert content from all Zoom Rooms' displays listed in the specified location.
* `roomId`: Unique identifier of the Zoom Room. Get the value of this field by calling [List Zoom Rooms API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/listzoomrooms). Provide room ID as the value of this field to remove the alert content from a specific Zoom Rooms' display.
items:
type: string
maxItems: 10
minItems: 1
type: array
target_type:
description: |-
Provide one of the following values for this field that is associated to the value you entered in the `target_ids` field.
* `account`
* `location`
* `room`
enum:
- account
- location
- room
type: string
type: object
type: object
x-examples:
application/json:
method: zoomroom.emergency_alert_displayed
params:
content: This is an example.
target_ids:
- dhhjdshgf237y7
- dnfv345556
target_type: location
responses:
"202":
content:
application/json:
examples:
response:
value:
event_id: 6354hgfsdj34
schema:
properties:
event_id:
description: |-
Unique identifier of the event related to the content being displayed. This field is only returned if you provided `zoomroom.emergency_alert_displayed` as the value of the `method` parameter.
Save this response value and provide it as the value of the `event_id` request parameter when you need to remove the alert content using `zoomroom.emergency_alert_removed` method.
type: string
type: object
application/xml:
schema:
properties:
event_id:
description: |-
Unique identifier of the event related to the content being displayed. This field is only returned if you provided `zoomroom.emergency_alert_displayed` as the value of the `method` parameter.
Save this response value and provide it as the value of the `event_id` request parameter when you need to remove the alert content using `zoomroom.emergency_alert_removed` method.
type: string
type: object
description: "**HTTP Status Code:** `202` "
"400":
description: |-
**HTTP Status Code:** `400`
**Error Code:** `200` Access restricted.
**Error Code:** `300`
Event id is required.
Invalid value submitted for Target Ids. Provide a valid Target Id associated with the Target type.
summary: Update E911 digital signage
tags:
- Rooms
/rooms/locations:
get:
description: |-
A Zoom account owner or a Zoom Room administrator can establish a [location hierarchy](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) to help manage Zoom Rooms that are spread among a variety of locations. Use this API to list the different location types used for Zoom Rooms in an account.
**Prerequisites:**
* Account owner or admin permissions.
* Zoom Rooms Version 4.0 or higher
**Scopes:** `room:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listZRLocations
parameters:
- description: A unique identifier of the parent location. For instance, if a Zoom Room is located in Floor 1 of Building A, the location of Building A will be the parent location of Floor 1. Use this parameter to filter the response by a specific location hierarchy level.
in: query
name: parent_location_id
schema:
type: string
- description: |-
Use this field to filter the response by the type of location. The value can be one of the following:
`country`, `states`, `city`, `campus`, `building`, `floor`.
in: query
name: type
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value: |-
{
"page_size": 30,
"next_page_token": "",
"locations": [
{
"id": "AAAAAAAAAA",
"name": "Country/Region1",
"parent_location_id": "I-qsfdUbbbbg",
"type": "country"
},
{
"id": "BBBBBBBB",
"name": "State1",
"parent_location_id": "AAAAAAAAAA",
"type": "state"
},
{
"id": "ccccddddd,
"name": "City1",
"parent_location_id": "BBBBBBBB",
"type": "city"
},
{
"id": "fgaajfjfhgjgjgjg",
"name": "Campus1",
"parent_location_id": "ccccddddd,
"type": "campus"
},
{
"id": "YQGK12344",
"name": "Building1",
"parent_location_id": "fgaajfjfhgjgjgjg",
"type": "building"
},
{
"id": "uUbbbbbbbb",
"name": "Floor1",
"parent_location_id": "YQGK12344",
"type": "floor"
}
]
}
schema:
properties:
locations:
items:
properties:
id:
description: Unique Identifier of the location.
type: string
name:
description: Name of the location.
type: string
parent_location_id:
description: |-
ID (Unique Identifier) of the parent location. For instance, if a Zoom Room is located in Floor 1 of Building A, the location of Building A will be the parent location of Floor 1 and the parent_location_id of Floor 1 will be the ID of Building A.
The value of parent_location_id of the top-level location (country) is the Account ID of the Zoom account.
type: string
type:
description: |-
The type of location. The value can be one of the following:
`country`, `states`, `city`, `campus`, `building`, `floor`.
enum:
- country
- states
- city
- campus
- building
- floor
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
type: object
application/xml:
schema:
properties:
locations:
items:
properties:
id:
description: Unique Identifier of the location.
type: string
name:
description: Name of the location.
type: string
parent_location_id:
description: |-
ID (Unique Identifier) of the parent location. For instance, if a Zoom Room is located in Floor 1 of Building A, the location of Building A will be the parent location of Floor 1 and the parent_location_id of Floor 1 will be the ID of Building A.
The value of parent_location_id of the top-level location (country) is the Account ID of the Zoom account.
type: string
type:
description: |-
The type of location. The value can be one of the following:
`country`, `states`, `city`, `campus`, `building`, `floor`.
enum:
- country
- states
- city
- campus
- building
- floor
type: string
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_size:
description: The number of records returned within a single API call.
type: integer
type: object
description: |
**HTTP Status Code:** `200` **OK**
Zoom Room locations listed successfully.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
**Error Code:** `300`
Location type not exist.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `4801`
Location not found:{parent_location_id}.
security:
- OAuth: []
summary: List Zoom Room locations
tags:
- Rooms Location
post:
description: |-
Add a location to the [location hierarchial structure(s)](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) of Zoom Rooms in an account.
**Prerequisites:**
* Account owner or admin permissions.
* Zoom Rooms Version 4.0 or higher
**Scopes:** `room:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: addAZRLocation
requestBody:
content:
application/json:
schema:
properties:
name:
description: Name of the location. The name must be unique and shouldn't have already been used in the same account.
type: string
parent_location_id:
description: The location ID of the location that is a level higher from the location that is being added.
For example, to add a City named "City 1" as the child location under a State named "State 1", you must provide the location ID of "State 1". This can be retrieved using the [List Zoom Room Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
type: string
type: object
multipart/form-data:
schema:
properties:
name:
description: Name of the location. The name must be unique and shouldn't have already been used in the same account.
type: string
parent_location_id:
description: The location ID of the location that is a level higher from the location that is being added.
For example, to add a City named "City 1" as the child location under a State named "State 1", you must provide the location ID of "State 1". This can be retrieved using the [List Zoom Room Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
type: string
type: object
x-examples:
application/json:
name: San Jose City
parent_location_id: csdfus33dsf
responses:
"200":
content:
application/json:
examples:
response:
value:
id: sedo534pis
name: San Jose City
parent_location_id: gdrgre54t5th
type: City
schema:
properties:
id:
description: "Location ID: Unique Identifier of the location that was added."
type: string
name:
description: Name of the location.
type: string
parent_location_id:
description: Unique Identifier of the parent location.
type: string
type:
description: |-
Type of location. The value should be one of the following:
`country`, `states`, `city`, `campus`, `building`, `floor`.
enum:
- country
- states
- city
- campus
- building
- floor
type: string
type: object
application/xml:
schema:
properties:
id:
description: "Location ID: Unique Identifier of the location that was added."
type: string
name:
description: Name of the location.
type: string
parent_location_id:
description: Unique Identifier of the parent location.
type: string
type:
description: |-
Type of location. The value should be one of the following:
`country`, `states`, `city`, `campus`, `building`, `floor`.
enum:
- country
- states
- city
- campus
- building
- floor
type: string
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Location added successfully.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
**Error Code:** `300`
Location name already exists. Try a different location name.
Invalid parent location id {parent_location_id}
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `4801`
Location not exist {parent_location_id}
security:
- OAuth: []
summary: Add a location
tags:
- Rooms Location
/rooms/locations/structure:
get:
description: |-
Get the [location hierarchial structure(s)](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) applied on the Zoom Rooms in an account.
**Prerequisites:**
* Zoom Rooms version 4.0 or higher
* Account owner or admin permissions
**Scopes:** `room:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: getZRLocationStructure
responses:
"200":
content:
application/json:
examples:
response:
value:
structures:
- country
- state
- city
- campus
- building
- floor
- room
schema:
properties:
structures:
description: Hierarchial structure array of the Zoom Rooms location.
items:
type: string
type: array
type: object
application/xml:
schema:
properties:
structures:
description: Hierarchial structure array of the Zoom Rooms location.
items:
type: string
type: array
type: object
description: |
**HTTP Status Code:** `200` **OK**
Zoom Rooms location structure returned successfully.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
security:
- OAuth: []
summary: Get Zoom Room location structure
tags:
- Rooms Location
patch:
description: |-
Update the [location hierarchial structure(s)](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) applied on the Zoom Rooms in an account.
**Prerequisites:**
* Zoom Rooms version 4.0 or higher
* Account owner or admin permissions
**Scopes:** `room:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: updateZoomRoomsLocationStructure
requestBody:
content:
application/json:
schema:
properties:
structures:
description: |-
Location Structure. The value can be either one or a combination of the following strings separated by comma:
`country`, `state`, `city`, `campus`, `building`, `floor`
items:
type: string
type: array
type: object
multipart/form-data:
schema:
properties:
structures:
description: |-
Location Structure. The value can be either one or a combination of the following strings separated by comma:
`country`, `state`, `city`, `campus`, `building`, `floor`
items:
type: string
type: array
type: object
x-examples:
application/json:
structures:
- country
- city
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Location Structure updated successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `2100`
This sub account has no sip trunk plan
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001` This account does not exist or does not belong to this master account. This account does not exist or does not belong to you.
security:
- OAuth: []
summary: Update Zoom Rooms location structure
tags:
- Rooms Location
"/rooms/locations/{locationId}":
get:
description: |-
Each location type of the [Zoom Rooms location hierarchy](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) has a profile page that includes information such as name of the location, address, support email, etc. Use this API to retrieve information about a specific Zoom Rooms location type such as information about the city where the Zoom Rooms is located.
**Prerequisite:**
* Account owner or admin permission
* Zoom Rooms version 4.0 or higher
**Scopes:** `room:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: getZRLocationProfile
parameters:
- description: Unique identifier of the location type. This can be retrieved using the [List Zoom Room Location API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) (Id property in the response).
in: path
name: locationId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
basic:
description: This Zoom Rooms is located in Kathmandu.
name: Kathmandu
required_code_to_ext: true
room_passcode: "12234"
support_email: abb123@123
support_phone: "00222"
timezone: Asia/Kathmandu
schema:
properties:
basic:
properties:
address:
description: Address
type: string
"description ":
description: Description about the location.
type: string
name:
description: Name of the location type.
type: string
required_code_to_ext:
description: |
Require code to exit out of your Zoom Rooms application to switch between other apps.
type: boolean
room_passcode:
description: 1-16 digit number or characters that is used to secure your Zoom Rooms application.
maxLength: 16
minLength: 1
type: string
support_email:
description: |
The email address to be used for reporting Zoom Room issues.
format: email
type: string
support_phone:
description: |
The phone number to be used for reporting Zoom Room issues.
type: string
timezone:
description: Timezone (only returned for location type - city).
type: string
type: object
type: object
application/xml:
schema:
properties:
basic:
properties:
address:
description: Address
type: string
"description ":
description: Description about the location.
type: string
name:
description: Name of the location type.
type: string
required_code_to_ext:
description: |
Require code to exit out of your Zoom Rooms application to switch between other apps.
type: boolean
room_passcode:
description: 1-16 digit number or characters that is used to secure your Zoom Rooms application.
maxLength: 16
minLength: 1
type: string
support_email:
description: |
The email address to be used for reporting Zoom Room issues.
format: email
type: string
support_phone:
description: |
The phone number to be used for reporting Zoom Room issues.
type: string
timezone:
description: Timezone (only returned for location type - city).
type: string
type: object
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Zoom Rooms Location Profile returned successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
Access restricted.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `4801`
Location not found: {locationId}.
security:
- OAuth: []
summary: Get Zoom Room location profile
tags:
- Rooms Location
parameters:
- in: path
name: locationId
required: true
schema:
type: string
patch:
description: |-
Each location type of the [Zoom Rooms location hierarchy](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) has a profile page that includes information such as name of the location, address, support email, etc. Use this API to update information about a specific Zoom Rooms location type such as information about the city where the Zoom Rooms is located.
**Prerequisite:**
* Account owner or admin permission
* Zoom Rooms version 4.0 or higher
**Scopes:** `room:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: updateZRLocationProfile
parameters:
- description: Unique Identifier of the location. This can be retrieved from the [List Zoom Room Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
in: path
name: locationId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
basic:
properties:
address:
description: Address. Can only be updated for Campus and Building.
type: string
"description ":
description: Description about the location.
type: string
name:
description: Name of the location type.
type: string
required_code_to_ext:
description: |
Require code to exit out of your Zoom Rooms application to switch between other apps.
type: boolean
room_passcode:
description: 1-16 digit number or characters that is used to secure your Zoom Rooms application.
maxLength: 16
minLength: 1
type: string
support_email:
description: |
The email address to be used for reporting Zoom Room issues.
format: email
type: string
support_phone:
description: |
The phone number to be used for reporting Zoom Room issues.
type: string
timezone:
description: Timezone (can only be updated for location type - city).
type: string
type: object
type: object
multipart/form-data:
schema:
properties:
basic:
properties:
address:
description: Address. Can only be updated for Campus and Building.
type: string
"description ":
description: Description about the location.
type: string
name:
description: Name of the location type.
type: string
required_code_to_ext:
description: |
Require code to exit out of your Zoom Rooms application to switch between other apps.
type: boolean
room_passcode:
description: 1-16 digit number or characters that is used to secure your Zoom Rooms application.
maxLength: 16
minLength: 1
type: string
support_email:
description: |
The email address to be used for reporting Zoom Room issues.
format: email
type: string
support_phone:
description: |
The phone number to be used for reporting Zoom Room issues.
type: string
timezone:
description: Timezone (can only be updated for location type - city).
type: string
type: object
type: object
x-examples:
application/json:
basic:
address: enim id sint
"description ": esse
name: gfhgfhfh
required_code_to_ext: false
room_passcode: et
support_email: WjFz@iYxpxDCRJQhZeBYtla.qb
support_phone: anim eiusmod sit
timezone: magna incididunt irure voluptate id
responses:
"200":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: ""
security:
- OAuth: []
summary: Update Zoom Room location profile
tags:
- Rooms Location
"/rooms/locations/{locationId}/location":
parameters:
- in: path
name: locationId
required: true
schema:
type: string
put:
description: |-
An account owner of a Zoom account can establish a [Zoom Rooms Location Hierarchy](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) to better organize Zoom Rooms spread accross various location. The location can be structured in a hierarchy with Country being the top-level location, followed by city, campus, building, and floor. The location in the lower level in the hierarchy is considered as a child of the location that is a level above in the hierarchy. Use this API to change the parent location of a child location.
For instance, if the location hierarchy is structured in a way where there are two campuses (Campus 1, and Campus 2) in a City and Campus 1 consists of a building named Building 1 with a floor where Zoom Rooms are located, and you would like to rearrange the structure so that Building 1 along with its child locations (floor and Zoom Rooms) are relocated directly under Campus 2 instead of Campus 1, you must provide the location ID of Building 1 in the path parameter of this request and the location ID of Campus 2 as the value of `parent_location_id` in the request body.
**Prerequisite:**
* Account owner or admin permission
* Zoom Rooms version 4.0 or higher
**Scopes:** `room:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: changeParentLocation
parameters:
- in: path
name: locationId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
parent_location_id:
description: Location ID of the new Parent Location under which you the child location will be positioned. This can be retrieved from the [List Zoom Room Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
type: string
type: object
multipart/form-data:
schema:
properties:
parent_location_id:
description: Location ID of the new Parent Location under which you the child location will be positioned. This can be retrieved from the [List Zoom Room Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
type: string
type: object
x-examples:
application/json:
parent_location_id: amesmod123enim
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Location assigned successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200` Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
**Error Code:** `300` Invalid parent location id {parent_location_id}
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `4801` Location not found:{parent_location_id}.
security:
- OAuth: []
summary: Change the assigned parent location
tags:
- Rooms Location
"/rooms/locations/{locationId}/settings":
get:
description: |-
Get information on meeting or alert settings applied to Zoom Rooms located in a specific location. By default, only **Meeting Settings** are returned. To view only **Alert Settings**, specify `alert` as the value of the `setting_type` query parameter.
**Prerequisites:**
* Zoom Room licenses
* Owner or Admin privileges on the Zoom Account.
**Scopes:** `room:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: getZRLocationSettings
parameters:
- description: |-
The type of setting that you would like to retrieve. `alert`: Alert Settings applied on the Zoom Rooms Account.
`meeting`: Meeting settings of the Zoom Rooms Account.
`signage`: Digital signage settings of the Zoom Rooms Account.
in: query
name: setting_type
required: true
schema:
default: meeting
type: string
- description: Unique identifier of the location type. This can be retrieved using the [List Zoom Room Location API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) (Id property in the response).
in: path
name: locationId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
client_alert:
detect_bluetooth_microphone_error_alert: true
detect_bluetooth_speaker_error_alert: true
detect_camera_error_alert: true
detect_microphone_error_alert: true
detect_speaker_error_alert: true
notification:
audio_not_meet_usability_threshold: false
battery_low_and_not_charging: false
controller_scheduling_disconnected: false
cpu_usage_high_detected: false
mic_speaker_camera_disconnected: false
network_unstable_detected: false
sip_registration_failed: false
zoom_room_display_disconnected: false
zoom_room_offline: false
schema:
oneOf:
- properties:
meeting_security:
properties:
encryption_type:
description: |-
Specifies whether enhanced encryption or [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) is being used when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allows use of end-to-end encryption for meetings. If set to `true`, the encryption type is specified in `encryption_type` field.
type: boolean
type: object
zoom_rooms:
properties:
allow_multiple_content_sharing:
description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
type: boolean
audio_device_daily_auto_test:
description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
type: boolean
auto_accept_incoming_call_and_fecc:
description: |-
Automatically accept incoming calls made from other Zoom Rooms or contacts in your account. Enabling this setting will also automatically allow far-end camera control.
This setting is returned only for location type - "country".
type: boolean
auto_direct_sharing:
description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
type: boolean
auto_start_scheduled_meeting:
description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
type: boolean
auto_stop_scheduled_meeting:
description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
type: boolean
count_attendees_number_in_room:
description: |
Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
type: boolean
display_feedback_survey:
description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
type: boolean
display_meeting_list:
description: " Show the same information on the TV that is shown on the controller."
type: boolean
display_top_banner:
description: Allow to display room name, time and sharing key on the top portion of TV.
type: boolean
encrypt_shared_screen_content:
description: Encrypt screen and content shared in meetings.
type: boolean
hide_id_for_private_meeting:
description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
type: boolean
hide_self_view:
description: |-
If enabled, you will not see your own video but other people in the meeting can still see your video.
This setting is returned only for location type - "country".
type: boolean
lock_speaker_volume_control:
description: |-
Lock speaker volume control on controller.
This setting is returned only for location type - "country".
type: boolean
send_whiteboard_to_internal_contact_only:
description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
type: boolean
show_alert_before_meeting:
description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
type: boolean
show_call_history_in_room:
description: |
Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
type: boolean
show_contact_list_on_controller:
description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
type: boolean
show_non_video_participants:
description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
type: boolean
start_airplay_manually:
description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
type: boolean
start_airplay_mirroring:
description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
type: boolean
start_hdmi_content_share_manualy:
description: |-
Disable automatic detection and enable manual content sharing from a device to a Zoom Room. Learn more [here](https://support.zoom.us/hc/en-us/articles/201504265-Wired-HDMI-Screen-Share-via-Capture-Device).
This setting is returned only for location type - "country".
type: boolean
support_join_3rd_party_meeting:
description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
type: boolean
transform_meeting_to_private:
description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
type: boolean
upcoming_meeting_alert:
description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
type: boolean
voice_commands:
description: Enable [voice commands](https://support.zoom.us/hc/en-us/articles/115000527983-Voice-Command-with-Zoom-Rooms) with Zoom Rooms.
type: boolean
weekly_system_restart:
description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
type: boolean
type: object
- properties:
client_alert:
description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
properties:
detect_bluetooth_microphone_error_alert:
description: Display an alert message when an issue is detected with a bluetooth microphone.
type: boolean
detect_bluetooth_speaker_error_alert:
description: Display an alert message when an issue is detected with a bluetooth speaker.
type: boolean
detect_camera_error_alert:
description: Display an alert message when an issue is detected with a camera.
type: boolean
detect_microphone_error_alert:
description: Display an alert message when an issue is detected with microphone.
type: boolean
detect_speaker_error_alert:
description: Display an alert message when an issue is detected with a speaker.
type: boolean
type: object
digital_signage:
properties:
banner:
description: Specifies the elements that you want to display in the top banner.
properties:
banner_room_name:
description: Display or hide banner room name.
type: boolean
banner_sharing_key:
description: Display or hide banner sharing key.
type: boolean
banner_time:
description: Display or hide time in the banner.
type: boolean
type: object
display_period:
description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
properties:
start_displaying_content:
description: Start displaying digital signage content after certain duration after the meeting ends. The value of this field indicates the duration in minutes.
type: integer
stop_displaying_content:
description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. The value of this field indicates the duration in minutes.
type: integer
type: object
enable_digital_signage:
description: |-
[Indicates whether digital signage is on or off,](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
`true`: enable `false`: disable
type: boolean
layout:
description: |-
Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
`standard`: Standard Center
`video_content`: Video + Content
type: string
mute:
description: Sound of all contents will be muted if the value of this field is set to `true`.
type: boolean
play_list:
description: Content list.
items:
properties:
action:
description: |
Specify an action for the content list. The value can be one of the following:
`add`: Add another content list.
`update`: Update existing content list.
`delete`: Delete content list.
enum:
- add
- update
- delete
type: string
contents:
items:
description: Content list.
properties:
content_id:
description: Content Id.
type: string
duration:
description: Duration for how long the content will be displayed.
type: integer
id:
type: string
name:
description: Name of the content.
type: string
order:
description: Order of the content in the display.
type: integer
type: object
maxItems: 3
type: array
end_time:
description: Specify the display end time for the content list in GMT.
type: string
id:
description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
type: string
name:
description: Name of the content list.
type: string
start_time:
description: Specify the display start time for the content list in GMT.
type: string
type: object
maxItems: 2
type: array
type: object
notification:
description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
properties:
audio_meet_usability_threshold:
description: Send an alert when the audio echo test result meets usability threshold.
type: boolean
audio_not_meet_usability_threshold:
description: Send an alert when the audio echo test result does not meet usability threshold.
type: boolean
battery_is_charging:
description: Send an alert when the battery starts charging.
type: boolean
battery_low_and_not_charging:
description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
type: boolean
battery_percentage:
description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
type: string
controller_scheduling_disconnected:
description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
type: boolean
controller_scheduling_reconnected:
description: Send an alert when the Controller or Scheduling Display can be detected again.
type: boolean
cpu_usage_high_detected:
description: Send an alert when CPU usage is above 90%.
type: boolean
mic_speaker_camera_disconnected:
description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
type: boolean
mic_speaker_camera_reconnected:
description: Send an alert when the mic, speaker or camera is reconnected.
type: boolean
network_unstable_detected:
description: Send an alert when low bandwidth network is detected
type: boolean
sip_registration_failed:
description: "Send an alert when SIP registration stops working. "
type: boolean
sip_registration_re_enabled:
description: Send an alert after the SIP registration is re-enabled.
type: boolean
zoom_room_come_back_online:
description: Send an alert when the Zoom Room is online after previously being offline.
type: boolean
zoom_room_display_disconnected:
description: Send an alert when the TV display is disconnected
type: boolean
zoom_room_offline:
description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
type: boolean
type: object
type: object
application/xml:
schema:
oneOf:
- properties:
meeting_security:
properties:
encryption_type:
description: |-
Specifies whether enhanced encryption or [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) is being used when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allows use of end-to-end encryption for meetings. If set to `true`, the encryption type is specified in `encryption_type` field.
type: boolean
type: object
zoom_rooms:
properties:
allow_multiple_content_sharing:
description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
type: boolean
audio_device_daily_auto_test:
description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
type: boolean
auto_accept_incoming_call_and_fecc:
description: |-
Automatically accept incoming calls made from other Zoom Rooms or contacts in your account. Enabling this setting will also automatically allow far-end camera control.
This setting is returned only for location type - "country".
type: boolean
auto_direct_sharing:
description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
type: boolean
auto_start_scheduled_meeting:
description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
type: boolean
auto_stop_scheduled_meeting:
description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
type: boolean
count_attendees_number_in_room:
description: |
Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
type: boolean
display_feedback_survey:
description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
type: boolean
display_meeting_list:
description: " Show the same information on the TV that is shown on the controller."
type: boolean
display_top_banner:
description: Allow to display room name, time and sharing key on the top portion of TV.
type: boolean
encrypt_shared_screen_content:
description: Encrypt screen and content shared in meetings.
type: boolean
hide_id_for_private_meeting:
description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
type: boolean
hide_self_view:
description: |-
If enabled, you will not see your own video but other people in the meeting can still see your video.
This setting is returned only for location type - "country".
type: boolean
lock_speaker_volume_control:
description: |-
Lock speaker volume control on controller.
This setting is returned only for location type - "country".
type: boolean
send_whiteboard_to_internal_contact_only:
description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
type: boolean
show_alert_before_meeting:
description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
type: boolean
show_call_history_in_room:
description: |
Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
type: boolean
show_contact_list_on_controller:
description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
type: boolean
show_non_video_participants:
description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
type: boolean
start_airplay_manually:
description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
type: boolean
start_airplay_mirroring:
description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
type: boolean
start_hdmi_content_share_manualy:
description: |-
Disable automatic detection and enable manual content sharing from a device to a Zoom Room. Learn more [here](https://support.zoom.us/hc/en-us/articles/201504265-Wired-HDMI-Screen-Share-via-Capture-Device).
This setting is returned only for location type - "country".
type: boolean
support_join_3rd_party_meeting:
description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
type: boolean
transform_meeting_to_private:
description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
type: boolean
upcoming_meeting_alert:
description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
type: boolean
voice_commands:
description: Enable [voice commands](https://support.zoom.us/hc/en-us/articles/115000527983-Voice-Command-with-Zoom-Rooms) with Zoom Rooms.
type: boolean
weekly_system_restart:
description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
type: boolean
type: object
- properties:
client_alert:
description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
properties:
detect_bluetooth_microphone_error_alert:
description: Display an alert message when an issue is detected with a bluetooth microphone.
type: boolean
detect_bluetooth_speaker_error_alert:
description: Display an alert message when an issue is detected with a bluetooth speaker.
type: boolean
detect_camera_error_alert:
description: Display an alert message when an issue is detected with a camera.
type: boolean
detect_microphone_error_alert:
description: Display an alert message when an issue is detected with microphone.
type: boolean
detect_speaker_error_alert:
description: Display an alert message when an issue is detected with a speaker.
type: boolean
type: object
digital_signage:
properties:
banner:
description: Specifies the elements that you want to display in the top banner.
properties:
banner_room_name:
description: Display or hide banner room name.
type: boolean
banner_sharing_key:
description: Display or hide banner sharing key.
type: boolean
banner_time:
description: Display or hide time in the banner.
type: boolean
type: object
display_period:
description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
properties:
start_displaying_content:
description: Start displaying digital signage content after certain duration after the meeting ends. The value of this field indicates the duration in minutes.
type: integer
stop_displaying_content:
description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. The value of this field indicates the duration in minutes.
type: integer
type: object
enable_digital_signage:
description: |-
[Indicates whether digital signage is on or off,](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
`true`: enable `false`: disable
type: boolean
layout:
description: |-
Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
`standard`: Standard Center
`video_content`: Video + Content
type: string
mute:
description: Sound of all contents will be muted if the value of this field is set to `true`.
type: boolean
play_list:
description: Content list.
items:
properties:
action:
description: |
Specify an action for the content list. The value can be one of the following:
`add`: Add another content list.
`update`: Update existing content list.
`delete`: Delete content list.
enum:
- add
- update
- delete
type: string
contents:
items:
description: Content list.
properties:
content_id:
description: Content Id.
type: string
duration:
description: Duration for how long the content will be displayed.
type: integer
id:
type: string
name:
description: Name of the content.
type: string
order:
description: Order of the content in the display.
type: integer
type: object
maxItems: 3
type: array
end_time:
description: Specify the display end time for the content list in GMT.
type: string
id:
description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
type: string
name:
description: Name of the content list.
type: string
start_time:
description: Specify the display start time for the content list in GMT.
type: string
type: object
maxItems: 2
type: array
type: object
notification:
description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
properties:
audio_meet_usability_threshold:
description: Send an alert when the audio echo test result meets usability threshold.
type: boolean
audio_not_meet_usability_threshold:
description: Send an alert when the audio echo test result does not meet usability threshold.
type: boolean
battery_is_charging:
description: Send an alert when the battery starts charging.
type: boolean
battery_low_and_not_charging:
description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
type: boolean
battery_percentage:
description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
type: string
controller_scheduling_disconnected:
description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
type: boolean
controller_scheduling_reconnected:
description: Send an alert when the Controller or Scheduling Display can be detected again.
type: boolean
cpu_usage_high_detected:
description: Send an alert when CPU usage is above 90%.
type: boolean
mic_speaker_camera_disconnected:
description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
type: boolean
mic_speaker_camera_reconnected:
description: Send an alert when the mic, speaker or camera is reconnected.
type: boolean
network_unstable_detected:
description: Send an alert when low bandwidth network is detected
type: boolean
sip_registration_failed:
description: "Send an alert when SIP registration stops working. "
type: boolean
sip_registration_re_enabled:
description: Send an alert after the SIP registration is re-enabled.
type: boolean
zoom_room_come_back_online:
description: Send an alert when the Zoom Room is online after previously being offline.
type: boolean
zoom_room_display_disconnected:
description: Send an alert when the TV display is disconnected
type: boolean
zoom_room_offline:
description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
type: boolean
type: object
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Zoom Room location settings returned successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
Access Restricted.
"404":
description: |+
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `4801`
Location not found: {locationId}
security:
- OAuth: []
summary: Get location settings
tags:
- Rooms Location
parameters:
- in: path
name: locationId
required: true
schema:
type: string
patch:
description: |-
Update information on either meeting or alert settings applied to Zoom Rooms located in a specific location. To update **Alert Settings**, specify `alert` as the value of the `setting_type` query parameter. Similarly, to update **Meeting Settings**, specify `meeting` as the value of the `setting_type` query parameter.
**Prerequisites:**
* Zoom Room licenses
* Owner or Admin privileges on the Zoom Account.
**Scopes:** `room:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: updateZRLocationSettings
parameters:
- description: |-
The type of setting that you would like to update. `alert`: Alert Settings applied on the Zoom Rooms Account.
`meeting`: Meeting settings of the Zoom Rooms Account.
`signage`: Digital signage settings.
in: query
name: setting_type
required: true
schema:
default: meeting
type: string
- description: Unique identifier of the location type. This can be retrieved using the [List Zoom Room Location API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) (Id property in the response).
in: path
name: locationId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
oneOf:
- properties:
meeting_security:
properties:
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
type: object
zoom_rooms:
properties:
allow_multiple_content_sharing:
description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
type: boolean
audio_device_daily_auto_test:
description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
type: boolean
auto_accept_incoming_call_and_fecc:
description: |-
Automatically accept incoming calls made from other Zoom Rooms or contacts in your account. Enabling this setting will also automatically allow far-end camera control.
This setting is returned only for location type - "country".
type: boolean
auto_direct_sharing:
description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
type: boolean
auto_start_scheduled_meeting:
description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
type: boolean
auto_stop_scheduled_meeting:
description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
type: boolean
count_attendees_number_in_room:
description: |
Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
type: boolean
display_feedback_survey:
description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
type: boolean
display_meeting_list:
description: " Show the same information on the TV that is shown on the controller."
type: boolean
display_top_banner:
description: Allow to display room name, time and sharing key on the top portion of TV.
type: boolean
encrypt_shared_screen_content:
description: Encrypt screen and content shared in meetings.
type: boolean
hide_id_for_private_meeting:
description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
type: boolean
hide_self_view:
description: |-
If enabled, you will not see your own video but other people in the meeting can still see your video.
This setting is returned only for location type - "country".
type: boolean
lock_speaker_volume_control:
description: |-
Lock speaker volume control on controller.
This setting is returned only for location type - "country".
type: boolean
send_whiteboard_to_internal_contact_only:
description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
type: boolean
show_alert_before_meeting:
description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
type: boolean
show_call_history_in_room:
description: |
Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
type: boolean
show_contact_list_on_controller:
description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
type: boolean
show_non_video_participants:
description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
type: boolean
start_airplay_manually:
description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
type: boolean
start_airplay_mirroring:
description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
type: boolean
start_hdmi_content_share_manualy:
description: |-
Disable automatic detection and enable manual content sharing from a device to a Zoom Room. Learn more [here](https://support.zoom.us/hc/en-us/articles/201504265-Wired-HDMI-Screen-Share-via-Capture-Device).
This setting is returned only for location type - "country".
type: boolean
support_join_3rd_party_meeting:
description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
type: boolean
transform_meeting_to_private:
description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
type: boolean
upcoming_meeting_alert:
description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
type: boolean
voice_commands:
description: Enable [voice commands](https://support.zoom.us/hc/en-us/articles/115000527983-Voice-Command-with-Zoom-Rooms) with Zoom Rooms.
type: boolean
weekly_system_restart:
description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
type: boolean
type: object
- properties:
client_alert:
description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
properties:
detect_bluetooth_microphone_error_alert:
description: Display an alert message when an issue is detected with a bluetooth microphone.
type: boolean
detect_bluetooth_speaker_error_alert:
description: Display an alert message when an issue is detected with a bluetooth speaker.
type: boolean
detect_camera_error_alert:
description: Display an alert message when an issue is detected with a camera.
type: boolean
detect_microphone_error_alert:
description: Display an alert message when an issue is detected with microphone.
type: boolean
detect_speaker_error_alert:
description: Display an alert message when an issue is detected with a speaker.
type: boolean
type: object
digital_signage:
properties:
banner:
properties:
banner_room_name:
type: boolean
banner_sharing_key:
type: boolean
banner_time:
type: boolean
type: object
display_period:
description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
properties:
start_displaying_content:
description: Start displaying digital signage content after certain duration after the meeting ends. Specify the value of the duration in minutes in this field.
type: integer
stop_displaying_content:
description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. Specify the value of duration in minutes in this field.
type: integer
type: object
enable_digital_signage:
description: |-
[Enable or disable digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
`true`: enable `false`: disable
type: boolean
layout:
description: |-
Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
`standard`: Standard Center
`video_content`: Video + Content
type: string
mute:
description: Sound of all contents will be muted if the value of this field is set to `true`.
type: boolean
play_list:
description: Content list.
items:
properties:
action:
description: |
Specify an action for the content list. The value can be one of the following:
`add`: Add another content list.
`update`: Update existing content list.
`delete`: Delete content list.
enum:
- add
- update
- delete
type: string
contents:
items:
description: Content list.
properties:
action:
description: |+
Specify an action for the content in the content list. The value can be one of the following:
`add`: Add another content to the content list.
`update`: Update existing content's information in the content list.
`delete`: Delete content from the content list.
type: string
content_id:
description: Content Id.
type: string
duration:
description: By default each content is display for 5 seconds. Using this field, specify how long you would like to display the content.
type: integer
id:
description: Unique identifier of the content. This field is only required if you would like to remove or update the content information.
type: string
name:
description: Name of the content.
type: string
order:
description: Order of the content in the display.
type: integer
type: object
maxItems: 3
type: array
end_time:
description: Specify the display end time for the content list in GMT.
type: string
id:
description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
type: string
name:
description: Name of the content list.
type: string
start_time:
description: Specify the display start time for the content list in GMT.
type: string
type: object
maxItems: 2
type: array
type: object
notification:
description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
properties:
audio_meet_usability_threshold:
description: Send an alert when the audio echo test result meets usability threshold.
type: boolean
audio_not_meet_usability_threshold:
description: Send an alert when the audio echo test result does not meet usability threshold.
type: boolean
battery_is_charging:
description: Send an alert when the battery starts charging.
type: boolean
battery_low_and_not_charging:
description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
type: boolean
battery_percentage:
description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
type: string
controller_scheduling_disconnected:
description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
type: boolean
controller_scheduling_reconnected:
description: Send an alert when the Controller or Scheduling Display can be detected again.
type: boolean
cpu_usage_high_detected:
description: Send an alert when CPU usage is above 90%.
type: boolean
mic_speaker_camera_disconnected:
description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
type: boolean
mic_speaker_camera_reconnected:
description: Send an alert when the mic, speaker or camera is reconnected.
type: boolean
network_unstable_detected:
description: Send an alert when low bandwidth network is detected
type: boolean
sip_registration_failed:
description: "Send an alert when SIP registration stops working. "
type: boolean
sip_registration_re_enabled:
description: Send an alert after the SIP registration is re-enabled.
type: boolean
zoom_room_come_back_online:
description: Send an alert when the Zoom Room is online after previously being offline.
type: boolean
zoom_room_display_disconnected:
description: Send an alert when the TV display is disconnected
type: boolean
zoom_room_offline:
description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
type: boolean
type: object
type: object
multipart/form-data:
schema:
oneOf:
- properties:
meeting_security:
properties:
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
type: object
zoom_rooms:
properties:
allow_multiple_content_sharing:
description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
type: boolean
audio_device_daily_auto_test:
description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
type: boolean
auto_accept_incoming_call_and_fecc:
description: |-
Automatically accept incoming calls made from other Zoom Rooms or contacts in your account. Enabling this setting will also automatically allow far-end camera control.
This setting is returned only for location type - "country".
type: boolean
auto_direct_sharing:
description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
type: boolean
auto_start_scheduled_meeting:
description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
type: boolean
auto_stop_scheduled_meeting:
description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
type: boolean
count_attendees_number_in_room:
description: |
Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
type: boolean
display_feedback_survey:
description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
type: boolean
display_meeting_list:
description: " Show the same information on the TV that is shown on the controller."
type: boolean
display_top_banner:
description: Allow to display room name, time and sharing key on the top portion of TV.
type: boolean
encrypt_shared_screen_content:
description: Encrypt screen and content shared in meetings.
type: boolean
hide_id_for_private_meeting:
description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
type: boolean
hide_self_view:
description: |-
If enabled, you will not see your own video but other people in the meeting can still see your video.
This setting is returned only for location type - "country".
type: boolean
lock_speaker_volume_control:
description: |-
Lock speaker volume control on controller.
This setting is returned only for location type - "country".
type: boolean
send_whiteboard_to_internal_contact_only:
description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
type: boolean
show_alert_before_meeting:
description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
type: boolean
show_call_history_in_room:
description: |
Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
type: boolean
show_contact_list_on_controller:
description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
type: boolean
show_non_video_participants:
description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
type: boolean
start_airplay_manually:
description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
type: boolean
start_airplay_mirroring:
description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
type: boolean
start_hdmi_content_share_manualy:
description: |-
Disable automatic detection and enable manual content sharing from a device to a Zoom Room. Learn more [here](https://support.zoom.us/hc/en-us/articles/201504265-Wired-HDMI-Screen-Share-via-Capture-Device).
This setting is returned only for location type - "country".
type: boolean
support_join_3rd_party_meeting:
description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
type: boolean
transform_meeting_to_private:
description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
type: boolean
upcoming_meeting_alert:
description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
type: boolean
voice_commands:
description: Enable [voice commands](https://support.zoom.us/hc/en-us/articles/115000527983-Voice-Command-with-Zoom-Rooms) with Zoom Rooms.
type: boolean
weekly_system_restart:
description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
type: boolean
type: object
- properties:
client_alert:
description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
properties:
detect_bluetooth_microphone_error_alert:
description: Display an alert message when an issue is detected with a bluetooth microphone.
type: boolean
detect_bluetooth_speaker_error_alert:
description: Display an alert message when an issue is detected with a bluetooth speaker.
type: boolean
detect_camera_error_alert:
description: Display an alert message when an issue is detected with a camera.
type: boolean
detect_microphone_error_alert:
description: Display an alert message when an issue is detected with microphone.
type: boolean
detect_speaker_error_alert:
description: Display an alert message when an issue is detected with a speaker.
type: boolean
type: object
digital_signage:
properties:
banner:
properties:
banner_room_name:
type: boolean
banner_sharing_key:
type: boolean
banner_time:
type: boolean
type: object
display_period:
description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
properties:
start_displaying_content:
description: Start displaying digital signage content after certain duration after the meeting ends. Specify the value of the duration in minutes in this field.
type: integer
stop_displaying_content:
description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. Specify the value of duration in minutes in this field.
type: integer
type: object
enable_digital_signage:
description: |-
[Enable or disable digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
`true`: enable `false`: disable
type: boolean
layout:
description: |-
Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
`standard`: Standard Center
`video_content`: Video + Content
type: string
mute:
description: Sound of all contents will be muted if the value of this field is set to `true`.
type: boolean
play_list:
description: Content list.
items:
properties:
action:
description: |
Specify an action for the content list. The value can be one of the following:
`add`: Add another content list.
`update`: Update existing content list.
`delete`: Delete content list.
enum:
- add
- update
- delete
type: string
contents:
items:
description: Content list.
properties:
action:
description: |+
Specify an action for the content in the content list. The value can be one of the following:
`add`: Add another content to the content list.
`update`: Update existing content's information in the content list.
`delete`: Delete content from the content list.
type: string
content_id:
description: Content Id.
type: string
duration:
description: By default each content is display for 5 seconds. Using this field, specify how long you would like to display the content.
type: integer
id:
description: Unique identifier of the content. This field is only required if you would like to remove or update the content information.
type: string
name:
description: Name of the content.
type: string
order:
description: Order of the content in the display.
type: integer
type: object
maxItems: 3
type: array
end_time:
description: Specify the display end time for the content list in GMT.
type: string
id:
description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
type: string
name:
description: Name of the content list.
type: string
start_time:
description: Specify the display start time for the content list in GMT.
type: string
type: object
maxItems: 2
type: array
type: object
notification:
description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
properties:
audio_meet_usability_threshold:
description: Send an alert when the audio echo test result meets usability threshold.
type: boolean
audio_not_meet_usability_threshold:
description: Send an alert when the audio echo test result does not meet usability threshold.
type: boolean
battery_is_charging:
description: Send an alert when the battery starts charging.
type: boolean
battery_low_and_not_charging:
description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
type: boolean
battery_percentage:
description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
type: string
controller_scheduling_disconnected:
description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
type: boolean
controller_scheduling_reconnected:
description: Send an alert when the Controller or Scheduling Display can be detected again.
type: boolean
cpu_usage_high_detected:
description: Send an alert when CPU usage is above 90%.
type: boolean
mic_speaker_camera_disconnected:
description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
type: boolean
mic_speaker_camera_reconnected:
description: Send an alert when the mic, speaker or camera is reconnected.
type: boolean
network_unstable_detected:
description: Send an alert when low bandwidth network is detected
type: boolean
sip_registration_failed:
description: "Send an alert when SIP registration stops working. "
type: boolean
sip_registration_re_enabled:
description: Send an alert after the SIP registration is re-enabled.
type: boolean
zoom_room_come_back_online:
description: Send an alert when the Zoom Room is online after previously being offline.
type: boolean
zoom_room_display_disconnected:
description: Send an alert when the TV display is disconnected
type: boolean
zoom_room_offline:
description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
type: boolean
type: object
type: object
x-examples:
application/json:
client_alert:
detect_bluetooth_microphone_error_alert: false
detect_bluetooth_speaker_error_alert: false
detect_camera_error_alert: true
detect_microphone_error_alert: false
detect_speaker_error_alert: true
notification:
audio_meet_usability_threshold: false
audio_not_meet_usability_threshold: false
battery_is_charging: false
battery_low_and_not_charging: true
battery_percentage: in ut incididunt velit
controller_scheduling_disconnected: false
controller_scheduling_reconnected: false
cpu_usage_high_detected: false
mic_speaker_camera_disconnected: true
mic_speaker_camera_reconnected: false
network_unstable_detected: true
sip_registration_failed: false
sip_registration_re_enabled: true
zoom_room_come_back_online: true
zoom_room_display_disconnected: false
zoom_room_offline: false
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Location settings updated successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
Access restricted.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `4801`
Location not found: {locationId}
security:
- OAuth: []
summary: Update location settings
tags:
- Rooms Location
"/rooms/{id}/events":
parameters:
- in: path
name: id
required: true
schema:
type: string
patch:
description: |-
The Zoom Rooms check-in feature helps maximize your room utilization. Use this API to either **check in** and confirm that you are utilizing the room reservation or to **check out** of the room so that the room gets released from the scheduled meeting and will be made available for others to use. Learn more from the [Using the Zoom Rooms check-in feature](https://support.zoom.us/hc/en-us/articles/360001147163-Using-the-Zoom-Rooms-check-in-feature) guide.
**Prerequisites:**
* [Zoom Rooms](https://support.zoom.us/hc/en-us/articles/207483343-Getting-started-with-Zoom-Rooms#:~:text=Zoom%20Rooms%20is%20a%20software,or%20from%20their%20mobile%20device) must have been set up for use for the account and must be online.
* You must have access to the Calendar Integration APIs (either Microsoft Exchange or Google Calendar APIs) to get calendar information associated with the Room.
**Scope:** `room:write:admin`
operationId: checkInRooms
parameters:
- description: Room ID
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
method:
description: |-
The value of this field can be one of the following:
* zoomroom.check_in
* zoomroom.check_out
type: string
params:
properties:
calendar_id:
description: "This field is only required if Google Calendar is being used for the event associated with the Zoom Room. The value for this field can be retrieved by calling Google's [CalendarList:list API](https://developers.google.com/calendar/v3/reference/events/list) and referring to the \"id\" field included in the [calendarList resource](https://developers.google.com/calendar/v3/reference/calendarList#resource).
\ "
type: string
change_key:
description: This field is required only for Microsoft Exchange or Office 365 calendar. The change key represents the specific version of the calendar item and can be retrieved by using Microsoft's [FindItem Operation](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/finditem-operation) and referring to the ChangeKey field of the ItemId Element included in the operation response.
type: string
event_id:
description: |+
Unique Identifier of the calendar event associated with the Zoom Room.
If the calendar integration being used is Microsoft Exchange, the value for this field can be retrieved by using Microsoft's [FindItem Operation](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/finditem-operation) and referring to the Id field of the ItemId Element included in the operation response.
If the Google calendar integration was used for this event, the event_id can be retrieved by calling Google's [Events:list API](https://developers.google.com/calendar/v3/reference/events/list) and referring to the "id" field included in the [events resource](https://developers.google.com/calendar/v3/reference/events#resource).
type: string
resource_email:
description: This field is only required for Microsoft Exchange / Office 365 Calendar. It is the [resource mailbox](https://support.microsoft.com/en-us/help/10063/creating-and-managing-resource-mailboxes-in-office-365) associated with the calendar.
format: email
type: string
required:
- event_id
type: object
type: object
multipart/form-data:
schema:
properties:
method:
description: |-
The value of this field can be one of the following:
* zoomroom.check_in
* zoomroom.check_out
type: string
params:
properties:
calendar_id:
description: "This field is only required if Google Calendar is being used for the event associated with the Zoom Room. The value for this field can be retrieved by calling Google's [CalendarList:list API](https://developers.google.com/calendar/v3/reference/events/list) and referring to the \"id\" field included in the [calendarList resource](https://developers.google.com/calendar/v3/reference/calendarList#resource).
\ "
type: string
change_key:
description: This field is required only for Microsoft Exchange or Office 365 calendar. The change key represents the specific version of the calendar item and can be retrieved by using Microsoft's [FindItem Operation](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/finditem-operation) and referring to the ChangeKey field of the ItemId Element included in the operation response.
type: string
event_id:
description: |+
Unique Identifier of the calendar event associated with the Zoom Room.
If the calendar integration being used is Microsoft Exchange, the value for this field can be retrieved by using Microsoft's [FindItem Operation](https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/finditem-operation) and referring to the Id field of the ItemId Element included in the operation response.
If the Google calendar integration was used for this event, the event_id can be retrieved by calling Google's [Events:list API](https://developers.google.com/calendar/v3/reference/events/list) and referring to the "id" field included in the [events resource](https://developers.google.com/calendar/v3/reference/events#resource).
type: string
resource_email:
description: This field is only required for Microsoft Exchange / Office 365 Calendar. It is the [resource mailbox](https://support.microsoft.com/en-us/help/10063/creating-and-managing-resource-mailboxes-in-office-365) associated with the calendar.
format: email
type: string
required:
- event_id
type: object
type: object
x-examples:
application/json:
method: zoomroom.check_in
params:
change_key: DwAbbb/dsuyfwwyu90AE2XqVw
event_id: AAMdxghjkdfkdsd7hgfsjdfjkkjgdjksdjdsdddddg6886AA=
resource_email: public.test@somedomainhere1234.com
responses:
"202":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `202` **Accepted**
Request processed successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
* Zoom Room is offline. Please ensure that the Zoom Room is online before checking in or checking out.
* Invalid parameters.
"404":
description: |+
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1012`
Room does not exist: {roomId}.
summary: Check-in or check-out of a Zoom Room
tags:
- Rooms
"/rooms/{roomId}":
delete:
description: |-
[Remove](https://support.zoom.us/hc/en-us/articles/360033432032-Zoom-Room-Device-Profiles#h_e55b2092-c418-4b02-819f-44de51448900) a specific Zoom Room profile from a Zoom account.
**Prerequisites:**
* Pro or a higher plan with [Zoom Room](https://zoom.us/zoomrooms) license.
**Scopes**: `room:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteAZoomRoom
parameters:
- description: Unique Identifier of a Zoom Room.
in: path
name: roomId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |
**HTTP Status Code:** `204` **No Content**
Zoom Room deleted successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
Access restricted.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1012`
Room not found:{roomId}
security:
- OAuth: []
summary: Delete a Zoom Room
tags:
- Rooms
get:
description: |-
Zoom Rooms is a software-based room system that provides an integrated experience for audio conferencing, wireless screen sharing and video conferencing. Use this API to get detailed information on a specific Zoom Room in a Zoom account.
**Prerequisites:**
* Pro or a higher plan with [Zoom Room](https://zoom.us/zoomrooms) license.
**Scopes**: `room:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: getZRProfile
parameters:
- description: Unique Identifier of the Zoom Room. This can be retrieved from the response of [List Zoom Rooms](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/listzoomrooms) API.
in: path
name: roomId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
basic:
activation_code: "12345"
hide_room_in_contacts: false
name: MytestbRoom
required_code_to_ext: true
room_passcode: "1234"
support_email: abcdfdjorjggr@gh.123
support_phone: "00001111"
schema:
properties:
basic:
properties:
activation_code:
description: Activation Code is the code that is used to complete the setup of the Zoom Room.
type: string
hide_room_in_contacts:
description: "Hide this Zoom Room from your Contact List. "
type: boolean
name:
description: Name of the Zoom Room.
type: string
required_code_to_ext:
description: |
Require code to exit out of Zoom Rooms application to switch between other apps.
type: boolean
room_passcode:
description: 1-16 digit number or characters that is used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or sign out.
maxLength: 16
minLength: 1
type: string
support_email:
description: The email address to be used for reporting Zoom Room issues.
format: email
type: string
support_phone:
description: |
The phone number to be used for reporting Zoom Room issues.
type: string
type: object
type: object
application/xml:
schema:
properties:
basic:
properties:
activation_code:
description: Activation Code is the code that is used to complete the setup of the Zoom Room.
type: string
hide_room_in_contacts:
description: "Hide this Zoom Room from your Contact List. "
type: boolean
name:
description: Name of the Zoom Room.
type: string
required_code_to_ext:
description: |
Require code to exit out of Zoom Rooms application to switch between other apps.
type: boolean
room_passcode:
description: 1-16 digit number or characters that is used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or sign out.
maxLength: 16
minLength: 1
type: string
support_email:
description: The email address to be used for reporting Zoom Room issues.
format: email
type: string
support_phone:
description: |
The phone number to be used for reporting Zoom Room issues.
type: string
type: object
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Zoom Room profile returned successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
* Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
* Access restricted.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1012`
Room not found:{roomId}.
security:
- OAuth: []
summary: Get Zoom Room profile
tags:
- Rooms
parameters:
- in: path
name: roomId
required: true
schema:
type: string
patch:
description: |-
Update basic information on a specific Zoom Room in a Zoom account.
**Prerequisites:**
* Pro or a higher plan with [Zoom Room](https://zoom.us/zoomrooms) license.
**Scopes**: `room:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: updateRoomProfile
parameters:
- description: Unique Identifier of a Zoom Room.
in: path
name: roomId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
basic:
properties:
hide_room_in_contacts:
description: "Hide this Zoom Room from your Contact List. "
type: boolean
name:
description: Name of the Zoom Room.
type: string
required_code_to_ext:
description: |
Require code to exit out of Zoom Rooms application to switch between other apps.
type: boolean
room_passcode:
description: 1-16 digit number or characters that is used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or sign out.
maxLength: 16
minLength: 1
type: string
support_email:
description: The email address to be used for reporting Zoom Room issues.
format: email
type: string
support_phone:
description: |
The phone number to be used for reporting Zoom Room issues.
type: string
type: object
type: object
multipart/form-data:
schema:
properties:
basic:
properties:
hide_room_in_contacts:
description: "Hide this Zoom Room from your Contact List. "
type: boolean
name:
description: Name of the Zoom Room.
type: string
required_code_to_ext:
description: |
Require code to exit out of Zoom Rooms application to switch between other apps.
type: boolean
room_passcode:
description: 1-16 digit number or characters that is used to secure your Zoom Rooms application. This code must be entered on your Zoom Room Controller to change settings or sign out.
maxLength: 16
minLength: 1
type: string
support_email:
description: The email address to be used for reporting Zoom Room issues.
format: email
type: string
support_phone:
description: |
The phone number to be used for reporting Zoom Room issues.
type: string
type: object
type: object
x-examples:
application/json:
basic:
hide_room_in_contacts: true
name: MytestZRoom
required_code_to_ext: true
room_passcode: "232434"
support_email: abcjggr@gh.123
support_phone: "00001111"
responses:
"204":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |
**HTTP Status Code:** `204` **No Content**
Room Profile information updated successfully.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
Access restricted.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1012`
Room not found:{roomId}
security:
- OAuth: []
summary: Update a Zoom Room profile
tags:
- Rooms
"/rooms/{roomId}/devices":
get:
description: |-
List information about the devices that are being used for a specific [Zoom Room](https://support.zoom.us/hc/en-us/articles/207483343-Getting-Started-with-Zoom-Rooms) in an account.
**Prerequisites:**
* Pro or a higher plan with [Zoom Room](https://zoom.us/zoomrooms) license.
* Account owner or admin permissions.
**Scopes**: `room:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listZRDevices
parameters:
- description: Unique Identifier of the Zoom Room. This can be retrieved from the response of [List Zoom Rooms](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/listzoomrooms) API.
in: path
name: roomId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
devices:
- app_version: 4.4.1 (1242.0623)
device_system: Win 10
device_type: Zoom Rooms Computer
id: sajhdfshf24324
room_name: MyAwesomeZoomRoom
status: Online
- app_version: 4.3.6 (265.0307)
device_system: iPad 12.3.1
device_type: Zoom Rooms Controller
id: 32dhgdfg2were
room_name: MyAwesomeZoomRoom
status: Online
schema:
properties:
devices:
items:
properties:
app_version:
description: App version of Zoom Rooms.
type: string
device_system:
description: Operating system of the device.
type: string
device_type:
description: Type of the device. The value of this field can be one of the following: `Zoom Rooms Computer`, `Controller`, `Scheduling Display`, `Zoom Rooms Control System`, `Companion Whiteboard`
enum:
- Zoom Rooms Computer
- Controller
- Scheduling Display
- Zoom Rooms Control System
- Companion Whiteboard
type: string
id:
description: Unique identifier of the device.
type: string
room_name:
description: Name of the Zoom Room.
type: string
status:
description: Status of the device. The value can be either `Online` or `Offline`.
enum:
- Online
- Offline
type: string
type: object
type: array
type: object
application/xml:
schema:
properties:
devices:
items:
properties:
app_version:
description: App version of Zoom Rooms.
type: string
device_system:
description: Operating system of the device.
type: string
device_type:
description: Type of the device. The value of this field can be one of the following: `Zoom Rooms Computer`, `Controller`, `Scheduling Display`, `Zoom Rooms Control System`, `Companion Whiteboard`
enum:
- Zoom Rooms Computer
- Controller
- Scheduling Display
- Zoom Rooms Control System
- Companion Whiteboard
type: string
id:
description: Unique identifier of the device.
type: string
room_name:
description: Name of the Zoom Room.
type: string
status:
description: Status of the device. The value can be either `Online` or `Offline`.
enum:
- Online
- Offline
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Devices listed successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
security:
- OAuth: []
summary: List Zoom Room devices
tags:
- Rooms
parameters:
- in: path
name: roomId
required: true
schema:
type: string
"/rooms/{roomId}/devices/{deviceId}/app_version":
parameters:
- in: path
name: roomId
required: true
schema:
type: string
- in: path
name: deviceId
required: true
schema:
type: string
put:
description: |-
[Upgrade](https://support.zoom.us/hc/en-us/articles/204675449-Upgrade-or-Downgrade-Zoom-Rooms-Software#h_1751c48a-644e-4a60-b96a-31ec77c616e6) or [downgrade](https://support.zoom.us/hc/en-us/articles/204675449-Upgrade-or-Downgrade-Zoom-Rooms-Software#h_d97349d6-9253-484c-af80-350475026524) the version of Zoom Rooms App installed in your Mac or Windows device.
**Prerequisites:**
* Pro or a higher account with Zoom Rooms.
* Zoom Rooms software must be installed either on a Mac or a Windows device. This API does not support other devices.
operationId: changeZoomRoomsAppVersion
parameters:
- description: Unique Identifier of the Zoom Room.
in: path
name: roomId
required: true
schema:
type: string
- description: Unique Identifier of the Mac or the Windows device. The value of this field can be retrieved from the [List Zoom Room Devices API](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms/listzrdevices).
in: path
name: deviceId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
action:
description: |-
Specify one of the following values for this field:
`upgrade`: Upgrade to the latest Zoom Rooms App Version.
`downgrade`: Downgrade the Zoom Rooms App Version.
`cancel`: Cancel an ongoing upgrade or downgrade process.
enum:
- upgrade
- downgrade
- cancel
type: string
type: object
multipart/form-data:
schema:
properties:
action:
description: |-
Specify one of the following values for this field:
`upgrade`: Upgrade to the latest Zoom Rooms App Version.
`downgrade`: Downgrade the Zoom Rooms App Version.
`cancel`: Cancel an ongoing upgrade or downgrade process.
enum:
- upgrade
- downgrade
- cancel
type: string
type: object
x-examples:
application/json:
action: upgrade
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Request processed successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `8001` Cannot process this upgrade request. The Zoom Rooms Software in this device is either already up to date or is currently being updated.
**Error Code:** `8002` Cannot process the downgrade request. The target version for downgrading is not available or the downgrade process has already been initiated.
**Error Code:** `8003` The cancel request could not be processed because the Zoom Rooms Software in this device is not being downgraded or upgraded at the moment. The cancel action should only be used to cancel an ongoing upgrade or downgrade process.
**Error Code:** `8004` A device with the provided Device ID: {deviceId} does not belong to the current room: {roomId}.
summary: Change Zoom Rooms' app version
tags:
- Rooms Devices
"/rooms/{roomId}/location":
parameters:
- in: path
name: roomId
required: true
schema:
type: string
put:
description: |-
An account owner of a Zoom account can establish a [Zoom Rooms Location Hierarchy](https://support.zoom.us/hc/en-us/articles/115000342983-Zoom-Rooms-Location-Hierarchy) to better organize Zoom Rooms spread accress various location. The location can be structured in a hierarchy with Country being the top-level location, followed by city, campus, building, and floor. Use this API to assign a new location for a Zoom Room. Note that the Zoom Room can be assigned only to the lowest level location available in the hierarchy.
**Prerequisite:**
* Account owner or admin permission
* Zoom Rooms version 4.0 or higher
**Scopes:** `room:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: changeZRLocation
parameters:
- description: Unique Identifier of the Zoom Room.
in: path
name: roomId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
location_id:
description: Location ID of the location where Zoom Room is to be assigned. This can be retrieved from the `id` property in the response of [List Zoom Rooms Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
type: string
type: object
multipart/form-data:
schema:
properties:
location_id:
description: Location ID of the location where Zoom Room is to be assigned. This can be retrieved from the `id` property in the response of [List Zoom Rooms Locations](https://marketplace.zoom.us/docs/api-reference/zoom-api/rooms-location/listzrlocations) API.
type: string
type: object
x-examples:
application/json:
location_id: ut12434oris
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Location of the Zoom Room changed successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `4801`
Location not found:{location_id}
security:
- OAuth: []
summary: Change a Zoom Room's location
tags:
- Rooms
"/rooms/{roomId}/settings":
get:
description: |-
Get information on meeting or alert settings applied to a specific Zoom Room. By default, only **Meeting Settings** are returned. To view only **Alert Settings**, specify `alert` as the value of the `setting_type` query parameter.
**Prerequisites:**
* Zoom Room licenses
* Owner or Admin privileges on the Zoom Account.
**Scopes:** `room:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: getZRSettings
parameters:
- description: |-
The type of setting that you would like to retrieve. `alert`: Alert Settings applied on the Zoom Rooms Account.
`meeting`: Meeting settings of the Zoom Rooms Account.
in: query
name: setting_type
required: true
schema:
default: meeting
type: string
- description: Unique identifier of the Zoom Room.
in: path
name: roomId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
zoom_rooms:
allow_multiple_content_sharing: true
audio_device_daily_auto_test: true
auto_direct_sharing: false
auto_start_scheduled_meeting: true
auto_stop_scheduled_meeting: true
count_attendees_number_in_room: true
display_feedback_survey: true
display_meeting_list: false
display_top_banner: false
encrypt_shared_screen_content: false
hide_id_for_private_meeting: false
hide_share_instruction: true
send_whiteboard_to_internal_contact_only: true
show_alert_before_meeting: false
show_call_history_in_room: true
show_contact_list_on_controller: true
show_non_video_participants: false
start_airplay_manually: true
support_join_3rd_party_meeting: true
transform_meeting_to_private: false
upcoming_meeting_alert: true
weekly_system_restart: false
schema:
oneOf:
- properties:
meeting_security:
properties:
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
type: object
zoom_rooms:
properties:
allow_multiple_content_sharing:
description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
type: boolean
audio_device_daily_auto_test:
description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
type: boolean
auto_direct_sharing:
description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
type: boolean
auto_start_scheduled_meeting:
description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
type: boolean
auto_stop_scheduled_meeting:
description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
type: boolean
count_attendees_number_in_room:
description: |
Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
type: boolean
display_feedback_survey:
description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
type: boolean
display_meeting_list:
description: " Show the same information on the TV that is shown on the controller."
type: boolean
display_top_banner:
description: Allow to display room name, time and sharing key on the top portion of TV.
type: boolean
encrypt_shared_screen_content:
description: Encrypt screen and content shared in meetings.
type: boolean
hide_id_for_private_meeting:
description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
type: boolean
hide_share_instruction:
description: Hide share instructions from TV.
type: boolean
send_whiteboard_to_internal_contact_only:
description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
type: boolean
show_alert_before_meeting:
description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
type: boolean
show_call_history_in_room:
description: |
Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
type: boolean
show_contact_list_on_controller:
description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
type: boolean
show_non_video_participants:
description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
type: boolean
start_airplay_manually:
description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
type: boolean
start_airplay_mirroring:
description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
type: boolean
support_join_3rd_party_meeting:
description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
type: boolean
transform_meeting_to_private:
description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
type: boolean
upcoming_meeting_alert:
description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
type: boolean
weekly_system_restart:
description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
type: boolean
type: object
- properties:
client_alert:
description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
properties:
detect_bluetooth_microphone_error_alert:
description: Display an alert message when an issue is detected with a bluetooth microphone.
type: boolean
detect_bluetooth_speaker_error_alert:
description: Display an alert message when an issue is detected with a bluetooth speaker.
type: boolean
detect_camera_error_alert:
description: Display an alert message when an issue is detected with a camera.
type: boolean
detect_microphone_error_alert:
description: Display an alert message when an issue is detected with microphone.
type: boolean
detect_speaker_error_alert:
description: Display an alert message when an issue is detected with a speaker.
type: boolean
type: object
digital_signage:
properties:
banner:
description: Specifies the elements that you want to display in the top banner.
properties:
banner_room_name:
description: Display or hide banner room name.
type: boolean
banner_sharing_key:
description: Display or hide banner sharing key.
type: boolean
banner_time:
description: Display or hide time in the banner.
type: boolean
type: object
display_period:
description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
properties:
start_displaying_content:
description: Start displaying digital signage content after certain duration after the meeting ends. The value of this field indicates the duration in minutes.
type: integer
stop_displaying_content:
description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. The value of this field indicates the duration in minutes.
type: integer
type: object
enable_digital_signage:
description: |-
[Indicates whether digital signage is on or off,](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
`true`: enable `false`: disable
type: boolean
layout:
description: |-
Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
`standard`: Standard Center
`video_content`: Video + Content
type: string
mute:
description: Sound of all contents will be muted if the value of this field is set to `true`.
type: boolean
play_list:
description: Content list.
items:
properties:
action:
description: |
Specify an action for the content list. The value can be one of the following:
`add`: Add another content list.
`update`: Update existing content list.
`delete`: Delete content list.
enum:
- add
- update
- delete
type: string
contents:
items:
description: Content list.
properties:
content_id:
description: Content Id.
type: string
duration:
description: Duration for how long the content will be displayed.
type: integer
id:
type: string
name:
description: Name of the content.
type: string
order:
description: Order of the content in the display.
type: integer
type: object
maxItems: 3
type: array
end_time:
description: Specify the display end time for the content list in GMT.
type: string
id:
description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
type: string
name:
description: Name of the content list.
type: string
start_time:
description: Specify the display start time for the content list in GMT.
type: string
type: object
maxItems: 2
type: array
type: object
notification:
description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
properties:
audio_meet_usability_threshold:
description: Send an alert when the audio echo test result meets usability threshold.
type: boolean
audio_not_meet_usability_threshold:
description: Send an alert when the audio echo test result does not meet usability threshold.
type: boolean
battery_is_charging:
description: Send an alert when the battery starts charging.
type: boolean
battery_low_and_not_charging:
description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
type: boolean
battery_percentage:
description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
type: string
controller_scheduling_disconnected:
description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
type: boolean
controller_scheduling_reconnected:
description: Send an alert when the Controller or Scheduling Display can be detected again.
type: boolean
cpu_usage_high_detected:
description: Send an alert when CPU usage is above 90%.
type: boolean
mic_speaker_camera_disconnected:
description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
type: boolean
mic_speaker_camera_reconnected:
description: Send an alert when the mic, speaker or camera is reconnected.
type: boolean
network_unstable_detected:
description: Send an alert when low bandwidth network is detected
type: boolean
sip_registration_failed:
description: "Send an alert when SIP registration stops working. "
type: boolean
sip_registration_re_enabled:
description: Send an alert after the SIP registration is re-enabled.
type: boolean
zoom_room_come_back_online:
description: Send an alert when the Zoom Room is online after previously being offline.
type: boolean
zoom_room_display_disconnected:
description: Send an alert when the TV display is disconnected
type: boolean
zoom_room_offline:
description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
type: boolean
type: object
type: object
application/xml:
schema:
oneOf:
- properties:
meeting_security:
properties:
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
type: object
zoom_rooms:
properties:
allow_multiple_content_sharing:
description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
type: boolean
audio_device_daily_auto_test:
description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
type: boolean
auto_direct_sharing:
description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
type: boolean
auto_start_scheduled_meeting:
description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
type: boolean
auto_stop_scheduled_meeting:
description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
type: boolean
count_attendees_number_in_room:
description: |
Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
type: boolean
display_feedback_survey:
description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
type: boolean
display_meeting_list:
description: " Show the same information on the TV that is shown on the controller."
type: boolean
display_top_banner:
description: Allow to display room name, time and sharing key on the top portion of TV.
type: boolean
encrypt_shared_screen_content:
description: Encrypt screen and content shared in meetings.
type: boolean
hide_id_for_private_meeting:
description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
type: boolean
hide_share_instruction:
description: Hide share instructions from TV.
type: boolean
send_whiteboard_to_internal_contact_only:
description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
type: boolean
show_alert_before_meeting:
description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
type: boolean
show_call_history_in_room:
description: |
Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
type: boolean
show_contact_list_on_controller:
description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
type: boolean
show_non_video_participants:
description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
type: boolean
start_airplay_manually:
description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
type: boolean
start_airplay_mirroring:
description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
type: boolean
support_join_3rd_party_meeting:
description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
type: boolean
transform_meeting_to_private:
description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
type: boolean
upcoming_meeting_alert:
description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
type: boolean
weekly_system_restart:
description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
type: boolean
type: object
- properties:
client_alert:
description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
properties:
detect_bluetooth_microphone_error_alert:
description: Display an alert message when an issue is detected with a bluetooth microphone.
type: boolean
detect_bluetooth_speaker_error_alert:
description: Display an alert message when an issue is detected with a bluetooth speaker.
type: boolean
detect_camera_error_alert:
description: Display an alert message when an issue is detected with a camera.
type: boolean
detect_microphone_error_alert:
description: Display an alert message when an issue is detected with microphone.
type: boolean
detect_speaker_error_alert:
description: Display an alert message when an issue is detected with a speaker.
type: boolean
type: object
digital_signage:
properties:
banner:
description: Specifies the elements that you want to display in the top banner.
properties:
banner_room_name:
description: Display or hide banner room name.
type: boolean
banner_sharing_key:
description: Display or hide banner sharing key.
type: boolean
banner_time:
description: Display or hide time in the banner.
type: boolean
type: object
display_period:
description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
properties:
start_displaying_content:
description: Start displaying digital signage content after certain duration after the meeting ends. The value of this field indicates the duration in minutes.
type: integer
stop_displaying_content:
description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. The value of this field indicates the duration in minutes.
type: integer
type: object
enable_digital_signage:
description: |-
[Indicates whether digital signage is on or off,](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
`true`: enable `false`: disable
type: boolean
layout:
description: |-
Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
`standard`: Standard Center
`video_content`: Video + Content
type: string
mute:
description: Sound of all contents will be muted if the value of this field is set to `true`.
type: boolean
play_list:
description: Content list.
items:
properties:
action:
description: |
Specify an action for the content list. The value can be one of the following:
`add`: Add another content list.
`update`: Update existing content list.
`delete`: Delete content list.
enum:
- add
- update
- delete
type: string
contents:
items:
description: Content list.
properties:
content_id:
description: Content Id.
type: string
duration:
description: Duration for how long the content will be displayed.
type: integer
id:
type: string
name:
description: Name of the content.
type: string
order:
description: Order of the content in the display.
type: integer
type: object
maxItems: 3
type: array
end_time:
description: Specify the display end time for the content list in GMT.
type: string
id:
description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
type: string
name:
description: Name of the content list.
type: string
start_time:
description: Specify the display start time for the content list in GMT.
type: string
type: object
maxItems: 2
type: array
type: object
notification:
description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
properties:
audio_meet_usability_threshold:
description: Send an alert when the audio echo test result meets usability threshold.
type: boolean
audio_not_meet_usability_threshold:
description: Send an alert when the audio echo test result does not meet usability threshold.
type: boolean
battery_is_charging:
description: Send an alert when the battery starts charging.
type: boolean
battery_low_and_not_charging:
description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
type: boolean
battery_percentage:
description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
type: string
controller_scheduling_disconnected:
description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
type: boolean
controller_scheduling_reconnected:
description: Send an alert when the Controller or Scheduling Display can be detected again.
type: boolean
cpu_usage_high_detected:
description: Send an alert when CPU usage is above 90%.
type: boolean
mic_speaker_camera_disconnected:
description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
type: boolean
mic_speaker_camera_reconnected:
description: Send an alert when the mic, speaker or camera is reconnected.
type: boolean
network_unstable_detected:
description: Send an alert when low bandwidth network is detected
type: boolean
sip_registration_failed:
description: "Send an alert when SIP registration stops working. "
type: boolean
sip_registration_re_enabled:
description: Send an alert after the SIP registration is re-enabled.
type: boolean
zoom_room_come_back_online:
description: Send an alert when the Zoom Room is online after previously being offline.
type: boolean
zoom_room_display_disconnected:
description: Send an alert when the TV display is disconnected
type: boolean
zoom_room_offline:
description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
type: boolean
type: object
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Zoom Room settings returned successfully.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
Access restricted.
"404":
description: |+
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1012`
Room not found:{roomId}.
security:
- OAuth: []
summary: Get Zoom Room settings
tags:
- Rooms
parameters:
- in: path
name: roomId
required: true
schema:
type: string
patch:
description: |-
Update either meeting or alert settings applied to a specific Zoom Room. To update **Alert Settings**, specify `alert` as the value of the `setting_type` query parameter. To update **Meeting Settings**, specify `meeting` as the value of the `setting_type` query parameter.
**Prerequisites:**
* Zoom Room licenses
* Owner or Admin privileges on the Zoom Account.
**Scopes:** `room:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: updateZRSettings
parameters:
- description: Unique Identifier of the Zoom Room.
in: path
name: roomId
required: true
schema:
type: string
- description: |-
The type of setting that you would like to update. `alert`: Alert Settings applied on the Zoom Room.
`meeting`: Meeting settings of the Zoom Room.
`signage`: Digital signage settings applied on the Zoom Room.
in: query
name: setting_type
schema:
type: string
requestBody:
content:
application/json:
schema:
oneOf:
- properties:
meeting_security:
properties:
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
type: object
zoom_rooms:
properties:
allow_multiple_content_sharing:
description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
type: boolean
audio_device_daily_auto_test:
description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
type: boolean
auto_direct_sharing:
description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
type: boolean
auto_start_scheduled_meeting:
description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
type: boolean
auto_stop_scheduled_meeting:
description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
type: boolean
count_attendees_number_in_room:
description: |
Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
type: boolean
display_feedback_survey:
description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
type: boolean
display_meeting_list:
description: " Show the same information on the TV that is shown on the controller."
type: boolean
display_top_banner:
description: Allow to display room name, time and sharing key on the top portion of TV.
type: boolean
encrypt_shared_screen_content:
description: Encrypt screen and content shared in meetings.
type: boolean
hide_id_for_private_meeting:
description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
type: boolean
hide_share_instruction:
description: Hide share instructions from TV.
type: boolean
send_whiteboard_to_internal_contact_only:
description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
type: boolean
show_alert_before_meeting:
description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
type: boolean
show_call_history_in_room:
description: |
Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
type: boolean
show_contact_list_on_controller:
description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
type: boolean
show_non_video_participants:
description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
type: boolean
start_airplay_manually:
description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
type: boolean
start_airplay_mirroring:
description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
type: boolean
support_join_3rd_party_meeting:
description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
type: boolean
transform_meeting_to_private:
description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
type: boolean
upcoming_meeting_alert:
description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
type: boolean
weekly_system_restart:
description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
type: boolean
type: object
- properties:
client_alert:
description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
properties:
detect_bluetooth_microphone_error_alert:
description: Display an alert message when an issue is detected with a bluetooth microphone.
type: boolean
detect_bluetooth_speaker_error_alert:
description: Display an alert message when an issue is detected with a bluetooth speaker.
type: boolean
detect_camera_error_alert:
description: Display an alert message when an issue is detected with a camera.
type: boolean
detect_microphone_error_alert:
description: Display an alert message when an issue is detected with microphone.
type: boolean
detect_speaker_error_alert:
description: Display an alert message when an issue is detected with a speaker.
type: boolean
type: object
digital_signage:
properties:
banner:
properties:
banner_room_name:
type: boolean
banner_sharing_key:
type: boolean
banner_time:
type: boolean
type: object
display_period:
description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
properties:
start_displaying_content:
description: Start displaying digital signage content after certain duration after the meeting ends. Specify the value of the duration in minutes in this field.
type: integer
stop_displaying_content:
description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. Specify the value of duration in minutes in this field.
type: integer
type: object
enable_digital_signage:
description: |-
[Enable or disable digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
`true`: enable `false`: disable
type: boolean
layout:
description: |-
Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
`standard`: Standard Center
`video_content`: Video + Content
type: string
mute:
description: Sound of all contents will be muted if the value of this field is set to `true`.
type: boolean
play_list:
description: Content list.
items:
properties:
action:
description: |
Specify an action for the content list. The value can be one of the following:
`add`: Add another content list.
`update`: Update existing content list.
`delete`: Delete content list.
enum:
- add
- update
- delete
type: string
contents:
items:
description: Content list.
properties:
action:
description: |+
Specify an action for the content in the content list. The value can be one of the following:
`add`: Add another content to the content list.
`update`: Update existing content's information in the content list.
`delete`: Delete content from the content list.
type: string
content_id:
description: Content Id.
type: string
duration:
description: By default each content is display for 5 seconds. Using this field, specify how long you would like to display the content.
type: integer
id:
description: Unique identifier of the content. This field is only required if you would like to remove or update the content information.
type: string
name:
description: Name of the content.
type: string
order:
description: Order of the content in the display.
type: integer
type: object
maxItems: 3
type: array
end_time:
description: Specify the display end time for the content list in GMT.
type: string
id:
description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
type: string
name:
description: Name of the content list.
type: string
start_time:
description: Specify the display start time for the content list in GMT.
type: string
type: object
maxItems: 2
type: array
type: object
notification:
description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
properties:
audio_meet_usability_threshold:
description: Send an alert when the audio echo test result meets usability threshold.
type: boolean
audio_not_meet_usability_threshold:
description: Send an alert when the audio echo test result does not meet usability threshold.
type: boolean
battery_is_charging:
description: Send an alert when the battery starts charging.
type: boolean
battery_low_and_not_charging:
description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
type: boolean
battery_percentage:
description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
type: string
controller_scheduling_disconnected:
description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
type: boolean
controller_scheduling_reconnected:
description: Send an alert when the Controller or Scheduling Display can be detected again.
type: boolean
cpu_usage_high_detected:
description: Send an alert when CPU usage is above 90%.
type: boolean
mic_speaker_camera_disconnected:
description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
type: boolean
mic_speaker_camera_reconnected:
description: Send an alert when the mic, speaker or camera is reconnected.
type: boolean
network_unstable_detected:
description: Send an alert when low bandwidth network is detected
type: boolean
sip_registration_failed:
description: "Send an alert when SIP registration stops working. "
type: boolean
sip_registration_re_enabled:
description: Send an alert after the SIP registration is re-enabled.
type: boolean
zoom_room_come_back_online:
description: Send an alert when the Zoom Room is online after previously being offline.
type: boolean
zoom_room_display_disconnected:
description: Send an alert when the TV display is disconnected
type: boolean
zoom_room_offline:
description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
type: boolean
type: object
type: object
multipart/form-data:
schema:
oneOf:
- properties:
meeting_security:
properties:
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
type: object
zoom_rooms:
properties:
allow_multiple_content_sharing:
description: Enable multiple participants to [share content simultaneously](https://support.zoom.us/hc/en-us/articles/360017767812-Sharing-Multiple-Screens-in-a-Zoom-Room) by default.
type: boolean
audio_device_daily_auto_test:
description: Enable [automated audio test](https://support.zoom.us/hc/en-us/articles/360000319683-Zoom-Rooms-Daily-Audio-Testing) to ensure high quality audio.
type: boolean
auto_direct_sharing:
description: Enable participants in a Zoom Room to share their laptop screen on the Zoom Room TV without entering a meeting ID or sharing code.
type: boolean
auto_start_scheduled_meeting:
description: Automatically start scheduled meetings according to the start time listed on the calendar associated with the room. A meeting alert will appear 10 minutes prior to the scheduled time on the TV.
type: boolean
auto_stop_scheduled_meeting:
description: "Automatically stop the meeting at the end time as scheduled and listed in the calendar associated with the room. "
type: boolean
count_attendees_number_in_room:
description: |
Use facial detection technology to [determine and display the attendees count](https://support.zoom.us/hc/en-us/articles/360031027111-Count-Attendees-in-Zoom-Rooms) after meetings on Dashboard.
type: boolean
display_feedback_survey:
description: Display a [survey](https://support.zoom.us/hc/en-us/articles/214193146-End-of-Meeting-Attendee-Feedback) at the end of each meeting regarding the audio and video quality on the Zoom Rooms Controller.
type: boolean
display_meeting_list:
description: " Show the same information on the TV that is shown on the controller."
type: boolean
display_top_banner:
description: Allow to display room name, time and sharing key on the top portion of TV.
type: boolean
encrypt_shared_screen_content:
description: Encrypt screen and content shared in meetings.
type: boolean
hide_id_for_private_meeting:
description: If enabled, the meeting host and meeting ID (in addition to the meeting topic) are hidden from the Zoom Rooms display for private meetings. This affects meetings that were originally scheduled as private, as well as public meetings that were transformed to private.
type: boolean
hide_share_instruction:
description: Hide share instructions from TV.
type: boolean
send_whiteboard_to_internal_contact_only:
description: Restrict[ sending Whiteboard sessions](https://support.zoom.us/hc/en-us/articles/115004797286-Using-the-Whiteboard-in-Zoom-Rooms-for-Touch#h_781274b3-5237-4320-8826-be2120b00e21) to contacts or internal users only.
type: boolean
show_alert_before_meeting:
description: "If enabled, the upcoming meeting alert message will be shown on the TV display. The value of the `upcoming_meeting_alert` field should be set to `true` to use this field. "
type: boolean
show_call_history_in_room:
description: |
Allow users to see call history of joined meetings and phone calls from the Zoom Rooms controller.
type: boolean
show_contact_list_on_controller:
description: If enabled, you can invite participants from the contact list during a meeting or when starting a meeting
type: boolean
show_non_video_participants:
description: When enabled, meeting participants that are audio only or have their video turned off will also be shown on the Zoom Rooms display by default.
type: boolean
start_airplay_manually:
description: Require the AirPlay service to be [started by an administrator](https://support.zoom.us/hc/en-us/articles/204726885-Screen-Share-Using-Airplay-Mirroring#h_a342ad38-4e46-47a8-a1d9-cded3b144b39) rather than always being available.
type: boolean
start_airplay_mirroring:
description: Allow users to share content via Apple Screen Mirroring (called Airplay on iOS 11 or earlier) in Zoom Rooms
type: boolean
support_join_3rd_party_meeting:
description: Integrate with Skype for Business, GoToMeeting, or WebEx and show the meeting dial-in button on the meeting list tab for Zoom Rooms Controllers.
type: boolean
transform_meeting_to_private:
description: If enabled, all meetings in this room will be treated as [private meetings](https://support.zoom.us/hc/en-us/articles/115001051063-Zoom-Rooms-Private-Meetings), and the Zoom Room will display "Your Name's Meeting" instead of the real meeting topic.
type: boolean
upcoming_meeting_alert:
description: If enabled, a reminder will display 10 minutes prior to the next scheduled meeting on the controller.
type: boolean
weekly_system_restart:
description: "[Restart](https://support.zoom.us/hc/en-us/articles/205418949-Zoom-Rooms-Weekly-System-Restart) the Zoom Rooms computer and controller once a week."
type: boolean
type: object
- properties:
client_alert:
description: "The Client Alert Settings section includes alerts that display on the TV screen of the Zoom Room. Disable these settings if you have deliberately disconnected one or more peripheral devices or have never enabled them. "
properties:
detect_bluetooth_microphone_error_alert:
description: Display an alert message when an issue is detected with a bluetooth microphone.
type: boolean
detect_bluetooth_speaker_error_alert:
description: Display an alert message when an issue is detected with a bluetooth speaker.
type: boolean
detect_camera_error_alert:
description: Display an alert message when an issue is detected with a camera.
type: boolean
detect_microphone_error_alert:
description: Display an alert message when an issue is detected with microphone.
type: boolean
detect_speaker_error_alert:
description: Display an alert message when an issue is detected with a speaker.
type: boolean
type: object
digital_signage:
properties:
banner:
properties:
banner_room_name:
type: boolean
banner_sharing_key:
type: boolean
banner_time:
type: boolean
type: object
display_period:
description: Display period object lets you define the number of minutes before or after the scheduled meeting time you would like the content to display.
properties:
start_displaying_content:
description: Start displaying digital signage content after certain duration after the meeting ends. Specify the value of the duration in minutes in this field.
type: integer
stop_displaying_content:
description: Stop displaying content {certain_duration} before a meeting is scheduled to begin. Specify the value of duration in minutes in this field.
type: integer
type: object
enable_digital_signage:
description: |-
[Enable or disable digital signage](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_767fbb33-82a8-45a8-8392-a1bfa9687edd).
`true`: enable `false`: disable
type: boolean
layout:
description: |-
Set the [layout](https://support.zoom.us/hc/en-us/articles/360000030683-Zoom-Rooms-digital-signage#h_4e25ddf3-8f97-4957-8f8b-99725f940fa7). The value of this field can be either `standard` or `video_content`.
`standard`: Standard Center
`video_content`: Video + Content
type: string
mute:
description: Sound of all contents will be muted if the value of this field is set to `true`.
type: boolean
play_list:
description: Content list.
items:
properties:
action:
description: |
Specify an action for the content list. The value can be one of the following:
`add`: Add another content list.
`update`: Update existing content list.
`delete`: Delete content list.
enum:
- add
- update
- delete
type: string
contents:
items:
description: Content list.
properties:
action:
description: |+
Specify an action for the content in the content list. The value can be one of the following:
`add`: Add another content to the content list.
`update`: Update existing content's information in the content list.
`delete`: Delete content from the content list.
type: string
content_id:
description: Content Id.
type: string
duration:
description: By default each content is display for 5 seconds. Using this field, specify how long you would like to display the content.
type: integer
id:
description: Unique identifier of the content. This field is only required if you would like to remove or update the content information.
type: string
name:
description: Name of the content.
type: string
order:
description: Order of the content in the display.
type: integer
type: object
maxItems: 3
type: array
end_time:
description: Specify the display end time for the content list in GMT.
type: string
id:
description: Unique identifier of the content list. This field is only required if you would like to remove or update the content list.
type: string
name:
description: Name of the content list.
type: string
start_time:
description: Specify the display start time for the content list in GMT.
type: string
type: object
maxItems: 2
type: array
type: object
notification:
description: "[Notifications Settings](https://support.zoom.us/hc/en-us/articles/205394099-Zoom-Room-Alerts#h_b430b5f2-5150-4522-9c96-c77f22ab70bc) includes the circumstances in which the room sends an email alert to the support team to notify them of a potentially urgent issue. These issues can affect the operation of the room, but do not display on the TV screen. The email alert is sent to the email address specified in the Notification Email Recipients section. "
properties:
audio_meet_usability_threshold:
description: Send an alert when the audio echo test result meets usability threshold.
type: boolean
audio_not_meet_usability_threshold:
description: Send an alert when the audio echo test result does not meet usability threshold.
type: boolean
battery_is_charging:
description: Send an alert when the battery starts charging.
type: boolean
battery_low_and_not_charging:
description: Send an alert when the battery of the controller or the scheduling display is low (at 20%) and is not being charged.
type: boolean
battery_percentage:
description: Specify a percentage so that an alert is sent when the battery is less than the {battery_percentage} that you specified.
type: string
controller_scheduling_disconnected:
description: Send an alert when the connection to the Controller or Scheduling Display cannot be detected.
type: boolean
controller_scheduling_reconnected:
description: Send an alert when the Controller or Scheduling Display can be detected again.
type: boolean
cpu_usage_high_detected:
description: Send an alert when CPU usage is above 90%.
type: boolean
mic_speaker_camera_disconnected:
description: Send an alert when the mic, speaker or camera is disconnected in the Zoom Room.
type: boolean
mic_speaker_camera_reconnected:
description: Send an alert when the mic, speaker or camera is reconnected.
type: boolean
network_unstable_detected:
description: Send an alert when low bandwidth network is detected
type: boolean
sip_registration_failed:
description: "Send an alert when SIP registration stops working. "
type: boolean
sip_registration_re_enabled:
description: Send an alert after the SIP registration is re-enabled.
type: boolean
zoom_room_come_back_online:
description: Send an alert when the Zoom Room is online after previously being offline.
type: boolean
zoom_room_display_disconnected:
description: Send an alert when the TV display is disconnected
type: boolean
zoom_room_offline:
description: Send an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.
type: boolean
type: object
type: object
x-examples:
application/json:
client_alert:
detect_bluetooth_microphone_error_alert: false
detect_bluetooth_speaker_error_alert: false
detect_camera_error_alert: true
detect_microphone_error_alert: true
detect_speaker_error_alert: false
notification:
audio_meet_usability_threshold: true
audio_not_meet_usability_threshold: true
battery_is_charging: true
battery_low_and_not_charging: true
battery_percentage: do sit
controller_scheduling_disconnected: true
controller_scheduling_reconnected: false
cpu_usage_high_detected: true
mic_speaker_camera_disconnected: false
mic_speaker_camera_reconnected: true
network_unstable_detected: true
sip_registration_failed: true
sip_registration_re_enabled: false
zoom_room_come_back_online: false
zoom_room_display_disconnected: true
zoom_room_offline: false
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |-
**HTTP Status Code:** `204` **No Content**
Settings updated successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room subscription not found. Try again after purchasing a Zoom Room subscription.
Access restricted.
security:
- OAuth: []
summary: Update Zoom Room settings
tags:
- Rooms
/sip_phones:
get:
description: |
Zoom’s Phone System Integration (PSI), also referred as SIP phones, enables an organization to leverage the Zoom client to complete a softphone registration to supported premise based PBX system. End users will have the ability to have softphone functionality within a single client while maintaining a comparable interface to Zoom Phone. Use this API to list SIP phones on an account.
**Prerequisites**:
* Currently only supported on Cisco and Avaya PBX systems.
* User must enable SIP Phone Integration by contacting the [Sales](https://zoom.us/contactsales) team. **Scope:** `sip_phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listSipPhones
parameters:
- description: |-
**Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
The page number of the current page in the returned records.
in: query
name: page_number
schema:
default: 1
type: integer
- description: User name or email address of a user. If this parameter is provided, only the SIP phone system integration enabled for that specific user will be returned. Otherwise, all SIP phones on an account will be returned.
in: query
name: search_key
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
page_count: 1
page_number: 1
page_size: 1
phones:
- authorization_name: testname
domain: CDC.WEB
id: "123456"
password: apassword1
proxy_server: 192.168.0.10
proxy_server2: 192.168.0.10
proxy_server3: 192.168.0.10
register_server: 192.168.0.100
register_server2: 192.168.0.100
register_server3: 192.168.0.100
registration_expire_time: 60
transport_protocol: UDP
transport_protocol2: UDP
transport_protocol3: UDP
user_email: CfRE2opiq3HokO@someemailtype.com
user_name: "1008"
voice_mail: "4000"
total_records: 1
schema:
properties:
next_page_token:
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
description: The page number of the current results.
type: integer
page_size:
description: The number of records returned within a single API call.
type: integer
phones:
description: SIP phones object.
items:
properties:
authorization_name:
description: Authorization name of the user registered for SIP Phone.
type: string
domain:
description: |
The name or IP address of your provider’s SIP domain. (example: CDC.WEB).
type: string
id:
description: Unique Identifier of the SIP Phone.
type: string
password:
description: |
The password generated for the user in the SIP account.
type: string
proxy_server:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
type: string
proxy_server2:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
type: string
proxy_server3:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
type: string
register_server:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
register_server2:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
register_server3:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
registration_expire_time:
description: "The number of minutes after which the SIP registration of the Zoom client user will expire, and the client will auto register to the SIP server. "
type: integer
transport_protocol:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
transport_protocol2:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
transport_protocol3:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
user_email:
description: The email address of the user to associate with the SIP Phone. Can add [.win, .mac, .android, .ipad, .iphone, .linux, .pc, .mobile, .pad] at the end of the email (ex. user@test.com.mac) to add accounts for different platforms for the same user.
format: email
type: string
user_name:
description: "The phone number associated with the user in the SIP account. "
type: string
voice_mail:
description: The number to dial for checking voicemail.
type: string
type: object
type: array
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
application/xml:
schema:
properties:
next_page_token:
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
description: The page number of the current results.
type: integer
page_size:
description: The number of records returned within a single API call.
type: integer
phones:
description: SIP phones object.
items:
properties:
authorization_name:
description: Authorization name of the user registered for SIP Phone.
type: string
domain:
description: |
The name or IP address of your provider’s SIP domain. (example: CDC.WEB).
type: string
id:
description: Unique Identifier of the SIP Phone.
type: string
password:
description: |
The password generated for the user in the SIP account.
type: string
proxy_server:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
type: string
proxy_server2:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
type: string
proxy_server3:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
type: string
register_server:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
register_server2:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
register_server3:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
registration_expire_time:
description: "The number of minutes after which the SIP registration of the Zoom client user will expire, and the client will auto register to the SIP server. "
type: integer
transport_protocol:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
transport_protocol2:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
transport_protocol3:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
user_email:
description: The email address of the user to associate with the SIP Phone. Can add [.win, .mac, .android, .ipad, .iphone, .linux, .pc, .mobile, .pad] at the end of the email (ex. user@test.com.mac) to add accounts for different platforms for the same user.
format: email
type: string
user_name:
description: "The phone number associated with the user in the SIP account. "
type: string
voice_mail:
description: The number to dial for checking voicemail.
type: string
type: object
type: array
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
description: |-
**HTTP Status Code:** `200`
SIP Phones listed successfully.
**Error Code:** `200`
Permission missing: Enable SIP Phone Integration by contacting a Zoom Admin first.
"400":
description: |+
**HTTP Status Code:** `400` Bad Request
security:
- OAuth: []
summary: List SIP phones
tags:
- SIP Phone
post:
description: |+
Zoom’s Phone System Integration (PSI), also referred as SIP phones, enables an organization to leverage the Zoom client to complete a softphone registration to supported premise based PBX system. End users will have the ability to have softphone functionality within a single client while maintaining a comparable interface to Zoom Phone. Use this API to enable a user to use SIP phone.
**Prerequisites**:
* Currently only supported on Cisco and Avaya PBX systems.
* The account owner or account admin must first enable SIP Phone Integration by contacting the [Sales](https://zoom.us/contactsales) team. **Scope:** `sip_phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: createSIPPhone
requestBody:
content:
application/json:
schema:
properties:
authorization_name:
description: Authorization name of the user registered for SIP Phone.
maxLength: 64
type: string
domain:
description: "The name or IP address of your provider’s SIP domain. (example: CDC.WEB)."
maxLength: 64
type: string
password:
description: The password generated for the user in the SIP account.
type: string
proxy_server:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
type: string
proxy_server2:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
type: string
proxy_server3:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
type: string
register_server:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
register_server2:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
register_server3:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
registration_expire_time:
default: 60
description: The number of minutes after which the SIP registration of the Zoom client user will expire, and the client will auto register to the SIP server.
maximum: 127
minimum: 1
type: integer
transport_protocol:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
transport_protocol2:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
transport_protocol3:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
user_email:
description: The email address of the user to associate with the SIP Phone. Can add [.win, .mac, .android, .ipad, .iphone, .linux, .pc, .mobile, .pad] at the end of the email (ex. user@test.com.mac) to add accounts for different platforms for the same user.
format: email
maxLength: 64
type: string
user_name:
description: The phone number associated with the user in the SIP account.
maxLength: 64
type: string
voice_mail:
description: The number to dial for checking voicemail.
maxLength: 255
type: string
required:
- domain
- register_server
- proxy_server
- user_name
- password
- authorization_name
- user_email
- voice_mail
type: object
multipart/form-data:
schema:
properties:
authorization_name:
description: Authorization name of the user registered for SIP Phone.
maxLength: 64
type: string
domain:
description: "The name or IP address of your provider’s SIP domain. (example: CDC.WEB)."
maxLength: 64
type: string
password:
description: The password generated for the user in the SIP account.
type: string
proxy_server:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
type: string
proxy_server2:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
type: string
proxy_server3:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server, or empty.
type: string
register_server:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
register_server2:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
register_server3:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
registration_expire_time:
default: 60
description: The number of minutes after which the SIP registration of the Zoom client user will expire, and the client will auto register to the SIP server.
maximum: 127
minimum: 1
type: integer
transport_protocol:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
transport_protocol2:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
transport_protocol3:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
user_email:
description: The email address of the user to associate with the SIP Phone. Can add [.win, .mac, .android, .ipad, .iphone, .linux, .pc, .mobile, .pad] at the end of the email (ex. user@test.com.mac) to add accounts for different platforms for the same user.
format: email
maxLength: 64
type: string
user_name:
description: The phone number associated with the user in the SIP account.
maxLength: 64
type: string
voice_mail:
description: The number to dial for checking voicemail.
maxLength: 255
type: string
required:
- domain
- register_server
- proxy_server
- user_name
- password
- authorization_name
- user_email
- voice_mail
type: object
x-examples:
application/json:
authorization_name: testname
domain: CDC.WEB
password: apassword1
proxy_server: 192.168.0.10
register_server: 192.168.0.100
registration_expire_time: 60
transport_protocol: UDP
user_email: CfRE2opiq3HokO@someemailtype.com
user_name: "1008"
voice_mail: "4000"
responses:
"201":
description: |
**HTTP Status Code:** `201`
SIP Phone Created.
"400":
description: |+
**HTTP Status Code:** `400`
Bad request.
**Error Code:** `200` Permission missing: Enable SIP Phone Integration by contacting a Zoom Admin first.
**Error Code:** `300` SIP Phone with the same email already exists.
"404":
description: |+
**HTTP Status Code:** `404`
**Error Code:** `1001` User {userId} not exist or not belong to this account.
security:
- OAuth: []
summary: Enable SIP phone
tags:
- SIP Phone
"/sip_phones/{phoneId}":
delete:
description: |-
Zoom’s Phone System Integration (PSI), also referred as SIP phones, enables an organization to leverage the Zoom client to complete a softphone registration to supported premise based PBX system. End users will have the ability to have softphone functionality within a single client while maintaining a comparable interface to Zoom Phone. Use this API to delete a specific SIP phone on a Zoom account.
**Prerequisites**:
* Currently only supported on Cisco and Avaya PBX systems.
* User must enable SIP Phone Integration by contacting the [Sales](https://zoom.us/contactsales) team. **Scope:** `sip_phone:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteSIPPhone
parameters:
- description: Unique Identifier of the SIP Phone. It can be retrieved from the List SIP Phones API.
in: path
name: phoneId
required: true
schema:
type: string
responses:
"200":
description: "**Error Code:** `200` Permission missing: Enable SIP Phone Integration by contacting a Zoom Admin first."
"204":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |-
**HTTP Status Code:** `204`
SIP Phone deleted.
"300":
description: "**Error Code:** `300`The SIP phone with this phoneId was not found on this account."
security:
- OAuth: []
summary: Delete SIP phone
tags:
- SIP Phone
parameters:
- in: path
name: phoneId
required: true
schema:
type: string
patch:
description: |-
Zoom’s Phone System Integration (PSI), also referred as SIP phones, enables an organization to leverage the Zoom client to complete a softphone registration to supported premise based PBX system. End users will have the ability to have softphone functionality within a single client while maintaining a comparable interface to Zoom Phone. Use this API to update information of a specific SIP Phone on a Zoom account.
**Prerequisites**:
* Currently only supported on Cisco and Avaya PBX systems.
* The account owner or account admin must first enable SIP Phone Integration by contacting the [Sales](https://zoom.us/contactsales) team. **Scope:** `sip_phone:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: updateSIPPhone
parameters:
- description: Unique Identifier of the SIP Phone. This can be retrieved from the List SIP Phones API.
in: path
name: phoneId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
authorization_name:
description: Authorization name of the user registered for SIP Phone.
maxLength: 64
type: string
domain:
description: "The name or IP address of your provider’s SIP domain. (example: CDC.WEB)."
maxLength: 64
type: string
password:
description: The password generated for the user in the SIP account.
type: string
proxy_server:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
type: string
proxy_server2:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
type: string
proxy_server3:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
type: string
register_server:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
register_server2:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
register_server3:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
registration_expire_time:
default: 60
description: The number of minutes after which the SIP registration of the Zoom client user will expire, and the client will auto register to the SIP server.
maximum: 127
minimum: 1
type: integer
transport_protocol:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
transport_protocol2:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
transport_protocol3:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
user_name:
description: The phone number associated with the user in the SIP account.
maxLength: 64
type: string
voice_mail:
description: The number to dial for checking voicemail.
maxLength: 255
type: string
required:
- domain
- register_server
- proxy_server
- register_server2
- proxy_server2
- register_server3
- proxy_server3
- user_name
- password
- authorization_name
- voice_mail
type: object
multipart/form-data:
schema:
properties:
authorization_name:
description: Authorization name of the user registered for SIP Phone.
maxLength: 64
type: string
domain:
description: "The name or IP address of your provider’s SIP domain. (example: CDC.WEB)."
maxLength: 64
type: string
password:
description: The password generated for the user in the SIP account.
type: string
proxy_server:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
type: string
proxy_server2:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
type: string
proxy_server3:
description: IP address of the proxy server for SIP requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address. If you are not using a proxy server, this value can be the same as the Register Server.
type: string
register_server:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
register_server2:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
register_server3:
description: IP address of the server that accepts REGISTER requests. Note that if you are using the UDP transport protocol, the default port is 5060. If you are using UDP with a different port number, that port number must be included with the IP address.
type: string
registration_expire_time:
default: 60
description: The number of minutes after which the SIP registration of the Zoom client user will expire, and the client will auto register to the SIP server.
maximum: 127
minimum: 1
type: integer
transport_protocol:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
transport_protocol2:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
transport_protocol3:
description: Protocols supported by the SIP provider. The value must be either `UDP`, `TCP`, `TLS`, `AUTO`.
enum:
- UDP
- TCP
- TLS
- AUTO
type: string
user_name:
description: The phone number associated with the user in the SIP account.
maxLength: 64
type: string
voice_mail:
description: The number to dial for checking voicemail.
maxLength: 255
type: string
required:
- domain
- register_server
- proxy_server
- register_server2
- proxy_server2
- register_server3
- proxy_server3
- user_name
- password
- authorization_name
- voice_mail
type: object
x-examples:
application/json:
authorization_name: testname
domain: CDC.WEB
password: apassword1
proxy_server: 192.168.0.10
register_server: 192.168.0.100
registration_expire_time: 60
transport_protocol: UDP
user_name: "1008"
voice_mail: "4000"
responses:
"200":
description: |
**Error Code:** `200`
Permission missing: Enable SIP Phone Integration by contacting a Zoom Admin first.
"204":
content:
application/json:
schema:
properties: {}
type: object
application/xml:
schema:
properties: {}
type: object
description: |
**HTTP Status Code:** `204`
SIP Phone information updated successfully.
"300":
description: |
**Error Code:** `300`
SIP phone not found: phoneId.
The SIP phone with this phoneId was not found on this account.
"400":
description: |+
**HTTP Status Code:** `400`
Bad request.
security:
- OAuth: []
summary: Update SIP phone
tags:
- SIP Phone
/sip_trunk/numbers:
get:
description: |-
With SIP-connected audio, Zoom establishes a SIP trunk (a network connection specifically designed to make and deliver phone calls) over a direct and private connection between the customer’s network and the Zoom cloud. Meeting participants that dial into a meeting or have the meeting call them, and are On-Net from the perspective of the customers' IP telephony network, will be connected over this trunk rather than over the PSTN.
Use this API to list all the numbers that are configured for SIP Connected Audio in a Zoom Account.
**Prerequisites:**
* Pro or a higher account with SIP Connected Audio plan enabled.
* The account must be a master account
**Scopes:** `sip_trunk:master`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: listSipTrunkNumbers
responses:
"200":
content:
application/json:
examples:
response:
value:
phone_numbers:
- country: US
number: "45345545"
total_records: 1
schema:
properties:
phone_numbers:
items:
properties:
country:
description: "Country ID (example: US)"
type: string
number:
description: Phone number
type: string
type: object
type: array
total_records:
description: Total number of records returned.
type: integer
type: object
application/xml:
schema:
properties:
phone_numbers:
items:
properties:
country:
description: "Country ID (example: US)"
type: string
number:
description: Phone number
type: string
type: object
type: array
total_records:
description: Total number of records returned.
type: integer
type: object
description: |-
* **HTTP Status Code:** `200` **OK**
List of numbers returned.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `2001`
This account does not exist or does not belong to this master account.
This account does not exist or does not belong to you.
security:
- OAuth: []
summary: List SIP trunk numbers
tags:
- SIP Connected Audio
/tracking_fields:
get:
description: |-
[Tracking fields](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) allow you to analyze usage by various fields within an organization. Use this API to list all the tracking fields on your Zoom account.
**Scopes:** `trackingfield:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Prerequisites:**
* Business, Education, API or higher plan
operationId: trackingfieldList
responses:
"200":
content:
application/json:
examples:
response:
value: |-
{
"total_records": 1,
"tracking_fields": [
{
"id": "3746374637",
"field": "Meeting Purpose",
"required": true,
"visible": false,
"recommended_values": [
"Support",
"Onboarding",
"Sales",
"Other"
]
}
}
schema:
allOf:
- properties:
total_records:
description: The number of all records available across pages
type: integer
tracking_fields:
description: Array of Tracking Fields
items:
allOf:
- properties:
id:
description: ID of Tracking Field
type: string
- description: Tracking Field
properties:
field:
description: Label/ Name for the tracking field.
type: string
recommended_values:
description: Array of recommended values
items:
type: string
type: array
required:
description: Tracking Field Required
type: boolean
visible:
description: Tracking Field Visible
type: boolean
title: Tracking Field
type: object
type: array
description: Tracking Field List
title: Tracking Field List
type: object
application/xml:
schema:
allOf:
- properties:
total_records:
description: The number of all records available across pages
type: integer
tracking_fields:
description: Array of Tracking Fields
items:
allOf:
- properties:
id:
description: ID of Tracking Field
type: string
- description: Tracking Field
properties:
field:
description: Label/ Name for the tracking field.
type: string
recommended_values:
description: Array of recommended values
items:
type: string
type: array
required:
description: Tracking Field Required
type: boolean
visible:
description: Tracking Field Visible
type: boolean
title: Tracking Field
type: object
type: array
description: Tracking Field List
title: Tracking Field List
type: object
description: |-
**HTTP Status Code:** `200`
List of Tracking Fields returned.
security:
- OAuth: []
summary: List tracking fields
tags:
- TrackingField
post:
description: |-
[Tracking fields](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) allow you to analyze usage by various fields within an organization. Use this API to create a new tracking field.
**Scope:** `trackingfield:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* Business, Education, API or higher plan
operationId: trackingfieldCreate
requestBody:
content:
application/json:
schema:
description: Tracking Field
properties:
field:
description: Label/ Name for the tracking field.
type: string
recommended_values:
description: Array of recommended values
items:
type: string
type: array
required:
description: Tracking Field Required
type: boolean
visible:
description: Tracking Field Visible
type: boolean
title: Tracking Field
type: object
multipart/form-data:
schema:
description: Tracking Field
properties:
field:
description: Label/ Name for the tracking field.
type: string
recommended_values:
description: Array of recommended values
items:
type: string
type: array
required:
description: Tracking Field Required
type: boolean
visible:
description: Tracking Field Visible
type: boolean
title: Tracking Field
type: object
description: Tracking Field
required: true
x-examples:
application/json:
field: Meeting Purpose
recommended_values:
- Support
- Onboarding
- Sales
- Other
required: true
visible: false
responses:
"201":
content:
application/json:
schema:
allOf:
- properties:
id:
description: Tracking Field ID
type: string
- description: Tracking Field
properties:
field:
description: Label/ Name for the tracking field.
type: string
recommended_values:
description: Array of recommended values
items:
type: string
type: array
required:
description: Tracking Field Required
type: boolean
visible:
description: Tracking Field Visible
type: boolean
title: Tracking Field
type: object
application/xml:
schema:
allOf:
- properties:
id:
description: Tracking Field ID
type: string
- description: Tracking Field
properties:
field:
description: Label/ Name for the tracking field.
type: string
recommended_values:
description: Array of recommended values
items:
type: string
type: array
required:
description: Tracking Field Required
type: boolean
visible:
description: Tracking Field Visible
type: boolean
title: Tracking Field
type: object
description: |-
**HTTP Status Code:** `201`
Tracking Field created
headers:
Content-Location:
description: Location of created tracking field
schema:
type: string
security:
- OAuth: []
summary: Create a tracking field
tags:
- TrackingField
"/tracking_fields/{fieldId}":
delete:
description: |-
[Tracking fields](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) allow you to analyze usage by various fields within an organization. Use this API to delete a tracking field.
**Scope:** `trackingfield:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* Business, Education, API or higher plan
operationId: trackingfieldDelete
parameters:
- description: The Tracking Field ID
in: path
name: fieldId
required: true
schema:
type: string
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Tracking Field deleted
"404":
description: |-
**HTTP Status Code:** `404`
Tracking Field not found
security:
- OAuth: []
summary: Delete a tracking field
tags:
- TrackingField
get:
description: |
[Tracking fields](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) allow you to analyze usage by various fields within an organization.
When scheduling a meeting, the tracking field will be included in the meeting options. Use this API to get information on a tracking field.
**Scopes:** `trackingfield:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* Business, Education, API or higher plan
operationId: trackingfieldGet
parameters:
- description: The Tracking Field ID
in: path
name: fieldId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
field: Meeting Purpose
id: fdfgdfgr23gr1
recommended_values:
- Support
- Onboarding
- Sales
- Other
required: true
visible: false
schema:
allOf:
- properties:
id:
description: Tracking Field ID
type: string
- description: Tracking Field
properties:
field:
description: Label/ Name for the tracking field.
type: string
recommended_values:
description: Array of recommended values
items:
type: string
type: array
required:
description: Tracking Field Required
type: boolean
visible:
description: Tracking Field Visible
type: boolean
title: Tracking Field
type: object
application/xml:
schema:
allOf:
- properties:
id:
description: Tracking Field ID
type: string
- description: Tracking Field
properties:
field:
description: Label/ Name for the tracking field.
type: string
recommended_values:
description: Array of recommended values
items:
type: string
type: array
required:
description: Tracking Field Required
type: boolean
visible:
description: Tracking Field Visible
type: boolean
title: Tracking Field
type: object
description: |-
**HTTP Status Code:** `200`
Tracking Field object returned
"404":
description: |-
**HTTP Status Code:** `404`
Tracking Field not found
security:
- OAuth: []
summary: Get a tracking field
tags:
- TrackingField
patch:
description: |-
[Tracking fields](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) allow you to analyze usage by various fields within an organization. Use this API to update a tracking field.
**Scope:** `trackingfield:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* Business, Education, API or higher plan
operationId: trackingfieldUpdate
parameters:
- description: The Tracking Field ID
in: path
name: fieldId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
description: Tracking Field
properties:
field:
description: Label/ Name for the tracking field.
type: string
recommended_values:
description: Array of recommended values
items:
type: string
type: array
required:
description: Tracking Field Required
type: boolean
visible:
description: Tracking Field Visible
type: boolean
title: Tracking Field
type: object
multipart/form-data:
schema:
description: Tracking Field
properties:
field:
description: Label/ Name for the tracking field.
type: string
recommended_values:
description: Array of recommended values
items:
type: string
type: array
required:
description: Tracking Field Required
type: boolean
visible:
description: Tracking Field Visible
type: boolean
title: Tracking Field
type: object
required: true
x-examples:
application/json:
field: Meeting Purpose
recommended_values:
- Support
- Onboarding
- Sales
- Other
required: true
visible: false
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Tracking Field updated
"404":
description: |-
**HTTP Status Code:** `404`
Tracking Field not found
security:
- OAuth: []
summary: Update a tracking field
tags:
- TrackingField
/tsp:
get:
description: |-
Get information on Telephony Service Provider on an account level.
**Scopes:** `tsp:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* A Pro or a higher plan.
operationId: tsp
responses:
"200":
content:
application/json:
examples:
response:
value:
dial_in_number_unrestricted: false
dial_in_numbers:
- code: "111"
number: "000000000"
type: toll
enable: true
master_account_setting_extended: false
modify_credential_forbidden: true
tsp_bridge: string
tsp_enabled: true
tsp_provider: someprovidername
schema:
properties:
dial_in_number_unrestricted:
description: Control restriction on account users adding a TSP number outside of account's dial in numbers.
type: boolean
dial_in_numbers:
items:
properties:
code:
description: Country Code
type: string
number:
description: Dial-in number, length is less than 16
maxLength: 16
type: string
type:
description: Dial-in number type.
type: string
type: object
type: array
enable:
description: Enable Telephony Service Provider for account users.
type: boolean
master_account_setting_extended:
description: For master account, extend its TSP setting to all sub accounts. For sub account, extend TSP setting from master account.
type: boolean
modify_credential_forbidden:
description: Control restriction on account users being able to modify their TSP credentials.
type: boolean
tsp_bridge:
description: Telephony bridge zone
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
tsp_enabled:
description: Enable TSP feature for account. This has to be enabled to use any other tsp settings/features.
type: boolean
tsp_provider:
description: Telephony Service Provider.
type: string
type: object
application/xml:
schema:
properties:
dial_in_number_unrestricted:
description: Control restriction on account users adding a TSP number outside of account's dial in numbers.
type: boolean
dial_in_numbers:
items:
properties:
code:
description: Country Code
type: string
number:
description: Dial-in number, length is less than 16
maxLength: 16
type: string
type:
description: Dial-in number type.
type: string
type: object
type: array
enable:
description: Enable Telephony Service Provider for account users.
type: boolean
master_account_setting_extended:
description: For master account, extend its TSP setting to all sub accounts. For sub account, extend TSP setting from master account.
type: boolean
modify_credential_forbidden:
description: Control restriction on account users being able to modify their TSP credentials.
type: boolean
tsp_bridge:
description: Telephony bridge zone
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
tsp_enabled:
description: Enable TSP feature for account. This has to be enabled to use any other tsp settings/features.
type: boolean
tsp_provider:
description: Telephony Service Provider.
type: string
type: object
description: |-
**HTTP Status Code:** `200`
TSP account detail returned successfully.
summary: Get account's TSP information
tags:
- TSP
patch:
description: |
Update information of the Telephony Service Provider set up on an account.
**Prerequisites**:
TSP account option should be enabled.
**Scopes:** `tsp:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: tspUpdate
requestBody:
content:
application/json:
schema:
properties:
dial_in_number_unrestricted:
description: Control restriction on account users adding a TSP number outside of account's dial in numbers.
type: boolean
enable:
description: Enable 3rd party audio conferencing for account users
type: boolean
master_account_setting_extended:
description: For master account, extend its TSP setting to all sub accounts. For sub account, extend TSP setting from master account.
type: boolean
modify_credential_forbidden:
description: Control restriction on account users being able to modify their TSP credentials.
type: boolean
tsp_bridge:
description: Telephony bridge
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
tsp_enabled:
description: Enable TSP feature for account. This has to be enabled to use any other tsp settings/features.
type: boolean
tsp_provider:
description: 3rd party audio conferencing provider
type: string
type: object
multipart/form-data:
schema:
properties:
dial_in_number_unrestricted:
description: Control restriction on account users adding a TSP number outside of account's dial in numbers.
type: boolean
enable:
description: Enable 3rd party audio conferencing for account users
type: boolean
master_account_setting_extended:
description: For master account, extend its TSP setting to all sub accounts. For sub account, extend TSP setting from master account.
type: boolean
modify_credential_forbidden:
description: Control restriction on account users being able to modify their TSP credentials.
type: boolean
tsp_bridge:
description: Telephony bridge
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
tsp_enabled:
description: Enable TSP feature for account. This has to be enabled to use any other tsp settings/features.
type: boolean
tsp_provider:
description: 3rd party audio conferencing provider
type: string
type: object
description: TSP Account
required: true
x-examples:
application/json:
dial_in_number_unrestricted: boolean
enable: boolean
master_account_setting_extended: boolean
modify_credential_forbidden: boolean
tsp_bridge: string
tsp_enabled: boolean
tsp_provider: string
responses:
"204":
description: |-
**HTTP Status Code:** `204` **No Content**
TSP Account updated.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request.
**Error Code:** `300`
Invalid parameter: tsp_bridge.
summary: Update account's TSP information
tags:
- TSP
/users:
get:
description: |-
A Zoom account can have one or more users. Use this API to list users on your account.
**Scopes:** `user:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: users
parameters:
- description: User statuses: `active` - Users with an active status. `inactive` - Users who are deactivated. `pending` - Users with a pending status.
in: query
name: status
schema:
default: active
enum:
- active
- inactive
- pending
type: string
x-enum-descriptions:
- users with active status
- users with inactive status
- users with pending status
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: "Unique identifier of the role. Provide this parameter if you would like to filter the response by a specific role. You can retrieve Role IDs from [List Roles](https://marketplace.zoom.us/docs/api-reference/zoom-api/roles/roles) API. "
in: query
name: role_id
schema:
type: string
- description: The page number of the current page in the returned records.
in: query
name: page_number
schema:
type: string
- description: |-
Provide a value for this field if you would like to see the following attribute in the response of this API call:
`custom_attributes`: Returns custom attributes that are associated with the user. `host_key`: Returns [host key](https://support.zoom.us/hc/en-us/articles/205172555-Using-your-host-key) of the user.
in: query
name: include_fields
schema:
type: string
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
page_count: 1
page_number: 1
page_size: 30
total_records: 1
users:
- created_at: 2018-11-15T01:10:08Z
dept: ""
email: mel@jfggdhfhdfj.djfhdsfh
first_name: Melina
id: z8yAAAAA8bbbQ
im_group_ids:
- Abdsjkfhdhfj
last_client_version: 4.4.55383.0716(android)
last_login_time: 2019-09-13T21:08:52Z
last_name: Ghimire
pic_url: https://lh4.googleusercontent.com/-someurl/photo.jpg
pmi: 581111112
status: active
timezone: America/Los_Angeles
type: 2
verified: 1
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
users:
description: List of user objects.
items:
properties:
created_at:
description: The time when user's account was created.
format: date-time
type: string
custom_attributes:
description: Custom attributes. This field is only returned if users have been assigned custom attributes and if you provided `custom_attributes` as the value of `include_fields` query parameter in the API request.
items:
properties:
key:
description: Unique identifier of the custom attribute.
type: string
name:
description: Name of the custom attribute.
type: string
value:
description: Value of the custom attribute.
type: string
type: object
type: array
dept:
description: Department, if provided by the user.
type: string
email:
default: john.doe@gmail.com
description: User's email address.
type: string
first_name:
description: User's first name.
maxLength: 64
type: string
group_ids:
description: IDs of groups where the user is a member.
items:
type: string
type: array
host_key:
description: The [host key](https://support.zoom.us/hc/en-us/articles/205172555-Using-your-host-key) of the user. This field is only returned if users have been assigned a host key and if you provided `host_key` as the value of `include_fields` query parameter in the API request.
type: string
id:
description: User ID.
type: string
im_group_ids:
description: IDs of IM directory groups where the user is a member.
items:
type: string
type: array
last_client_version:
description: The last client version that user used to login.
type: string
last_login_time:
description: User's last login time. There is a three-days buffer period for this field. For example, if user first logged in on 2020-01-01 and then logged out and logged in on 2020-01-02, the value of this field will still reflect the login time of 2020-01-01. However, if the user logs in on 2020-01-04, the value of this field will reflect the corresponding login time since it exceeds the three-day buffer period.
format: date-time
type: string
last_name:
description: User's last name.
maxLength: 64
type: string
plan_united_type:
description: This field is returned if the user is enrolled in the [Zoom United](https://zoom.us/pricing/zoom-bundles) plan.
type: string
pmi:
description: Personal meeting ID of the user.
format: int64
type: integer
role_id:
description: Unique identifier of the [role](https://marketplace.zoom.us/docs/api-reference/zoom-api/roles/roles) assigned to the user.
type: string
status:
description: User's status
example: active
type: string
timezone:
description: The time zone of the user.
type: string
type:
description: |
User's plan type.
`1` - Basic.
`2` - Licensed.
`3` - On-prem.
`99` - None (this can only be set with `ssoCreate`).
example: 1
type: integer
verified:
description: |-
Display whether the user's email address for the Zoom account is verified or not.
`1` - Verified user email.
`0` - User's email not verified.
type: integer
required:
- email
- type
type: object
type: array
type: object
application/xml:
schema:
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
users:
description: List of user objects.
items:
properties:
created_at:
description: The time when user's account was created.
format: date-time
type: string
custom_attributes:
description: Custom attributes. This field is only returned if users have been assigned custom attributes and if you provided `custom_attributes` as the value of `include_fields` query parameter in the API request.
items:
properties:
key:
description: Unique identifier of the custom attribute.
type: string
name:
description: Name of the custom attribute.
type: string
value:
description: Value of the custom attribute.
type: string
type: object
type: array
dept:
description: Department, if provided by the user.
type: string
email:
default: john.doe@gmail.com
description: User's email address.
type: string
first_name:
description: User's first name.
maxLength: 64
type: string
group_ids:
description: IDs of groups where the user is a member.
items:
type: string
type: array
host_key:
description: The [host key](https://support.zoom.us/hc/en-us/articles/205172555-Using-your-host-key) of the user. This field is only returned if users have been assigned a host key and if you provided `host_key` as the value of `include_fields` query parameter in the API request.
type: string
id:
description: User ID.
type: string
im_group_ids:
description: IDs of IM directory groups where the user is a member.
items:
type: string
type: array
last_client_version:
description: The last client version that user used to login.
type: string
last_login_time:
description: User's last login time. There is a three-days buffer period for this field. For example, if user first logged in on 2020-01-01 and then logged out and logged in on 2020-01-02, the value of this field will still reflect the login time of 2020-01-01. However, if the user logs in on 2020-01-04, the value of this field will reflect the corresponding login time since it exceeds the three-day buffer period.
format: date-time
type: string
last_name:
description: User's last name.
maxLength: 64
type: string
plan_united_type:
description: This field is returned if the user is enrolled in the [Zoom United](https://zoom.us/pricing/zoom-bundles) plan.
type: string
pmi:
description: Personal meeting ID of the user.
format: int64
type: integer
role_id:
description: Unique identifier of the [role](https://marketplace.zoom.us/docs/api-reference/zoom-api/roles/roles) assigned to the user.
type: string
status:
description: User's status
example: active
type: string
timezone:
description: The time zone of the user.
type: string
type:
description: |
User's plan type.
`1` - Basic.
`2` - Licensed.
`3` - On-prem.
`99` - None (this can only be set with `ssoCreate`).
example: 1
type: integer
verified:
description: |-
Display whether the user's email address for the Zoom account is verified or not.
`1` - Verified user email.
`0` - User's email not verified.
type: integer
required:
- email
- type
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200`
User list returned.
security:
- OAuth: []
summary: List users
tags:
- Users
post:
description: |-
A Zoom account can have one or more users. Use this API to add a new user to your account.
**Prerequisites:**
* Pro or higher plan
**Scopes:** `user:write:admin` `user:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userCreate
requestBody:
content:
application/json:
schema:
properties:
action:
description: "Specify how to create the new user: `create` - User will get an email sent from Zoom. There is a confirmation link in this email. The user will then need to use the link to activate their Zoom account. The user can then set or change their password. `autoCreate` - This action is provided for the enterprise customer who has a managed domain. This feature is disabled by default because of the security risk involved in creating a user who does not belong to your domain. `custCreate` - Users created via this option do not have passwords and will not have the ability to log into the Zoom Web Portal or the Zoom Client. These users can still host and join meetings using the `start_url` and `join_url` respectively. To use this option, you must contact the ISV Platform Sales team at isv@zoom.us. `ssoCreate` - This action is provided for the enabled “Pre-provisioning SSO User” option. A user created in this way has no password. If not a basic user, a personal vanity URL using the user name (no domain) of the provisioning email will be generated. If the user name or PMI is invalid or occupied, it will use a random number or random personal vanity URL."
enum:
- create
- autoCreate
- custCreate
- ssoCreate
type: string
x-enum-descriptions:
- User will get an email sent from Zoom. There is a confirmation link in this email. User will then need to click this link to activate their account to the Zoom service. The user can set or change their password in Zoom. .
- This action is provided for enterprise customer who has a managed domain. This feature is disabled by default because of the security risk involved in creating a user who does not belong to your domain without notifying the user.
- This action is provided for API partner only. User created in this way has no password and is not able to log into the Zoom web site or client.
- This action is provided for enabled "Pre-provisioning SSO User" option. User created in this way has no password. If it is not a basic user, will generate a Personal Vanity URL using user name (no domain) of the provisioning email. If user name or pmi is invalid or occupied, will use random number/random personal vanity URL.
user_info:
properties:
email:
description: User email address.
maxLength: 128
type: string
first_name:
description: "User's first name: cannot contain more than 5 Chinese words."
maxLength: 64
type: string
last_name:
description: "User's last name: cannot contain more than 5 Chinese words."
maxLength: 64
type: string
password:
description: |-
User password. Only used for the "autoCreate" function. The password has to have a minimum of 8 characters and maximum of 32 characters. By default (basic requirement), password must have at least one letter (a, b, c..), at least one number (1, 2, 3...) and include both uppercase and lowercase letters. It should not contain only one identical character repeatedly ('11111111' or 'aaaaaaaa') and it cannot contain consecutive characters ('12345678' or 'abcdefgh').
**Note:** If the account owner or admin has enabled [enhanced password requirements](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_fa9186e4-6818-4f7a-915c-2e25c19f0acd), the value provided in this field must meet those requirements. These requirements can be retrieved by calling the [Get Account Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) and referring to the `password_requirement` field present in the `security` object.
format: password
maxLength: 32
minLength: 8
type: string
type:
description: User type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
enum:
- 1
- 2
- 3
- 99
type: integer
required:
- email
- type
type: object
required:
- action
type: object
multipart/form-data:
schema:
properties:
action:
description: "Specify how to create the new user: `create` - User will get an email sent from Zoom. There is a confirmation link in this email. The user will then need to use the link to activate their Zoom account. The user can then set or change their password. `autoCreate` - This action is provided for the enterprise customer who has a managed domain. This feature is disabled by default because of the security risk involved in creating a user who does not belong to your domain. `custCreate` - Users created via this option do not have passwords and will not have the ability to log into the Zoom Web Portal or the Zoom Client. These users can still host and join meetings using the `start_url` and `join_url` respectively. To use this option, you must contact the ISV Platform Sales team at isv@zoom.us. `ssoCreate` - This action is provided for the enabled “Pre-provisioning SSO User” option. A user created in this way has no password. If not a basic user, a personal vanity URL using the user name (no domain) of the provisioning email will be generated. If the user name or PMI is invalid or occupied, it will use a random number or random personal vanity URL."
enum:
- create
- autoCreate
- custCreate
- ssoCreate
type: string
x-enum-descriptions:
- User will get an email sent from Zoom. There is a confirmation link in this email. User will then need to click this link to activate their account to the Zoom service. The user can set or change their password in Zoom. .
- This action is provided for enterprise customer who has a managed domain. This feature is disabled by default because of the security risk involved in creating a user who does not belong to your domain without notifying the user.
- This action is provided for API partner only. User created in this way has no password and is not able to log into the Zoom web site or client.
- This action is provided for enabled "Pre-provisioning SSO User" option. User created in this way has no password. If it is not a basic user, will generate a Personal Vanity URL using user name (no domain) of the provisioning email. If user name or pmi is invalid or occupied, will use random number/random personal vanity URL.
user_info:
properties:
email:
description: User email address.
maxLength: 128
type: string
first_name:
description: "User's first name: cannot contain more than 5 Chinese words."
maxLength: 64
type: string
last_name:
description: "User's last name: cannot contain more than 5 Chinese words."
maxLength: 64
type: string
password:
description: |-
User password. Only used for the "autoCreate" function. The password has to have a minimum of 8 characters and maximum of 32 characters. By default (basic requirement), password must have at least one letter (a, b, c..), at least one number (1, 2, 3...) and include both uppercase and lowercase letters. It should not contain only one identical character repeatedly ('11111111' or 'aaaaaaaa') and it cannot contain consecutive characters ('12345678' or 'abcdefgh').
**Note:** If the account owner or admin has enabled [enhanced password requirements](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_fa9186e4-6818-4f7a-915c-2e25c19f0acd), the value provided in this field must meet those requirements. These requirements can be retrieved by calling the [Get Account Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) and referring to the `password_requirement` field present in the `security` object.
format: password
maxLength: 32
minLength: 8
type: string
type:
description: User type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
enum:
- 1
- 2
- 3
- 99
type: integer
required:
- email
- type
type: object
required:
- action
type: object
description: User
required: true
x-examples:
application/json:
action: create
user_info:
email: dhjdfkghdskjf@fgkjfdlgjfkd.gh
first_name: Terry
last_name: Jones
type: 1
responses:
"201":
content:
application/json:
examples:
response:
value:
email: string
first_name: string
id: string
last_name: string
type: integer
schema:
properties:
email:
description: User email address.
type: string
first_name:
description: User's first name.
maxLength: 64
type: string
id:
description: User ID.
type: string
last_name:
description: User's last name.
maxLength: 64
type: string
type:
description: |
User type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
enum:
- 1
- 2
- 3
- 99
type: integer
type: object
application/xml:
schema:
properties:
email:
description: User email address.
type: string
first_name:
description: User's first name.
maxLength: 64
type: string
id:
description: User ID.
type: string
last_name:
description: User's last name.
maxLength: 64
type: string
type:
description: |
User type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
enum:
- 1
- 2
- 3
- 99
type: integer
type: object
description: |-
**HTTP Status Code:** `201`
User created.
headers:
Content-Location:
description: Location of created User
schema:
type: string
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300`
Invalid parameter: password
**Error Code:** `200` No privilege. No permission, please contact Zoom customer support.
**Error Code:** `1000` The user cannot be changed because they are a Call-queue manager or Auto-receptionist operator.
**Error Code:**`300` Your request could not be completed because the name contains an invalid word: {name} The value provided for plan_united_type parameter is invalid. Try again with a valid value.
**Error Code:** `1009` The user $email already holds an active account.
**Error Code:** `1107` Email domain is blocked **Error Code:** `2034` Your request to add a new {0} user could not be approved at this time because your account has reached the permitted maximum number of {1} users. Please purchase additional licenses or contact the Zoom support team to provision additional users in your account.
**Error Code:** `2033`
Your request to add a basic user was not approved because you have already reached the maximum basic user limit allowed in your account. For additional help regarding this issue, contact the Zoom Customer Support team.
**Error Code:** `3412` Your request to add a basic user could not be approved at this time because your account has reached the permitted maximum number of $maxAllowedNumber basic users. Please remove existing basic user(s) from your Users list or the Pending Users list before attempting to add another user.
Your request to add a new $userType user could not be approved at this time because your account has reached the permitted maximum number of $maxAllowedNumber paying users. Please purchase additional licenses or contact the Zoom support team to provision additional users in your account.
**Error Code:** `1108` Permission requirements to change the user type of this user were not met.
**Error Code:** `2002` SSO has not been enabled for this account. Contact the Zoom support team to enable this option.
**Error Code:** `2032` The ssoCreate option is only available for SSO Partners that have enabled the pre-provision option. Contact the Zoom Support team to learn more.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `4130`
Group does not exist: $groupId
"409":
description: |-
**HTTP Status Code:** `409` User with that email already exists
**Error Code:** `1005` Email $email has already been used.
security:
- OAuth: []
summary: Create users
tags:
- Users
/users/email:
get:
description: |
Verify if a user's email is registered with Zoom.
Note: You can successfully check if a user is a registered Zoom user only if the user **signed up for Zoom via email and is within your account.** If you provide an email address of a user who is not in your account, the value of "existed_email" parameter will be "false" irrespective of whether or not the user is registered with Zoom. The response of this API call will not include users who joined Zoom using options such as "Sign in with SSO", "Sign in with Google" or "Sign in with Facebook" even if they are in the same account as yours.
**Scopes:** `user:read:admin` `user:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userEmail
parameters:
- description: The email address to be verified.
in: query
name: email
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
existed_email: false
schema:
properties:
existed_email:
description: Indicates whether or not the email already exists in Zoom.
type: boolean
type: object
application/xml:
schema:
properties:
existed_email:
description: Indicates whether or not the email already exists in Zoom.
type: boolean
type: object
description: |-
**HTTP Status Code:** `200`
Success.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` Email is required.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
security:
- OAuth: []
summary: Check a user email
tags:
- Users
/users/me/zak:
get:
description: |+
Get User’s Zoom Access Token (ZAK). You can use a ZAK to enable a non-login user to join a meeting on your app. Non-login users do not need to enter their username and password to join meetings.
**Scope:** `user_zak:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userZak
responses:
"200":
content:
application/json:
examples:
response:
value:
token: sslldd00933aaas
schema:
properties:
token:
description: The user's ZAK.
type: string
type: object
application/xml:
schema:
properties:
token:
description: The user's ZAK.
type: string
type: object
description: OK
"400":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `1001`
User not exist.
User {userId} does not exist or does not belong to this account.
security:
- OAuth: []
summary: Get user's ZAK
tags:
- Users
/users/vanity_name:
get:
description: |-
A personal meeting room is a virtual meeting room that can be permanently assigned to a user.
Use this API to check if a personal meeting room with the given name exists or not.
**Scopes:** `user:read:admin` `user:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userVanityName
parameters:
- description: Personal meeting room name.
in: query
name: vanity_name
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
existed: true
schema:
properties:
existed:
description: If `true`, it indicates that the personal meeting room with the given name exists. `false` - The room name does not exist.
type: boolean
type: object
application/xml:
schema:
properties:
existed:
description: If `true`, it indicates that the personal meeting room with the given name exists. `false` - The room name does not exist.
type: boolean
type: object
description: |-
**HTTP Status Code:** `200`
Success.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` Vanity name is required.
summary: Check a user's PM room
tags:
- Users
"/users/{userId}":
delete:
description: |-
Deleting a user permanently removes the user and their data from Zoom. Users can create a new Zoom account using the same email address. An account owner or an account admin can transfer meetings, webinars and cloud recordings to another Zoom user account before deleting.
This API disassociates (unlinks) a user from the associated Zoom account and provides the user their own basic free Zoom account, and the user can purchase their own licenses. You can transfer the user's data (meetings, webinars and cloud recordings) to another user before disassociation. To permanently delete a user, specify "delete" as the value of the `action` query parameter.
**Scopes:** `user:write:admin` `user:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userDelete
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: "Delete action options: `disassociate` - Disassociate a user. `delete`- Permanently delete a user. Note: To delete pending user in the account, use `disassociate`"
in: query
name: action
schema:
default: disassociate
enum:
- disassociate
- delete
type: string
x-enum-descriptions:
- Disassociate a user
- Permanently delete a user
- description: Transfer email.
in: query
name: transfer_email
required: false
schema:
type: string
- description: Transfer meeting.
in: query
name: transfer_meeting
required: false
schema:
type: boolean
- description: Transfer webinar.
in: query
name: transfer_webinar
required: false
schema:
type: boolean
- description: Transfer recording.
in: query
name: transfer_recording
required: false
schema:
type: boolean
responses:
"204":
description: |-
**HTTP Status Code:** `204`
User deleted.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` The transfer-to email address cannot be the same as the unlinked or deleted user’s email address. Unable to unlink API user(s).
**Error Code:** `200` Cannot delete a user out of your account. Cannot delete a Zoom Rooms user. Unable to delete this deactivated user. Please contact Zoom support team for more information.
**Error Code:** `1000`
The user cannot be changed because they are a Call-queue manager or Auto-receptionist operator.
**Error Code:** `1107` You can not disassociate a user with managed domain.
**Error Code:** `1117` You can not disassociate an Admin user.
**Error Code:** `1120` A valid invitation to join the Zoom account was not found for this user. This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
summary: Delete a user
tags:
- Users
get:
description: |-
A Zoom account can have one or more users. Use this API to view information of a specific user on a Zoom account.
Note: If a user's status is pending, only `id` and `created_at` fields will be returned. The value of `created_at` will be the time at which the API call was made until the user activates their account.
operationId: user
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: "`0` - Facebook. `1` - Google. `99` - API. `100` - Zoom. `101` - SSO."
in: query
name: login_type
schema:
enum:
- "0"
- "1"
- "99"
- "100"
- "101"
type: string
x-enum-descriptions:
- Facebook
- Google
- API
- Zoom
- SSO
responses:
"200":
content:
application/json:
examples:
response:
value:
account_id: EAAAAAbbbbbCCCCHMA
created_at: 2018-11-15T01:10:08Z
custom_attributes:
- key: cb3674544gexq
name: Country of Citizenship
value: Nepal
dept: ""
email: harryg@dfkjdslfjkdsfjkdsf.fsdfdfd
first_name: Harry
group_ids: []
host_key: "0000"
id: z8dsdsdsdsdCfp8uQ
im_group_ids:
- CcSAAAAAAABBBVoQ
jid: hghghfghdfghdfhgh@xmpp.zoom.us
language: en-US
last_client_version: 4.4.55383.0716(android)
last_login_time: 2019-09-13T21:08:52Z
last_name: Grande
manager: name@example.com
personal_meeting_url: https://zoom.us/j/6352635623323434343443
phone_country: USA
phone_number: "00000000"
pic_url: https://lh4.googleusercontent.com/-hsgfhdgsfghdsfghfd-photo.jpg
pmi: 100000000
role_id: hdsfwyteg3675hgfs
role_name: Owner
status: active
timezone: America/Los_Angeles
type: 2
use_pmi: false
verified: 1
schema:
allOf:
- properties:
id:
description: User ID.
type: string
type: object
- description: The user object represents a specific user on Zoom.
properties:
created_at:
description: User create time.
format: date-time
type: string
dept:
description: Department.
type: string
email:
default: john.doe@email.com
description: User's email address.
type: string
first_name:
description: User's first name.
maxLength: 64
type: string
last_client_version:
description: User last login client version.
type: string
last_login_time:
description: User last login time.
format: date-time
type: string
last_name:
description: User's last name.
maxLength: 64
type: string
pmi:
description: Personal meeting ID.
format: int64
type: integer
role_name:
description: User's [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) name.
type: string
timezone:
description: The time zone of the user.
type: string
type:
description: User's plan type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
enum:
- 1
- 2
- 3
- 99
type: integer
use_pmi:
default: false
description: Use Personal Meeting ID for instant meetings.
type: boolean
required:
- email
- type
type: object
- properties:
account_id:
description: User's account ID.
type: string
cms_user_id:
description: CMS ID of user, only enabled for Kaltura integration.
type: string
company:
description: User's company.
type: string
created_at:
description: The date and time at which this user was created.
format: date-time
type: string
custom_attributes:
description: Custom attribute(s) that have been assigned to the user.
properties:
key:
description: Identifier for the custom attribute.
type: string
name:
description: Name of the custom attribute.
type: string
value:
description: Value of the custom attribute.
type: string
type: object
group_ids:
description: "IDs of the web groups user belongs to. "
items:
type: string
type: array
host_key:
description: User's host key.
type: string
im_group_ids:
description: IM IDs of the groups user belongs to.
items:
type: string
type: array
jid:
type: string
job_title:
description: User's job title.
type: string
language:
description: Default language for the Zoom Web Portal.
type: string
location:
description: User's location.
type: string
login_type:
description: |-
Login type.
`0` : Facebook
`1` : Google
`99` : API
`100` : ZOOM
`101` : SSO
enum:
- 0
- 1
- 99
- 100
- 101
type: integer
manager:
description: The manager for the user.
format: email
type: string
personal_meeting_url:
description: User's personal meeting url.
type: string
phone_country:
description: "**Note:** This field has been **deprecated** and will not be supported in the future. Use the **phone_numbers** field instead of this field. User's country for Company Phone Number."
type: string
phone_number:
description: "**Note:** This field has been **deprecated** and will not be supported in the future. Use the **phone_numbers** field instead of this field. User's phone number."
type: string
phone_numbers:
properties:
code:
description: Country code of the phone number. For example, for United States phone numbers, the value of this field should be "+1".
type: string
country:
description: "[Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `number` field is a Brazil based number, the value of the `country` field should be `BR`."
type: string
number:
description: Phone number of the user.
type: string
verified:
description: Indicates whether the phone number has been verified by Zoom or not.
type: boolean
type: object
pic_url:
description: The URL for user's profile picture.
type: string
plan_united_type:
description: United plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-united-plans). Only returned if user is enrolled in the Zoom United plan.
type: string
role_id:
description: Unique identifier of the [role](https://marketplace.zoom.us/docs/api-reference/zoom-api/roles/roles) assigned to the user.
type: string
status:
description: Status of user's account.
enum:
- pending
- active
- inactive
type: string
x-enum-descriptions:
- Pending User
- Active User
- Deactivated User
use_pmi:
default: false
description: Displays `true` if user has enabled PMI for instant meetinsgs, `false` otherwise.
type: boolean
vanity_url:
description: Personal meeting room URL, if the user has one.
type: string
verified:
description: |-
Displays whether user is verified or not.
`1` - Account verified.
`0` - Account not verified.
type: integer
type: object
application/xml:
schema:
allOf:
- properties:
id:
description: User ID.
type: string
type: object
- description: The user object represents a specific user on Zoom.
properties:
created_at:
description: User create time.
format: date-time
type: string
dept:
description: Department.
type: string
email:
default: john.doe@email.com
description: User's email address.
type: string
first_name:
description: User's first name.
maxLength: 64
type: string
last_client_version:
description: User last login client version.
type: string
last_login_time:
description: User last login time.
format: date-time
type: string
last_name:
description: User's last name.
maxLength: 64
type: string
pmi:
description: Personal meeting ID.
format: int64
type: integer
role_name:
description: User's [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) name.
type: string
timezone:
description: The time zone of the user.
type: string
type:
description: User's plan type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
enum:
- 1
- 2
- 3
- 99
type: integer
use_pmi:
default: false
description: Use Personal Meeting ID for instant meetings.
type: boolean
required:
- email
- type
type: object
- properties:
account_id:
description: User's account ID.
type: string
cms_user_id:
description: CMS ID of user, only enabled for Kaltura integration.
type: string
company:
description: User's company.
type: string
created_at:
description: The date and time at which this user was created.
format: date-time
type: string
custom_attributes:
description: Custom attribute(s) that have been assigned to the user.
properties:
key:
description: Identifier for the custom attribute.
type: string
name:
description: Name of the custom attribute.
type: string
value:
description: Value of the custom attribute.
type: string
type: object
group_ids:
description: "IDs of the web groups user belongs to. "
items:
type: string
type: array
host_key:
description: User's host key.
type: string
im_group_ids:
description: IM IDs of the groups user belongs to.
items:
type: string
type: array
jid:
type: string
job_title:
description: User's job title.
type: string
language:
description: Default language for the Zoom Web Portal.
type: string
location:
description: User's location.
type: string
login_type:
description: |-
Login type.
`0` : Facebook
`1` : Google
`99` : API
`100` : ZOOM
`101` : SSO
enum:
- 0
- 1
- 99
- 100
- 101
type: integer
manager:
description: The manager for the user.
format: email
type: string
personal_meeting_url:
description: User's personal meeting url.
type: string
phone_country:
description: "**Note:** This field has been **deprecated** and will not be supported in the future. Use the **phone_numbers** field instead of this field. User's country for Company Phone Number."
type: string
phone_number:
description: "**Note:** This field has been **deprecated** and will not be supported in the future. Use the **phone_numbers** field instead of this field. User's phone number."
type: string
phone_numbers:
properties:
code:
description: Country code of the phone number. For example, for United States phone numbers, the value of this field should be "+1".
type: string
country:
description: "[Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `number` field is a Brazil based number, the value of the `country` field should be `BR`."
type: string
number:
description: Phone number of the user.
type: string
verified:
description: Indicates whether the phone number has been verified by Zoom or not.
type: boolean
type: object
pic_url:
description: The URL for user's profile picture.
type: string
plan_united_type:
description: United plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans#zoom-united-plans). Only returned if user is enrolled in the Zoom United plan.
type: string
role_id:
description: Unique identifier of the [role](https://marketplace.zoom.us/docs/api-reference/zoom-api/roles/roles) assigned to the user.
type: string
status:
description: Status of user's account.
enum:
- pending
- active
- inactive
type: string
x-enum-descriptions:
- Pending User
- Active User
- Deactivated User
use_pmi:
default: false
description: Displays `true` if user has enabled PMI for instant meetinsgs, `false` otherwise.
type: boolean
vanity_url:
description: Personal meeting room URL, if the user has one.
type: string
verified:
description: |-
Displays whether user is verified or not.
`1` - Account verified.
`0` - Account not verified.
type: integer
type: object
description: |-
**HTTP Status Code:** `200` **OK**
User object returned.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
Bad request
**Error Code:** `1120`
A valid invitation to join the Zoom account was not found for this user.
This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
summary: Get a user
tags:
- Users
patch:
description: |-
Update information on a user's Zoom [profile](https://support.zoom.us/hc/en-us/articles/201363203-My-Profile).
**Scopes:** `user:write:admin` `user:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userUpdate
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: "`0` - Facebook. `1` - Google. `99` - API. `100` - Zoom. `101` - SSO."
in: query
name: login_type
schema:
enum:
- "0"
- "1"
- "99"
- "100"
- "101"
type: string
x-enum-descriptions:
- Facebook
- Google
- API
- Zoom
- SSO
requestBody:
content:
application/json:
schema:
description: The user update object represents a user on Zoom.
properties:
cms_user_id:
description: Kaltura user ID.
type: string
company:
description: User's company.
maxLength: 255
type: string
custom_attributes:
description: Custom attribute(s) of the user.
properties:
key:
description: Identifier for the custom attribute.
type: string
name:
description: Name of the custom attribute.
type: string
value:
description: Value of the custom attribute.
type: string
type: object
dept:
description: "Department for user profile: use for report."
type: string
first_name:
description: User's first name. Cannot contain more than 5 Chinese characters.
maxLength: 64
type: string
group_id:
description: Provide unique identifier of the group that you would like to add a [pending user](https://support.zoom.us/hc/en-us/articles/201363183-Managing-users#h_13c87a2a-ecd6-40ad-be61-a9935e660edb) to. The value of this field can be retrieved from [List Groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API.
type: string
host_key:
description: Host key. It should be a 6-10 digit number.
maxLength: 10
minLength: 6
type: string
job_title:
description: User's job title.
maxLength: 128
type: string
language:
description: language
type: string
last_name:
description: User's last name. Cannot contain more than 5 Chinese characters.
maxLength: 64
type: string
location:
description: User's location.
maxLength: 256
type: string
manager:
description: The manager for the user.
format: email
type: string
phone_country:
description: |-
**Note:** This field has been **deprecated** and will not be supported in the future. Use the **country** field of the **phone_numbers** object instead to select the country for the phone number.
[Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `phone_number` field is a Brazil based number, the value of the `phone_country` field should be `BR`.
type: string
phone_number:
description: |-
**Note:** This field has been **deprecated** and will not be supported in the future. Use the **phone_numbers** field instead to assign phone number(s) to a user.
Phone number of the user. To update a phone number, you must also provide the `phone_country` field.
type: string
phone_numbers:
properties:
code:
description: Country code of the phone number. For example, for United States phone numbers, the value of this field should be "+1".
type: string
country:
description: "[Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `number` field is a Brazil based number, the value of the `country` field should be `BR`."
type: string
number:
description: Phone number of the user.
type: string
type: object
pmi:
description: "Personal meeting ID: length must be 10."
maxLength: 10
minLength: 10
type: integer
timezone:
description: The time zone ID for a user profile. For this parameter value please refer to the ID value in the [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list.
type: string
type:
description: User types: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
enum:
- 1
- 2
- 3
- 99
type: integer
use_pmi:
default: false
description: Use Personal Meeting ID for instant meetings.
type: boolean
vanity_name:
description: Personal meeting room name.
type: string
type: object
multipart/form-data:
schema:
description: The user update object represents a user on Zoom.
properties:
cms_user_id:
description: Kaltura user ID.
type: string
company:
description: User's company.
maxLength: 255
type: string
custom_attributes:
description: Custom attribute(s) of the user.
properties:
key:
description: Identifier for the custom attribute.
type: string
name:
description: Name of the custom attribute.
type: string
value:
description: Value of the custom attribute.
type: string
type: object
dept:
description: "Department for user profile: use for report."
type: string
first_name:
description: User's first name. Cannot contain more than 5 Chinese characters.
maxLength: 64
type: string
group_id:
description: Provide unique identifier of the group that you would like to add a [pending user](https://support.zoom.us/hc/en-us/articles/201363183-Managing-users#h_13c87a2a-ecd6-40ad-be61-a9935e660edb) to. The value of this field can be retrieved from [List Groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API.
type: string
host_key:
description: Host key. It should be a 6-10 digit number.
maxLength: 10
minLength: 6
type: string
job_title:
description: User's job title.
maxLength: 128
type: string
language:
description: language
type: string
last_name:
description: User's last name. Cannot contain more than 5 Chinese characters.
maxLength: 64
type: string
location:
description: User's location.
maxLength: 256
type: string
manager:
description: The manager for the user.
format: email
type: string
phone_country:
description: |-
**Note:** This field has been **deprecated** and will not be supported in the future. Use the **country** field of the **phone_numbers** object instead to select the country for the phone number.
[Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `phone_number` field is a Brazil based number, the value of the `phone_country` field should be `BR`.
type: string
phone_number:
description: |-
**Note:** This field has been **deprecated** and will not be supported in the future. Use the **phone_numbers** field instead to assign phone number(s) to a user.
Phone number of the user. To update a phone number, you must also provide the `phone_country` field.
type: string
phone_numbers:
properties:
code:
description: Country code of the phone number. For example, for United States phone numbers, the value of this field should be "+1".
type: string
country:
description: "[Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `number` field is a Brazil based number, the value of the `country` field should be `BR`."
type: string
number:
description: Phone number of the user.
type: string
type: object
pmi:
description: "Personal meeting ID: length must be 10."
maxLength: 10
minLength: 10
type: integer
timezone:
description: The time zone ID for a user profile. For this parameter value please refer to the ID value in the [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list.
type: string
type:
description: User types: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
enum:
- 1
- 2
- 3
- 99
type: integer
use_pmi:
default: false
description: Use Personal Meeting ID for instant meetings.
type: boolean
vanity_name:
description: Personal meeting room name.
type: string
type: object
description: User
required: true
x-examples:
application/json:
cms_user_id: string
company: string
dept: string
first_name: string
host_key: string
job_title: string
last_name: string
location: string
phone_country: string
phone_number: string
pmi: integer
timezone: string [date-time]
type: integer
vanity_name: string
responses:
"204":
description: |-
**HTTP Status Code:** `204`
User updated.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200` A Zoom Room user cannot be updated to a free user type: $userId
**Error Code:**`300` Your request could not be completed because the name contains an invalid word: {name} Invalid parameter: password The value provided for plan_united_type parameter is invalid. Try again with a valid value.
**Error Code:** `1108` Permission requirements to change the user type of this user were not met.
**Error Code:** `1109` Host is not a paid user.
**Error Code:** `1120` A valid invitation to join the Zoom account was not found for this user. This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid. **Error Code:** `2034` Your request to convert the plan type of this user to {0} was not approved at this time because your account has reached the permitted maximum number of {1} users. Please purchase additional licenses or contact the Zoom support team to provision additional users in your account.
**Error Code:** `2033` Your request to convert the user type to basic was not approved because you have already reached the maximum basic user limit allowed in your account. For additional help regarding this issue, contact the Zoom Customer Support team.
**Error Code:** `3412` Your request to convert the user type of this $userType user to a basic user was not approved at this time because your account has reached the permitted maximum number of $maxAllowedNumber basic users. Please remove existing basic user(s) from your Users list or the Pending Users list before attempting to convert a paying user to a basic user.
Your request to convert the user type of this basic user to a $userType user was not approved at this time because your account has reached the permitted maximum number of $maxAllowedNumber paying users. Please purchase additional licenses or remove existing paying user(s) from your Users list or the Pending Users list before attempting to convert a basic user to a paying user.
**Error Code:** `4100`
User is already taken by a user from your account. Choose another Personal Link Name and try again.
"404":
description: |-
**HTTP Status Code:** `404`
**Error Code:** `1001`
User does not exist: $userId.
summary: Update a user
tags:
- Users
"/users/{userId}/assistants":
delete:
description: |-
Delete all assistants of the current user. Assistants are the users to whom the current user has assigned [scheduling privilege](https://support.zoom.us/hc/en-us/articles/201362803-Scheduling-Privilege). These assistants can schedule meeting on behalf of the current user as well as manage and act as an alternative host for all meetings if the admin has enabled [Co-host option](https://zoom.us/account/setting) on the account.
**Prerequisite**:
* The user as well as the assistant must have Licensed or an On-prem license.
* Assistants must be under the current user's account.
**Scopes**: `user:write:admin` `user:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userAssistantsDelete
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
responses:
"204":
description: |-
**HTTP Status Code:** `204` **No Content**
Assistants deleted.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
summary: Delete user assistants
tags:
- Users
get:
description: |-
List a user's assistants.
Assistants are the users to whom the current user has assigned [scheduling privilege](https://support.zoom.us/hc/en-us/articles/201362803-Scheduling-Privilege). These assistants can schedule meeting on behalf of the current user as well as manage and act as an alternative host for all meetings if the admin has enabled [Co-host option](https://zoom.us/account/setting) on the account.
**Prerequisites**:
* Current user as well as the assistant must have Licensed or an On-prem license.
* Assistants must be under the current user's account.
**Scopes**: `user:read:admin` `user:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: userAssistants
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
assistants:
- email: sfhdfkjdf@hjdsf.fdjf
id: ddgdfgfdgfgg
schema:
description: List of user's assistants.
properties:
assistants:
description: List of User's assistants.
items:
properties:
email:
description: Assistant's email address.
type: string
id:
description: Assistant's user ID.
type: string
type: object
maximum: 30
type: array
title: User assistants List
type: object
application/xml:
schema:
description: List of user's assistants.
properties:
assistants:
description: List of User's assistants.
items:
properties:
email:
description: Assistant's email address.
type: string
id:
description: Assistant's user ID.
type: string
type: object
maximum: 30
type: array
title: User assistants List
type: object
description: |-
**HTTP Status Code:** `200`
Success.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
summary: List user assistants
tags:
- Users
post:
description: "Assistants are the users to whom the current user has assigned [scheduling privilege](https://support.zoom.us/hc/en-us/articles/201362803-Scheduling-Privilege). These assistants can schedule meeting on behalf of the current user as well as manage and act as an alternative host for all meetings if the admin has enabled [Co-host option](https://zoom.us/account/setting) on the account. Use this API to assign assistants to a user. In the request body, provide either the User ID or the email address of the user.
**Prerequisite**:\
* The user as well as the assistant must have Licensed or an On-prem license.
* Assistants must be under the current user's account.
**Scopes**: `user:write:admin` `user:write`
\ **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
\ "
operationId: userAssistantCreate
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
description: List of user's assistants.
properties:
assistants:
description: List of User's assistants.
items:
properties:
email:
description: Assistant's email address.
type: string
id:
description: Assistant's user ID.
type: string
type: object
maximum: 30
type: array
title: User assistants List
type: object
multipart/form-data:
schema:
description: List of user's assistants.
properties:
assistants:
description: List of User's assistants.
items:
properties:
email:
description: Assistant's email address.
type: string
id:
description: Assistant's user ID.
type: string
type: object
maximum: 30
type: array
title: User assistants List
type: object
description: User assistant.
required: true
x-examples:
application/json:
assistants:
- email: dgdfgfgfg@jhsdf.djf
id: sfdsfdfdg
responses:
"201":
content:
application/json:
examples:
response:
value:
add_at: string [date-time]
ids: string
schema:
properties:
add_at:
format: date-time
type: string
ids:
description: User ID.
type: string
type: object
application/xml:
schema:
properties:
add_at:
format: date-time
type: string
ids:
description: User ID.
type: string
type: object
description: |-
**HTTP Status Code:** `201`
Assistant added.
headers:
Content-Location:
description: Location of created assistant
schema:
type: string
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Current account must be paid account: $userId
The user must either be a Licensed user or an On-prem user : $userId.
Can't assign scheduling privilege to yourself.
Can't find user $email.
User $email has already granted scheduling privilege.
The user must either be a Licensed user or an On-prem user : $email.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
security:
- OAuth: []
summary: Add assistants
tags:
- Users
"/users/{userId}/assistants/{assistantId}":
delete:
description: |-
Delete a specific assistant of a user.
Assistants are the users to whom the current user has assigned [scheduling privilege](https://support.zoom.us/hc/en-us/articles/201362803-Scheduling-Privilege). These assistants can schedule meeting on behalf of the current user as well as manage and act as an alternative host for all meetings if the admin has enabled [Co-host option](https://zoom.us/account/setting) on the account.
**Prerequisites**:
* The user as well as the assistant must have Licensed or an On-prem license.
* Assistants must be under the current user's account.
**Scopes**: `user:write:admin` `user:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userAssistantDelete
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: Assistant ID.
in: path
name: assistantId
required: true
schema:
type: string
responses:
"204":
description: |-
**HTTP Status Code:** `204` **OK**
Assistant deleted.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
summary: Delete a user assistant
tags:
- Users
"/users/{userId}/email":
put:
description: |-
Change a user's [email address](https://support.zoom.us/hc/en-us/articles/201362563-How-Do-I-Change-the-Email-on-My-Account-) on a Zoom account that has managed domain set up. If the Zoom Account in which the user belongs, has multiple [managed domains](https://support.zoom.us/hc/en-us/articles/203395207-What-is-Managed-Domain-), the email to be updated must match one of the managed domains.
**Scopes:** `user:write:admin` `user:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
> Note: A user's email address can only be changed for a maximum of 3 times in a day(24 hours).
**Prerequisite:**
* Managed domain must be enabled in the account.
* The new email address should not already exist in Zoom.
operationId: userEmailUpdate
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
email:
description: User’s email. The length should be less than 128 characters.
format: email
type: string
required:
- email
type: object
multipart/form-data:
schema:
properties:
email:
description: User’s email. The length should be less than 128 characters.
format: email
type: string
required:
- email
type: object
description: User email.
required: true
x-examples:
application/json:
email: cupidatatipsum@sdskflhdf.djfh
responses:
"204":
description: |-
**HTTP Status Code:** `204` **No Content**
Email updated.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $email.
summary: Update a user's email
tags:
- Users
"/users/{userId}/meeting_templates":
get:
description: |
Use this API to list [meeting templates](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates) that are available to be used by a user.
**Scope:** `meeting:read` or `meeting:read:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: listMeetingTemplates
parameters:
- description: Unique identifier of the user. Retrieve the value of this field by calling the [List users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
in: path
name: userId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
templates:
- id: AdxbhxCzKgSiWAw
name: My meeting template
type: 1
- id: eYshgdftw4-5_MUSQ
name: Zoom meeting template for daily sync
type: 2
total_records: 2
schema:
properties:
templates:
items:
properties:
id:
description: Unique identifier of the template.
type: string
name:
description: Name of the template.
type: string
type:
description: |-
Type of the template. The value of this field can be one of the following:
`1`: meeting template
`2`: admin meeting template
type: integer
type: object
type: array
total_records:
description: Total records found for this request.
type: integer
type: object
application/xml:
schema:
properties:
templates:
items:
properties:
id:
description: Unique identifier of the template.
type: string
name:
description: Name of the template.
type: string
type:
description: |-
Type of the template. The value of this field can be one of the following:
`1`: meeting template
`2`: admin meeting template
type: integer
type: object
type: array
total_records:
description: Total records found for this request.
type: integer
type: object
description: "**HTTP Status Code:** `200` **OK** "
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001` User not exist: {userId}.
User {userId} does not exist or does not belong to this account.
summary: List meeting templates
tags:
- Meetings
parameters:
- in: path
name: userId
required: true
schema:
type: string
"/users/{userId}/meetings":
get:
description: |-
List all the meetings that were scheduled for a user (meeting host). This API only supports scheduled meetings and thus, details on instant meetings are not returned via this API.
**Scopes:** `meeting:read:admin` `meeting:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: meetings
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: "The meeting types: `scheduled` - This includes all valid past meetings (unexpired), live meetings and upcoming scheduled meetings. It is equivalent to the combined list of \"Previous Meetings\" and \"Upcoming Meetings\" displayed in the user's [Meetings page](https://zoom.us/meeting) on the Zoom Web Portal. `live` - All the ongoing meetings. `upcoming` - All upcoming meetings including live meetings."
in: query
name: type
schema:
default: live
enum:
- scheduled
- live
- upcoming
type: string
x-enum-descriptions:
- all the scheduled meetings
- all the live meetings
- all the upcoming meetings
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: The page number of the current page in the returned records.
in: query
name: page_number
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
meetings:
- created_at: 2019-08-16T01:13:12Z
duration: 30
host_id: abckjdfhsdkjf
id: 11111
join_url: https://zoom.us/j/11111
start_time: 2019-08-16T02:00:00Z
timezone: America/Los_Angeles
topic: Zoom Meeting
type: 2
uuid: mlghmfghlBBB
- agenda: RegistrationDeniedTest
created_at: 2019-08-16T18:30:46Z
duration: 60
host_id: abckjdfhsdkjf
id: 2222
join_url: https://zoom.us/j/2222
start_time: 2019-08-16T19:00:00Z
timezone: America/Los_Angeles
topic: TestMeeting
type: 2
uuid: J8H8eavweUcd321==
- created_at: 2019-08-16T21:15:56Z
duration: 60
host_id: abckjdfhsdkjf
id: 33333
join_url: https://zoom.us/j/33333
start_time: 2019-08-16T22:00:00Z
timezone: America/Los_Angeles
topic: My Meeting
type: 2
uuid: SGVTAcfSfCbbbb
- created_at: 2019-08-29T17:32:33Z
duration: 60
host_id: abckjdfhsdkjf
id: 44444
join_url: https://zoom.us/j/4444
start_time: 2019-08-29T18:00:00Z
timezone: America/Los_Angeles
topic: MyTestPollMeeting
type: 2
uuid: 64123avdfsMVA==
page_count: 1
page_number: 1
page_size: 30
total_records: 4
schema:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
- properties:
meetings:
description: List of Meeting objects.
items:
allOf:
- properties:
agenda:
description: Meeting description. The length of agenda gets truncated to 250 characters when you list all meetings for a user. To view the complete agenda of a meeting, retrieve details for a single meeting [here](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting).
type: string
created_at:
description: "Time of creation. "
format: date-time
type: string
duration:
description: Meeting duration.
type: integer
host_id:
description: ID of the user who is set as the host of the meeting.
type: string
id:
description: Meeting ID - also known as the meeting number in long (int64) format.
format: int64
type: integer
join_url:
description: URL using which participants can join a meeting.
type: string
pmi:
description: "[Personal meeting ID](https://support.zoom.us/hc/en-us/articles/201362843-What-is-Personal-Meeting-ID-PMI-and-Personal-Link-). This field is only returned if PMI was used to schedule the meeting."
type: string
start_time:
description: Meeting start time.
format: date-time
type: string
timezone:
description: "Timezone to format the meeting start time. "
type: string
topic:
description: Meeting topic.
type: string
type:
description: Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
uuid:
description: Unique Meeting ID. Each meeting instance will generate its own Meeting UUID.
type: string
type: object
type: array
description: List of meetings.
title: Group List
type: object
application/xml:
schema:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
- properties:
meetings:
description: List of Meeting objects.
items:
allOf:
- properties:
agenda:
description: Meeting description. The length of agenda gets truncated to 250 characters when you list all meetings for a user. To view the complete agenda of a meeting, retrieve details for a single meeting [here](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting).
type: string
created_at:
description: "Time of creation. "
format: date-time
type: string
duration:
description: Meeting duration.
type: integer
host_id:
description: ID of the user who is set as the host of the meeting.
type: string
id:
description: Meeting ID - also known as the meeting number in long (int64) format.
format: int64
type: integer
join_url:
description: URL using which participants can join a meeting.
type: string
pmi:
description: "[Personal meeting ID](https://support.zoom.us/hc/en-us/articles/201362843-What-is-Personal-Meeting-ID-PMI-and-Personal-Link-). This field is only returned if PMI was used to schedule the meeting."
type: string
start_time:
description: Meeting start time.
format: date-time
type: string
timezone:
description: "Timezone to format the meeting start time. "
type: string
topic:
description: Meeting topic.
type: string
type:
description: Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
uuid:
description: Unique Meeting ID. Each meeting instance will generate its own Meeting UUID.
type: string
type: object
type: array
description: List of meetings.
title: Group List
type: object
description: |-
**HTTP Status Code:** `200`
List of meeting objects returned.
"404":
description: |-
**HTTP Status Code:** `404`
User ID not found.
**Error Code:** `1001`
User {userId} not exist or not belong to this account.
security:
- OAuth: []
summary: List meetings
tags:
- Meetings
post:
description: |-
[Create a meeting](https://support.zoom.us/hc/en-us/articles/201362413-Scheduling-meetings) for a user. This API has a daily rate limit of 100 requests per day. Therefore, only 100 **Create a Meeting** API requests are permitted within a 24 hour window for a user.
Scopes: `meeting:write:admin` `meeting:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: meetingCreate
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
description: Base object for meeting.
properties:
agenda:
description: Meeting description.
maxLength: 2000
type: string
duration:
description: Meeting duration (minutes). Used for scheduled meetings only.
type: integer
password:
description: |-
Passcode to join the meeting. By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
schedule_for:
description: If you would like to schedule this meeting for someone else in your account, provide the Zoom user id or email address of the user here.
type: string
settings:
description: Meeting settings.
properties:
additional_data_center_regions:
description: "Enable additional [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) for this meeting. Provide the value in the form of array of country code(s) for the countries which are available as data center regions in the [account settings](https://zoom.us/account/setting) but have been opt out of in the user settings. For instance, let's say that in your account settings, the data center regions that have been selected are Europe, Honkong, Australia, India, Latin America, Japan, China, United States,and Canada. The complete list of available data center regions for your account is: [\"EU\", \"HK\", \"AU\", \"IN\", \"LA\", \"TY\", \"CN\", \"US\", \"CA\"]. In [user settings](https://zoom.us/profile/setting), you have opted out of India(IN) and Japan(TY) for meeting and webinar traffic routing. If you would like, you can still include India and Japan as additional data centers for this meeting using this field. To include India and Japan as additional data center regions, you would provide [\"IN\", \"TY\"] as the value."
items:
type: string
type: array
allow_multiple_devices:
description: |-
If set to `true`, attendees will be allowed to join a meeting from multiple devices.
**Note:** This setting is only applied for meetings that have enabled registration.
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values separated by a comma."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
The default value is `2`. To enable registration required, set the approval type to `0` or `1`. Values include:
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the meeting. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains.
type: string
authentication_option:
description: Specify the authentication type for users to join a meeting with`meeting_authentication` setting set to `true`. The value of this field can be retrieved from the `id` field within `authentication_options` array in the response of [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings).
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: |-
Allow participants to join the meeting before the host starts the meeting. This field can only used for scheduled or recurring meetings.
**Note:** If waiting room is enabled, the **join before host** setting will be disabled.
type: boolean
language_interpretation:
description: |-
Language interpretation [settings](https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars#h_01EGGQFD3Q4BST3378SA762MJ1) for meetings.
**Note:** This feature is only available on certain Webinar add-on, Education, Business and higher plans. If this feature is not enabled on the host's account, this setting will not be applied for the meeting.
properties:
enable:
description: Indicate whether or not you would like to enable [language interpretation](https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars#h_01EGGQFD3Q4BST3378SA762MJ1) for this meeting.
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: Only [authenticated](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) users can join meeting if the value of this field is set to `true`.
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
If set to `true`, the registration page for the meeting will include social share buttons.
**Note:** This setting is only applied for meetings that have enabled registration.
type: boolean
use_pmi:
default: false
description: Use Personal Meeting ID instead of an automatically generated meeting ID. It can only be used for scheduled meetings, instant meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
description: Enable waiting room. Note that if the value of this field is set to `true`, it will override and disable the `join_before_host` setting.
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
start_time:
description: |-
Meeting start time. We support two formats for `start_time` - local time and GMT.
To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`. Example: "2020-03-31T12:02:00Z"
To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
format: date-time
type: string
template_id:
description: |-
Unique identifier of the **admin meeting template**. To create admin meeting templates, contact the Zoom support team.
Use this field if you would like to [schedule the meeting from a admin meeting template](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates#h_86f06cff-0852-4998-81c5-c83663c176fb). You can retrieve the value of this field by calling the [List meeting templates](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/listmeetingtemplates) API.
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Label of the tracking field.
type: string
value:
description: Tracking fields value
type: string
required:
- field
type: object
type: array
type:
default: 2
description: Meeting Type: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
multipart/form-data:
schema:
description: Base object for meeting.
properties:
agenda:
description: Meeting description.
maxLength: 2000
type: string
duration:
description: Meeting duration (minutes). Used for scheduled meetings only.
type: integer
password:
description: |-
Passcode to join the meeting. By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
schedule_for:
description: If you would like to schedule this meeting for someone else in your account, provide the Zoom user id or email address of the user here.
type: string
settings:
description: Meeting settings.
properties:
additional_data_center_regions:
description: "Enable additional [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) for this meeting. Provide the value in the form of array of country code(s) for the countries which are available as data center regions in the [account settings](https://zoom.us/account/setting) but have been opt out of in the user settings. For instance, let's say that in your account settings, the data center regions that have been selected are Europe, Honkong, Australia, India, Latin America, Japan, China, United States,and Canada. The complete list of available data center regions for your account is: [\"EU\", \"HK\", \"AU\", \"IN\", \"LA\", \"TY\", \"CN\", \"US\", \"CA\"]. In [user settings](https://zoom.us/profile/setting), you have opted out of India(IN) and Japan(TY) for meeting and webinar traffic routing. If you would like, you can still include India and Japan as additional data centers for this meeting using this field. To include India and Japan as additional data center regions, you would provide [\"IN\", \"TY\"] as the value."
items:
type: string
type: array
allow_multiple_devices:
description: |-
If set to `true`, attendees will be allowed to join a meeting from multiple devices.
**Note:** This setting is only applied for meetings that have enabled registration.
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values separated by a comma."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
The default value is `2`. To enable registration required, set the approval type to `0` or `1`. Values include:
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the meeting. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains.
type: string
authentication_option:
description: Specify the authentication type for users to join a meeting with`meeting_authentication` setting set to `true`. The value of this field can be retrieved from the `id` field within `authentication_options` array in the response of [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings).
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: |-
Allow participants to join the meeting before the host starts the meeting. This field can only used for scheduled or recurring meetings.
**Note:** If waiting room is enabled, the **join before host** setting will be disabled.
type: boolean
language_interpretation:
description: |-
Language interpretation [settings](https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars#h_01EGGQFD3Q4BST3378SA762MJ1) for meetings.
**Note:** This feature is only available on certain Webinar add-on, Education, Business and higher plans. If this feature is not enabled on the host's account, this setting will not be applied for the meeting.
properties:
enable:
description: Indicate whether or not you would like to enable [language interpretation](https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars#h_01EGGQFD3Q4BST3378SA762MJ1) for this meeting.
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: Only [authenticated](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) users can join meeting if the value of this field is set to `true`.
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
If set to `true`, the registration page for the meeting will include social share buttons.
**Note:** This setting is only applied for meetings that have enabled registration.
type: boolean
use_pmi:
default: false
description: Use Personal Meeting ID instead of an automatically generated meeting ID. It can only be used for scheduled meetings, instant meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
description: Enable waiting room. Note that if the value of this field is set to `true`, it will override and disable the `join_before_host` setting.
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
start_time:
description: |-
Meeting start time. We support two formats for `start_time` - local time and GMT.
To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`. Example: "2020-03-31T12:02:00Z"
To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
format: date-time
type: string
template_id:
description: |-
Unique identifier of the **admin meeting template**. To create admin meeting templates, contact the Zoom support team.
Use this field if you would like to [schedule the meeting from a admin meeting template](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates#h_86f06cff-0852-4998-81c5-c83663c176fb). You can retrieve the value of this field by calling the [List meeting templates](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/listmeetingtemplates) API.
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Label of the tracking field.
type: string
value:
description: Tracking fields value
type: string
required:
- field
type: object
type: array
type:
default: 2
description: Meeting Type: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
description: Meeting object.
required: true
x-examples:
application/json:
agenda: string
duration: integer
password: string
recurrence:
end_date_time: string [date-time]
end_times: integer
monthly_day: integer
monthly_week: integer
monthly_week_day: integer
repeat_interval: integer
type: integer
weekly_days: string
schedule_for: string
settings:
alternative_hosts: string
approval_type: integer
audio: string
auto_recording: string
cn_meeting: boolean
enforce_login: boolean
enforce_login_domains: string
global_dial_in_countries:
- string
host_video: boolean
in_meeting: boolean
join_before_host: boolean
mute_upon_entry: boolean
participant_video: boolean
registrants_email_notification: boolean
registration_type: integer
use_pmi: boolean
watermark: boolean
start_time: string [date-time]
timezone: string
topic: string
type: integer
responses:
"201":
content:
application/json:
examples:
response:
value:
created_at: 2019-09-05T16:54:14Z
duration: 60
host_id: AbcDefGHi
id: 1100000
join_url: https://zoom.us/j/1100000
settings:
alternative_hosts: ""
approval_type: 2
audio: both
auto_recording: local
breakout_room:
enable: false
host_video: false
in_meeting: false
join_before_host: true
mute_upon_entry: false
participant_video: false
registrants_confirmation_email: true
registrants_email_notification: true
rooms:
- name: room1
participants:
- james.user01@somemail1234.com
- james.user02@somemail1234.com
- name: room2
participants:
- james.user03@somemail1234.com
use_pmi: false
waiting_room: false
watermark: false
close_registration: false
cn_meeting: false
enforce_login: false
enforce_login_domains: ""
global_dial_in_countries:
- US
global_dial_in_numbers:
- city: New York
country: US
country_name: US
number: +1 1000200200
type: toll
- city: San Jose
country: US
country_name: US
number: +1 6699006833
type: toll
- city: San Jose
country: US
country_name: US
number: +1 408000000
type: toll
start_time: 2019-08-30T22:00:00Z
start_url: https://zoom.us/s/1100000?iIifQ.wfY2ldlb82SWo3TsR77lBiJjR53TNeFUiKbLyCvZZjw
status: waiting
timezone: America/New_York
topic: API Test
type: 2
uuid: ng1MzyWNQaObxcf3+Gfm6A==
schema:
allOf:
- properties:
assistant_id:
description: Unique identifier of the scheduler who scheduled this meeting on behalf of the host. This field is only returned if you used "schedule_for" option in the [Create a Meeting API request](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate).
type: string
host_email:
description: Email address of the meeting host.
format: email
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
registration_url:
description: URL using which registrants can register for a meeting. This field is only returned for meetings that have enabled registration.
type: string
type: object
- description: Meeting object
properties:
agenda:
description: Agenda
type: string
created_at:
description: The date and time at which this meeting was created.
format: date-time
type: string
duration:
description: Meeting duration.
type: integer
h323_password:
description: H.323/SIP room system password
type: string
join_url:
description: URL for participants to join the meeting. This URL should only be shared with users that you would like to invite for the meeting.
type: string
occurrences:
description: Array of occurrence objects.
items:
description: Occurence object. This object is only returned for Recurring Webinars.
properties:
duration:
description: Duration.
type: integer
occurrence_id:
description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
type: string
start_time:
description: Start time.
format: date-time
type: string
status:
description: Occurrence status.
type: string
type: object
type: array
password:
description: |+
Meeting password. Password may only contain the following characters: `[a-z A-Z 0-9 @ - _ * !]`
If "Require a password when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the password field will be autogenerated in the response even if it is not provided in the API request.
type: string
pmi:
description: Personal Meeting Id. Only used for scheduled meetings and recurring meetings with no fixed time.
format: int64
type: integer
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
description: Meeting settings.
properties:
allow_multiple_devices:
description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_exception:
description: The participants added here will receive unique meeting invite links and bypass authentication.
items:
properties:
email:
description: Email address of the participant.
format: email
type: string
name:
description: Name of the participant.
type: string
type: object
type: array
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Meeting authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
global_dial_in_numbers:
description: Global Dial-in Countries/Regions
items:
properties:
city:
description: City of the number, if any. For example, Chicago.
type: string
country:
description: Country code. For example, BR.
type: string
country_name:
description: Full name of country. For example, Brazil.
type: string
number:
description: Phone number. For example, +1 2332357613.
type: string
type:
description: "Type of number. "
enum:
- toll
- tollfree
type: string
type: object
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
type: boolean
language_interpretation:
properties:
enable:
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: "`true`- Only authenticated users can join meetings."
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_confirmation_email:
description: Send confirmation email to registrants upon successful registration.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
Show social share buttons on the meeting registration page.
This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
use_pmi:
default: false
description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
default: false
description: Enable waiting room
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
start_time:
description: 'Meeting start date-time in UTC/GMT. Example: "2020-03-31T12:02:00Z"'
format: date-time
type: string
start_url:
description: URL to start the meeting. This URL should only be used by the host of the meeting and **should not be shared with anyone other than the host** of the meeting as anyone with this URL will be able to login to the Zoom Client as the host of the meeting.
type: string
timezone:
description: Timezone to format start_time
type: string
topic:
description: Meeting topic
maxLength: 200
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Label of the tracking field.
type: string
value:
description: Value for the field.
type: string
visible:
description: |-
Indicates whether the [tracking field](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) is visible in the meeting scheduling options in the Zoom Web Portal or not.
`true`: Tracking field is visible.
`false`: Tracking field is not visible to the users in the meeting options in the Zoom Web Portal but the field was used while scheduling this meeting via API. An invisible tracking field can be used by users while scheduling meetings via API only.
type: boolean
type: object
type: array
type:
default: 2
description: Meeting Type
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
application/xml:
schema:
allOf:
- properties:
assistant_id:
description: Unique identifier of the scheduler who scheduled this meeting on behalf of the host. This field is only returned if you used "schedule_for" option in the [Create a Meeting API request](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate).
type: string
host_email:
description: Email address of the meeting host.
format: email
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
registration_url:
description: URL using which registrants can register for a meeting. This field is only returned for meetings that have enabled registration.
type: string
type: object
- description: Meeting object
properties:
agenda:
description: Agenda
type: string
created_at:
description: The date and time at which this meeting was created.
format: date-time
type: string
duration:
description: Meeting duration.
type: integer
h323_password:
description: H.323/SIP room system password
type: string
join_url:
description: URL for participants to join the meeting. This URL should only be shared with users that you would like to invite for the meeting.
type: string
occurrences:
description: Array of occurrence objects.
items:
description: Occurence object. This object is only returned for Recurring Webinars.
properties:
duration:
description: Duration.
type: integer
occurrence_id:
description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
type: string
start_time:
description: Start time.
format: date-time
type: string
status:
description: Occurrence status.
type: string
type: object
type: array
password:
description: |+
Meeting password. Password may only contain the following characters: `[a-z A-Z 0-9 @ - _ * !]`
If "Require a password when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the password field will be autogenerated in the response even if it is not provided in the API request.
type: string
pmi:
description: Personal Meeting Id. Only used for scheduled meetings and recurring meetings with no fixed time.
format: int64
type: integer
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
description: Meeting settings.
properties:
allow_multiple_devices:
description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_exception:
description: The participants added here will receive unique meeting invite links and bypass authentication.
items:
properties:
email:
description: Email address of the participant.
format: email
type: string
name:
description: Name of the participant.
type: string
type: object
type: array
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Meeting authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
global_dial_in_numbers:
description: Global Dial-in Countries/Regions
items:
properties:
city:
description: City of the number, if any. For example, Chicago.
type: string
country:
description: Country code. For example, BR.
type: string
country_name:
description: Full name of country. For example, Brazil.
type: string
number:
description: Phone number. For example, +1 2332357613.
type: string
type:
description: "Type of number. "
enum:
- toll
- tollfree
type: string
type: object
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
type: boolean
language_interpretation:
properties:
enable:
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: "`true`- Only authenticated users can join meetings."
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_confirmation_email:
description: Send confirmation email to registrants upon successful registration.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
Show social share buttons on the meeting registration page.
This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
use_pmi:
default: false
description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
default: false
description: Enable waiting room
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
start_time:
description: 'Meeting start date-time in UTC/GMT. Example: "2020-03-31T12:02:00Z"'
format: date-time
type: string
start_url:
description: URL to start the meeting. This URL should only be used by the host of the meeting and **should not be shared with anyone other than the host** of the meeting as anyone with this URL will be able to login to the Zoom Client as the host of the meeting.
type: string
timezone:
description: Timezone to format start_time
type: string
topic:
description: Meeting topic
maxLength: 200
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Label of the tracking field.
type: string
value:
description: Value for the field.
type: string
visible:
description: |-
Indicates whether the [tracking field](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) is visible in the meeting scheduling options in the Zoom Web Portal or not.
`true`: Tracking field is visible.
`false`: Tracking field is not visible to the users in the meeting options in the Zoom Web Portal but the field was used while scheduling this meeting via API. An invisible tracking field can be used by users while scheduling meetings via API only.
type: boolean
type: object
type: array
type:
default: 2
description: Meeting Type
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
description: |-
**HTTP Status Code:** `201`
Meeting created.
headers:
Content-Location:
description: Location of created Meeting
schema:
type: string
"300":
description: |
**HTTP Status Code:** `300`
Invalid enforce_login_domains, separate multiple domains by semicolon.
A maximum of {rateLimitNumber} meetings can be created/updated for a single user in one day.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
User not found.
**Error Code:** `1001` User {userId} not exist or not belong to this account.
summary: Create a meeting
tags:
- Meetings
"/users/{userId}/pac":
get:
description: |-
[Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC) allows Pro or higher account holders to host meetings through PSTN (phone dial-in) only. Use this API to list a user's PAC accounts.
**Scopes:** `pac:read:admin` `pac:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* A Pro or higher plan with [Premium Audio Conferencing](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) add-on.
* Personal Audio Conference must be enabled in the user's profile.
operationId: userPACs
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
pac_accounts:
- conference_id: "111111"
dedicated_dial_in_number:
- country: USA
number: "123343434"
global_dial_in_numbers:
- country: USA
number: "434343434"
listen_only_password: hkgk
participant_password: ghdf
schema:
properties:
pac_accounts:
items:
properties:
conference_id:
description: Conference ID.
type: integer
dedicated_dial_in_number:
description: List of dedicated dial-in numbers.
items:
properties:
country:
description: Country code.
type: string
number:
description: "Dial-in number: length is less than 16."
type: string
type: object
type: array
global_dial_in_numbers:
description: List of global dial-in numbers.
items:
properties:
country:
description: Country code.
type: string
number:
description: "Dial-in number: length is less than 16."
type: string
type: object
type: array
listen_only_password:
description: "Listen-Only password: numeric value - length is less than 6."
maxLength: 6
type: string
participant_password:
description: "Participant password: numeric value - length is less than 6."
maxLength: 6
minLength: 1
type: string
type: object
type: array
type: object
application/xml:
schema:
properties:
pac_accounts:
items:
properties:
conference_id:
description: Conference ID.
type: integer
dedicated_dial_in_number:
description: List of dedicated dial-in numbers.
items:
properties:
country:
description: Country code.
type: string
number:
description: "Dial-in number: length is less than 16."
type: string
type: object
type: array
global_dial_in_numbers:
description: List of global dial-in numbers.
items:
properties:
country:
description: Country code.
type: string
number:
description: "Dial-in number: length is less than 16."
type: string
type: object
type: array
listen_only_password:
description: "Listen-Only password: numeric value - length is less than 6."
maxLength: 6
type: string
participant_password:
description: "Participant password: numeric value - length is less than 6."
maxLength: 6
minLength: 1
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200` **OK**
PAC account list returned.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `2024`
User does not have PAC enabled.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
summary: List a user's PAC accounts
tags:
- PAC
"/users/{userId}/password":
put:
description: |-
Update the [password](https://support.zoom.us/hc/en-us/articles/206344385-Change-a-User-s-Password) of a user using which the user can login to Zoom. After this request is processed successfully, an email notification will be sent to the user stating that the password was changed.
**Scopes:** `user:write:admin` `user:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Prerequisites:**
* Owner or admin of the Zoom account.
operationId: userPassword
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
password:
description: |-
User password. Should be less than 32 characters.
**Note:** If the account owner or admin has enabled [enhanced password requirements](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_fa9186e4-6818-4f7a-915c-2e25c19f0acd), the value provided in this field must meet those requirements. These requirements can be retrieved by calling the [Get Account Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) and referring to the `password_requirement` field present in the `security` object.
minimum: 8
type: string
required:
- password
type: object
multipart/form-data:
schema:
properties:
password:
description: |-
User password. Should be less than 32 characters.
**Note:** If the account owner or admin has enabled [enhanced password requirements](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_fa9186e4-6818-4f7a-915c-2e25c19f0acd), the value provided in this field must meet those requirements. These requirements can be retrieved by calling the [Get Account Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) and referring to the `password_requirement` field present in the `security` object.
minimum: 8
type: string
required:
- password
type: object
description: User password.
required: true
x-examples:
application/json:
password: string
responses:
"204":
description: |-
**HTTP Status Code:** `204` **OK**
Password updated.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `300` Your new password can not match the old password. This password cannot be changed because it has already been changed the maximum number of times over the past 24 hours.
**Error Code:** `1117` Can not update Admin’s password
**Error Code:** `1123` Can only update password of Zoom work email account
**Error Code:** `1124` Minimum of 6 characters. Have at least {lengthRule} characters
**Error Code:** `1125` Have at least 1 letter (a, b, c…)
**Error Code:** `1126` Have at least 1 number (1, 2, 3…)
**Error Code:** `1127` Have at least 1 special character (!, @, #…)
**Error Code:** `1128` Include both Upper case and Lower case characters
**Error Code:** `1129` Users cannot reuse any of the last $formerPwdCount passwords created.
**Error Code:** `1130` Password can’t use the same character.
**Error Code:** `1131` Password can’t use continuation character.Such as 'abcdef’,’123456’.
**Error Code:** `1136`
Your password is too easy to guess. Try another one.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
summary: Update a user's password
tags:
- Users
"/users/{userId}/permissions":
get:
description: |-
Users can be assigned a set of permissions that allows them to access only the pages/information that a user needs to view or edit.
Use this API to get permissions that have been granted to the user.
**Error Code:** `1001`
User does not exist: $userId.
summary: Get user permissions
tags:
- Users
"/users/{userId}/picture":
post:
description: |-
Upload a user's profile picture.
Provide `multipart/form-data` as the value of the `content-type` header for this request. This API supports JPEG and PNG file formats.
**Scopes:** `user:write:admin` `user:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: userPicture
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
properties:
pic_file:
description: "The file's path. "
format: binary
type: string
required:
- pic_file
type: object
required: true
responses:
"201":
description: "**HTTP Status Code:** `201` Picture uploaded."
headers:
Content-Location:
description: Location of user's picture
schema:
type: string
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `300`
Your request was not accepted because the profile picture contains invalid or explicit content.
**Error Code:** `120`
File is empty.
File size cannot exceed 2M.
Only jpg/jpeg or png image file can be uploaded.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
summary: Upload a user's profile picture
tags:
- Users
"/users/{userId}/presence_status":
parameters:
- in: path
name: userId
required: true
schema:
type: string
put:
description: |+
Users in the Zoom desktop client and mobile apps are assigned with a [presence status](https://support.zoom.us/hc/en-us/articles/360032554051-Status-Icons). The presence status informs users of their contact's availability. Users can also change their own presence status to be either "Away", "Do not disturb", or "Available".
Use this API to update a user's presence status. A user's status can not be updated more than once per minute, i.e., you can only submit a maximum of 1 update request/minute for a single user. Note that a user's presence status can not be updated using this API if the user is not logged in to the Zoom client.
**Scopes:** `user:write`, `user:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: updatePresenceStatus
requestBody:
content:
application/json:
schema:
properties:
duration:
description: |-
If you're updating the status to `Do_Not_Disturb`, specify a duration in minutes for which the status should remain as `Do_Not_Disturb`.
The default value is 20 minutes and the maximum allowed value is 1440 minutes.
maximum: 1440
minimum: 20
type: integer
status:
description: |-
Presence status of the user. The value can be set to one of the following:
* `Away`
* `Do_Not_Disturb`
* `Available`
Users who are on Zoom Client with a version **lower than 5.3.0** can update the status from:
* `Away` to `Do_Not_Disturb`
* `Available` to `Do-Not_Disturb`
Users who are on **Zoom Client 5.3.0** or higher can update the status from:
* `Do_Not_Disturb` to `Away`
* `Do_Not_Disturb` to `Available`
* `Available` to `Away`
* `Away` to `Available`
enum:
- Do_No_Disturb
- Away
- Available
type: string
type: object
multipart/form-data:
schema:
properties:
duration:
description: |-
If you're updating the status to `Do_Not_Disturb`, specify a duration in minutes for which the status should remain as `Do_Not_Disturb`.
The default value is 20 minutes and the maximum allowed value is 1440 minutes.
maximum: 1440
minimum: 20
type: integer
status:
description: |-
Presence status of the user. The value can be set to one of the following:
* `Away`
* `Do_Not_Disturb`
* `Available`
Users who are on Zoom Client with a version **lower than 5.3.0** can update the status from:
* `Away` to `Do_Not_Disturb`
* `Available` to `Do-Not_Disturb`
Users who are on **Zoom Client 5.3.0** or higher can update the status from:
* `Do_Not_Disturb` to `Away`
* `Do_Not_Disturb` to `Available`
* `Available` to `Away`
* `Away` to `Available`
enum:
- Do_No_Disturb
- Away
- Available
type: string
type: object
x-examples:
application/json:
duration: 45
status: Do_No_Disturb
responses:
"204":
content:
application/json:
schema: {}
application/xml:
schema: {}
description: |
**HTTP Status Code:** `204`
Status updated succesfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `5301`
Request to update the presence status of this user failed.
**Error Code:** `5411`
Unauthorized request. You do not have permission to update the presence status of this user.
"404":
description: |+
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: {userId}.
"429":
description: |-
**HTTP Status Code:** `429` **Too Many Requests**
Too many requests submitted to update the presence status of this user. Please wait for the request to be processed and try again later.
summary: Update a user's presence status
tags:
- Users
"/users/{userId}/recordings":
get:
description: |-
When a user records a meeting or a webinar by choosing the **Record to the Cloud** option, the video, audio, and chat text are recorded in the Zoom cloud.
Use this API to list all [Cloud recordings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-Recording) of a user.
> To access a user's password protected cloud recording, add an "access_token" parameter to the download URL and provide either the [JWT](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app) or the user's OAuth access token as the value of the "access_token" parameter.
**Scopes:** `recording:read:admin` `recording:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Prerequisites:**
* Pro or a higher plan.
* Cloud Recording must be enabled on the user's account.
operationId: recordingsList
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
- description: Query Metadata of Recording if an On-Premise Meeting Connector was used for the meeting.
in: query
name: mc
schema:
default: "false"
type: string
- description: |-
Query trash.
`true`: List recordings from trash. `false`: Do not list recordings from the trash. The default value is `false`. If you set it to `true`, you can use the `trash_type` property to indicate the type of Cloud recording that you need to retrieve.
in: query
name: trash
schema:
default: false
type: boolean
- description: |-
The start date in 'yyyy-mm-dd' UTC format for the date range for which you would like to retrieve recordings. The maximum range can be a month. If no value is provided for this field, the default will be current date. For example, if you make the API request on June 30, 2020, without providing the “from” and “to” parameters, by default the value of 'from' field will be “2020-06-30” and the value of the 'to' field will be “2020-07-01”.
**Note**: The "trash" files cannot be filtered by date range and thus, the "from" and "to" fields should not be used for trash files.
in: query
name: from
schema:
format: date
type: string
- description: "End date in 'yyyy-mm-dd' 'yyyy-mm-dd' UTC format. "
in: query
name: to
schema:
format: date
type: string
- description: |-
The type of Cloud recording that you would like to retrieve from the trash. The value can be one of the following:
`meeting_recordings`: List all meeting recordings from the trash.
`recording_file`: List all individual recording files from the trash.
in: query
name: trash_type
schema:
default: meeting_recordings
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
from: 2019-08-15
meetings:
- account_id: AbcjxkfhdEEE
duration: 1
host_id: z8dfkgABBBBBBBfp8uQ
id: 1000000000000
recording_count: 1
recording_files:
- download_url: https://api.zoom.us/recording/download/pfA2AvvvvvAnAzOibbbbELxl
file_size: 10098
file_type: M4A
id: 589ABBBBB-8718e
meeting_id: gkABCDEnCkPuA==
play_url: https://api.zoom.us/recording/play/pfA2AvvvvvAnAzOibbbbELxl
recording_end: 2019-08-29T21:55:24Z
recording_start: 2019-08-29T21:54:55Z
recording_type: audio_only
status: completed
- download_url: https://api.zoom.us/recording/download/cc33ekldfdjfhf3-aaaaa
file_type: TIMELINE
meeting_id: gkABCDEnCkPuA==
recording_end: 2019-08-29T21:55:24Z
recording_start: 2019-08-29T21:54:55Z
- download_url: https://api.zoom.us/recording/download/abcdkjfhdhfdhfj
file_size: 37285
file_type: MP4
id: 96119b=kdfhf791
meeting_id: gkABCDEnCkPuA==
play_url: https://api.zoom.us/recording/play/abcdkjfhdhfdhfj
recording_end: 2019-08-29T21:55:24Z
recording_start: 2019-08-29T21:54:55Z
recording_type: shared_screen_with_speaker_view
status: completed
share_url: https://api.zoom.us/recording/share/IABCDJDKDJEEEEEk_GwfdggdgkTziMw
start_time: 2019-08-29T21:54:49Z
timezone: America/Los_Angeles
topic: MyTestPollMeeting
total_size: 47383
type: 2
uuid: gkABCDEnCkPuA==
next_page_token: ""
page_count: 1
page_size: 30
to: 2019-09-15
total_records: 1
schema:
allOf:
- description: DateTime Object.
properties:
from:
description: Start Date.
format: date
type: string
to:
description: End Date.
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
meetings:
description: List of recordings.
items:
allOf:
- allOf:
- properties:
account_id:
description: Unique Identifier of the user account.
type: string
duration:
description: Meeting duration.
type: integer
host_id:
description: ID of the user set as host of meeting.
type: string
id:
description: Meeting ID - also known as the meeting number.
type: string
recording_count:
description: Number of recording files returned in the response of this API call.
type: string
start_time:
description: The time at which the meeting started.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_size:
description: Total size of the recording.
type: string
type:
description: |-
Type of the meeting that was recorded.
Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
type: string
uuid:
description: Unique Meeting Identifier. Each instance of the meeting will have its own UUID.
type: string
- allOf:
- properties:
recording_files:
description: List of recording file.
items:
allOf:
- description: Recording file object.
properties:
deleted_time:
description: The time at which recording was deleted. Returned in the response only for trash query.
type: string
download_url:
description: |+
The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
**Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
type: string
file_size:
description: The recording file size.
type: number
file_type:
description: |-
The recording file type. The value of this field could be one of the following:
`MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
`TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
`id`, `status`, `file_size`, `recording_type`, and `play_url`.
type: string
id:
description: The recording file ID. Included in the response of general query.
type: string
meeting_id:
description: "The meeting ID. "
type: string
play_url:
description: The URL using which a recording file can be played.
type: string
recording_end:
description: The recording end time. Response in general query.
type: string
recording_start:
description: The recording start time.
type: string
recording_type:
description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
type: string
status:
description: The recording status.
enum:
- completed
type: string
type: object
title: Recording file List
type: array
description: List of recording file.
title: Recording file List
type: object
description: The recording meeting object.
type: object
title: Recording List
type: array
description: List of recordings.
title: Recording List
type: object
application/xml:
schema:
allOf:
- description: DateTime Object.
properties:
from:
description: Start Date.
format: date
type: string
to:
description: End Date.
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
meetings:
description: List of recordings.
items:
allOf:
- allOf:
- properties:
account_id:
description: Unique Identifier of the user account.
type: string
duration:
description: Meeting duration.
type: integer
host_id:
description: ID of the user set as host of meeting.
type: string
id:
description: Meeting ID - also known as the meeting number.
type: string
recording_count:
description: Number of recording files returned in the response of this API call.
type: string
start_time:
description: The time at which the meeting started.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_size:
description: Total size of the recording.
type: string
type:
description: |-
Type of the meeting that was recorded.
Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
type: string
uuid:
description: Unique Meeting Identifier. Each instance of the meeting will have its own UUID.
type: string
- allOf:
- properties:
recording_files:
description: List of recording file.
items:
allOf:
- description: Recording file object.
properties:
deleted_time:
description: The time at which recording was deleted. Returned in the response only for trash query.
type: string
download_url:
description: |+
The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
**Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
type: string
file_size:
description: The recording file size.
type: number
file_type:
description: |-
The recording file type. The value of this field could be one of the following:
`MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
`TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
`id`, `status`, `file_size`, `recording_type`, and `play_url`.
type: string
id:
description: The recording file ID. Included in the response of general query.
type: string
meeting_id:
description: "The meeting ID. "
type: string
play_url:
description: The URL using which a recording file can be played.
type: string
recording_end:
description: The recording end time. Response in general query.
type: string
recording_start:
description: The recording start time.
type: string
recording_type:
description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
type: string
status:
description: The recording status.
enum:
- completed
type: string
type: object
title: Recording file List
type: array
description: List of recording file.
title: Recording file List
type: object
description: The recording meeting object.
type: object
title: Recording List
type: array
description: List of recordings.
title: Recording List
type: object
description: |-
**HTTP Status Code:** `200`
List of recording objects returned.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User {userId} not exist or not belong to this account.
security:
- OAuth: []
summary: List all recordings
tags:
- Cloud Recording
"/users/{userId}/schedulers":
delete:
description: |-
Delete all of a user's schedulers. Schedulers are users on whose behalf the current user (assistant) can schedule meetings for. By calling this API, the current user will no longer be a scheduling assistant of any user.
**Prerequisite**: Current user (assistant) must be under the same account as the scheduler.
**Scopes**: `user:write:admin` `user:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userSchedulersDelete
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
responses:
"204":
content:
application/json:
examples:
response:
value: ""
description: |
**HTTP Status Code:** `204` All schedulers deleted.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
security:
- OAuth: []
summary: Delete user schedulers
tags:
- Users
get:
description: |-
List all the schedulers of a user. Schedulers in this context are the users for whom the current user can schedule meetings for.
For instance, if the current user (i.e., the user whose userId was passed in the path parameter of this API call) is user A, the response of this API will contain a list of user(s), for whom user A can schedule and manage meetings. User A is the assistant of these users and thus has scheduling privilege for these user(s).
**Prerequisites**:
* Current user must be under the same account as the scheduler.
**Scopes**: `user:read:admin` `user:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: userSchedulers
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
schedulers:
- email: sjfgduyfghdfg@myemail.dshdgshfd
id: abXXXsfsidfhjdsfhd768944
- email: sdhfefghdfg@myemail.dshdgshfd
id: abXXbbbbioepur8944
schema:
description: List of user's schedulers.
properties:
schedulers:
description: List of users for whom the current user can schedule meetings.
items:
properties:
email:
description: Email address of the scheduler.
type: string
id:
description: Unique Identifier (User ID) of the Scheduler.
type: string
pmi:
description: PMI of the meeting host in long (int64) format.
format: int64
type: integer
type: object
maximum: 30
type: array
title: User schedulers List
type: object
application/xml:
schema:
description: List of user's schedulers.
properties:
schedulers:
description: List of users for whom the current user can schedule meetings.
items:
properties:
email:
description: Email address of the scheduler.
type: string
id:
description: Unique Identifier (User ID) of the Scheduler.
type: string
pmi:
description: PMI of the meeting host in long (int64) format.
format: int64
type: integer
type: object
maximum: 30
type: array
title: User schedulers List
type: object
description: "**HTTP Status Code:** `200` Successfully listed all schedulers of the user."
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
security:
- OAuth: []
summary: List user schedulers
tags:
- Users
"/users/{userId}/schedulers/{schedulerId}":
delete:
description: |-
Delete a Scheduler.
Schedulers are users on whose behalf the current user (assistant) can schedule meetings for. By calling this API, the current user will no longer be a scheduling assistant of this scheduler.
**Prerequisite**: Current user must be under the same account as the scheduler.
**Scopes**: `user:write:admin` `user:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userSchedulerDelete
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: Scheduler's ID.
in: path
name: schedulerId
required: true
schema:
type: string
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Scheduler deleted.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
security:
- OAuth: []
summary: Delete a scheduler
tags:
- Users
"/users/{userId}/settings":
get:
description: |-
Retrieve a user's settings.
**Scopes:** `user:read:admin` `user:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: userSettings
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: "`0` - Facebook. `1` - Google. `99` - API. `100` - Zoom. `101` - SSO."
in: query
name: login_type
schema:
enum:
- "0"
- "1"
- "99"
- "100"
- "101"
type: string
x-enum-descriptions:
- Facebook
- Google
- API
- Zoom
- SSO
- allowEmptyValue: true
description: |-
`meeting_authentication`: Use this query parameter to view [meeting authentication configuration](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) applied on the user's account. `recording_authentication`: Use this query parameter to view [recording authentication configuration](https://support.zoom.us/hc/en-us/articles/360037756671-Authentication-Profiles-for-Cloud-Recordings) applied on the user's account.
`meeting_security`: Use this query parameter to view meeting security settings applied on the user's account.
in: query
name: option
schema:
enum:
- meeting_authentication
- recording_authentication
type: string
- description: |-
Provide the name of the field by which you would like to filter the response. For example, if you provide "host_video" as the value of this field, you will get a response similar to the following:
{
"schedule_meeting": {
"host_video": false
}
}
You can provide multiple values by separating them with commas(example: "host_video,participant_video”).
in: query
name: custom_query_fields
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
email_notification:
alternative_host_reminder: false
cancel_meeting_reminder: false
jbh_reminder: false
schedule_for_reminder: false
feature:
cn_meeting: true
in_meeting: false
large_meeting: false
meeting_capacity: 100
webinar: false
zoom_phone: false
in_meeting:
allow_live_streaming: false
annotation: true
attendee_on_hold: false
auto_saving_chat: false
breakout_room: false
chat: true
closed_caption: true
co_host: false
custom_data_center_regions: true
data_center_regions:
- AU
- CN
- EU
- HK
- LA
- TY
- US
e2e_encryption: false
entry_exit_chime: all
far_end_camera_control: false
feedback: true
group_hd: false
non_verbal_feedback: false
polling: true
private_chat: true
record_play_voice: false
remote_control: true
remote_support: false
show_meeting_control_toolbar: false
virtual_background: true
waiting_room: false
recording:
auto_delete_cmr: false
auto_recording: none
cloud_recording: true
local_recording: true
record_audio_file: true
record_gallery_view: false
record_speaker_view: true
recording_audio_transcript: true
recording_password_requirement:
have_letter: true
have_number: true
have_special_character: true
length: 8
only_allow_numeric: false
save_chat_text: true
show_timestamp: false
schedule_meeting:
audio_type: both
embed_password_in_join_link: false
force_pmi_jbh_password: true
host_video: true
join_before_host: false
meeting_password_requirement:
have_letter: true
have_number: false
have_special_character: false
length: 6
only_allow_numeric: false
not_store_meeting_topic: false
participants_video: false
pmi_password: "98654"
pstn_password_protected: false
require_password_for_pmi_meetings: all
require_password_for_scheduling_new_meetings: false
use_pmi_for_instant_meetings: true
use_pmi_for_scheduled_meetings: false
telephony:
audio_conference_info: ""
show_international_numbers_link: false
third_party_audio: false
tsp:
call_out: true
call_out_countries:
- USA
show_international_numbers_link: false
schema:
oneOf:
- properties:
email_notification:
description: ""
properties:
alternative_host_reminder:
default: false
description: When an alternative host is set or removed from a meeting.
type: boolean
cancel_meeting_reminder:
default: false
description: When a meeting is cancelled.
type: boolean
jbh_reminder:
default: false
description: When attendees join meeting before host.
type: boolean
schedule_for_reminder:
default: false
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
title: "User settings: Notification settings"
type: object
feature:
description: ""
properties:
cn_meeting:
description: Host meeting in China.
type: boolean
in_meeting:
description: Host meeting in India.
type: boolean
large_meeting:
description: Large meeting feature.
type: boolean
large_meeting_capacity:
description: "Large meeting capacity: can be 500 or 1000, depending on if the user has a large meeting capacity plan subscription or not."
type: integer
meeting_capacity:
description: User’s meeting capacity.
type: integer
webinar:
description: Webinar feature.
type: boolean
webinar_capacity:
description: "Webinar capacity: can be 100, 500, 1000, 3000, 5000 or 10000, depending on if the user has a webinar capacity plan subscription or not."
type: integer
zoom_phone:
description: Zoom phone feature.
type: boolean
title: "User settings: Feature settings"
type: object
in_meeting:
description: ""
properties:
allow_live_streaming:
description: Allow live streaming.
type: boolean
annotation:
default: false
description: Allow participants to use annotation tools.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_saving_chat:
default: false
description: Auto save all in-meeting chats.
type: boolean
breakout_room:
default: false
description: Allow host to split meeting participants into separate breakout rooms.
type: boolean
chat:
default: false
description: Enable chat during meeting for all participants.
type: boolean
closed_caption:
default: false
description: Enable closed captions.
type: boolean
co_host:
default: false
description: Allow the host to add co-hosts.
type: boolean
custom_data_center_regions:
description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting your real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
custom_live_streaming_service:
description: Allow custom live streaming.
type: boolean
custom_service_instructions:
description: Custom service instructions.
type: string
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["DE", "NL", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- HK
- AU
- IN
- TY
- CN
- US
- CA
- DE
- NL
- LA
items:
type: string
type: array
e2e_encryption:
description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
type: boolean
entry_exit_chime:
default: all
description: Play sound when participants join or leave: `host` - When host joins or leaves. `all` - When any participant joins or leaves. `none` - No join or leave sound.
enum:
- host
- all
- none
type: string
x-enum-descriptions:
- when host joins/leaves
- when any participant joins/leaves
- no join/leave sound
far_end_camera_control:
default: false
description: Allow another user to take control of the camera.
type: boolean
feedback:
default: false
description: Enable option to send feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the user or not.
type: boolean
group_hd:
default: false
description: Enable group HD video.
type: boolean
non_verbal_feedback:
default: false
description: Enable non-verbal feedback through screens.
type: boolean
polling:
default: false
description: Add polls to the meeting controls.
type: boolean
private_chat:
default: false
description: Enable 1:1 private chat between participants during meetings.
type: boolean
record_play_voice:
description: Record and play their own voice.
type: boolean
remote_control:
default: false
description: Enable remote control during screensharing.
type: boolean
remote_support:
default: false
description: Allow host to provide 1:1 remote support to a participant.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the user or not.
type: boolean
screen_sharing:
description: |
Allow host and participants to share their screen or content during meetings
type: boolean
share_dual_camera:
default: false
description: Share dual camera (deprecated).
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
virtual_background:
default: false
description: Enable virtual background.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow user to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
waiting_room:
default: false
description: Enable Waiting room - if enabled, attendees can only join after host approves.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
workplace_by_facebook:
description: Allow livestreaming by host through Workplace by Facebook.
type: boolean
title: "User settings: Meeting settings"
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
description: ""
properties:
ask_host_to_confirm_disclaimer:
description: Ask host to confirm the disclaimer.
type: boolean
ask_participants_to_consent_disclaimer:
description: |-
This field can be used if `recording_disclaimer` is set to true. This field indicates whether or not you would like to ask participants for consent when a recording starts. The value can be one of the following:
* `true`: Ask participants for consent when a recording starts.
* `false`: Do not ask participants for consent when a recording starts.
type: boolean
auto_delete_cmr:
default: false
description: Auto delete cloud recordings.
type: boolean
auto_delete_cmr_days:
description: A specified number of days of auto delete cloud recordings.
maximum: 60
minimum: 1
type: integer
auto_recording:
default: local
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record on local
- Record on cloud
- Disabled
cloud_recording:
default: false
description: Cloud recording.
type: boolean
host_pause_stop_recording:
default: false
description: Host can pause/stop the auto recording in the cloud.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Local recording.
type: boolean
record_audio_file:
default: false
description: Record an audio only file.
type: boolean
record_gallery_view:
default: false
description: Record the gallery view.
type: boolean
record_speaker_view:
default: false
description: Record the active speaker view.
type: boolean
recording_audio_transcript:
description: Audio transcript.
type: boolean
recording_disclaimer:
description: |
Show a disclaimer to participants before a recording starts
type: boolean
recording_password_requirement:
description: This object represents the minimum passcode requirements set for recordings via Account Recording Settings.
properties:
have_letter:
description: Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).
type: boolean
have_number:
description: Indicates whether or not passcode must contain at least one number(1, 2, 3..).
type: boolean
have_special_character:
description: "Indicates whether or not passcode must contain at least one special character(!, @, #..)."
type: boolean
length:
description: Minimum required length for the passcode.
maximum: 10
type: integer
only_allow_numeric:
description: Indicates whether or not passcode must contain only numeric characters.
type: boolean
type: object
save_chat_text:
default: false
description: Save chat text from the meeting.
type: boolean
show_timestamp:
default: false
description: Show timestamp on video.
type: boolean
title: "User settings: Recording settings"
type: object
schedule_meeting:
description: ""
properties:
audio_type:
default: voip
description: Determine how participants can join the audio portion of the meeting: `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - Third party audio conference.
enum:
- both
- telephony
- voip
- thirdParty
type: string
x-enum-descriptions:
- Telephony and VoIP
- Audio PSTN telephony only
- VoIP only
- 3rd party audio conference
default_password_for_scheduled_meetings:
description: |
Passcode for already scheduled meetings
type: string
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.
\ "
type: boolean
force_pmi_jbh_password:
description: Require a passcode for personal meetings if attendees can join before host.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Join the meeting before host arrives.
type: boolean
meeting_password_requirement:
description: Account wide meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
participants_video:
description: Start meetings with participants video on.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
pmi_password:
description: |
PMI passcode
type: string
pstn_password_protected:
description: Generate and require passcode for participants joining by phone.
type: boolean
require_password_for_instant_meetings:
description: |
Require a passcode for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: |
Require a passcode for Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
enum:
- jbh_only
- all
- none
type: string
x-enum-descriptions:
- Only meetings with Join Before Host enabled
- All meetings using PMI
- Disabled
require_password_for_scheduled_meetings:
description: |
Require a passcode for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: |
Require a passcode when scheduling new meetings.This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
use_pmi_for_instant_meetings:
description: |
Use Personal Meeting ID (PMI) when starting an instant meeting
type: boolean
use_pmi_for_scheduled_meetings:
description: |
Use Personal Meeting ID (PMI) when scheduling a meeting
type: boolean
title: "User settings: Meeting settings"
type: object
telephony:
properties:
audio_conference_info:
default: ""
description: Third party audio conference info.
maxLength: 2048
type: string
show_international_numbers_link:
description: Show the international numbers link on the invitation email.
type: boolean
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
allowed_values:
description: Telephony region options provided by Zoom to select from.
items:
type: string
type: array
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Third party audio conference.
type: boolean
title: "User settings: Meeting settings"
type: object
tsp:
description: "Account Settings: TSP."
properties:
call_out:
description: Call Out
type: boolean
call_out_countries:
description: Call Out Countries/Regions
items: {}
type: array
show_international_numbers_link:
description: Show international numbers link on the invitation email
type: boolean
title: "User settings: TSP settings"
type: object
title: User settings
type: object
- oneOf:
- properties:
authentication_options:
description: Meeting Authentication Options
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domains
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
- properties:
authentication_options:
description: Authentication Options
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: Authentication type
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
application/xml:
schema:
oneOf:
- properties:
email_notification:
description: ""
properties:
alternative_host_reminder:
default: false
description: When an alternative host is set or removed from a meeting.
type: boolean
cancel_meeting_reminder:
default: false
description: When a meeting is cancelled.
type: boolean
jbh_reminder:
default: false
description: When attendees join meeting before host.
type: boolean
schedule_for_reminder:
default: false
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
title: "User settings: Notification settings"
type: object
feature:
description: ""
properties:
cn_meeting:
description: Host meeting in China.
type: boolean
in_meeting:
description: Host meeting in India.
type: boolean
large_meeting:
description: Large meeting feature.
type: boolean
large_meeting_capacity:
description: "Large meeting capacity: can be 500 or 1000, depending on if the user has a large meeting capacity plan subscription or not."
type: integer
meeting_capacity:
description: User’s meeting capacity.
type: integer
webinar:
description: Webinar feature.
type: boolean
webinar_capacity:
description: "Webinar capacity: can be 100, 500, 1000, 3000, 5000 or 10000, depending on if the user has a webinar capacity plan subscription or not."
type: integer
zoom_phone:
description: Zoom phone feature.
type: boolean
title: "User settings: Feature settings"
type: object
in_meeting:
description: ""
properties:
allow_live_streaming:
description: Allow live streaming.
type: boolean
annotation:
default: false
description: Allow participants to use annotation tools.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_saving_chat:
default: false
description: Auto save all in-meeting chats.
type: boolean
breakout_room:
default: false
description: Allow host to split meeting participants into separate breakout rooms.
type: boolean
chat:
default: false
description: Enable chat during meeting for all participants.
type: boolean
closed_caption:
default: false
description: Enable closed captions.
type: boolean
co_host:
default: false
description: Allow the host to add co-hosts.
type: boolean
custom_data_center_regions:
description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting your real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
custom_live_streaming_service:
description: Allow custom live streaming.
type: boolean
custom_service_instructions:
description: Custom service instructions.
type: string
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["DE", "NL", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- HK
- AU
- IN
- TY
- CN
- US
- CA
- DE
- NL
- LA
items:
type: string
type: array
e2e_encryption:
description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
type: boolean
entry_exit_chime:
default: all
description: Play sound when participants join or leave: `host` - When host joins or leaves. `all` - When any participant joins or leaves. `none` - No join or leave sound.
enum:
- host
- all
- none
type: string
x-enum-descriptions:
- when host joins/leaves
- when any participant joins/leaves
- no join/leave sound
far_end_camera_control:
default: false
description: Allow another user to take control of the camera.
type: boolean
feedback:
default: false
description: Enable option to send feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the user or not.
type: boolean
group_hd:
default: false
description: Enable group HD video.
type: boolean
non_verbal_feedback:
default: false
description: Enable non-verbal feedback through screens.
type: boolean
polling:
default: false
description: Add polls to the meeting controls.
type: boolean
private_chat:
default: false
description: Enable 1:1 private chat between participants during meetings.
type: boolean
record_play_voice:
description: Record and play their own voice.
type: boolean
remote_control:
default: false
description: Enable remote control during screensharing.
type: boolean
remote_support:
default: false
description: Allow host to provide 1:1 remote support to a participant.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the user or not.
type: boolean
screen_sharing:
description: |
Allow host and participants to share their screen or content during meetings
type: boolean
share_dual_camera:
default: false
description: Share dual camera (deprecated).
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
virtual_background:
default: false
description: Enable virtual background.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow user to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
waiting_room:
default: false
description: Enable Waiting room - if enabled, attendees can only join after host approves.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
workplace_by_facebook:
description: Allow livestreaming by host through Workplace by Facebook.
type: boolean
title: "User settings: Meeting settings"
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
description: ""
properties:
ask_host_to_confirm_disclaimer:
description: Ask host to confirm the disclaimer.
type: boolean
ask_participants_to_consent_disclaimer:
description: |-
This field can be used if `recording_disclaimer` is set to true. This field indicates whether or not you would like to ask participants for consent when a recording starts. The value can be one of the following:
* `true`: Ask participants for consent when a recording starts.
* `false`: Do not ask participants for consent when a recording starts.
type: boolean
auto_delete_cmr:
default: false
description: Auto delete cloud recordings.
type: boolean
auto_delete_cmr_days:
description: A specified number of days of auto delete cloud recordings.
maximum: 60
minimum: 1
type: integer
auto_recording:
default: local
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record on local
- Record on cloud
- Disabled
cloud_recording:
default: false
description: Cloud recording.
type: boolean
host_pause_stop_recording:
default: false
description: Host can pause/stop the auto recording in the cloud.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Local recording.
type: boolean
record_audio_file:
default: false
description: Record an audio only file.
type: boolean
record_gallery_view:
default: false
description: Record the gallery view.
type: boolean
record_speaker_view:
default: false
description: Record the active speaker view.
type: boolean
recording_audio_transcript:
description: Audio transcript.
type: boolean
recording_disclaimer:
description: |
Show a disclaimer to participants before a recording starts
type: boolean
recording_password_requirement:
description: This object represents the minimum passcode requirements set for recordings via Account Recording Settings.
properties:
have_letter:
description: Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).
type: boolean
have_number:
description: Indicates whether or not passcode must contain at least one number(1, 2, 3..).
type: boolean
have_special_character:
description: "Indicates whether or not passcode must contain at least one special character(!, @, #..)."
type: boolean
length:
description: Minimum required length for the passcode.
maximum: 10
type: integer
only_allow_numeric:
description: Indicates whether or not passcode must contain only numeric characters.
type: boolean
type: object
save_chat_text:
default: false
description: Save chat text from the meeting.
type: boolean
show_timestamp:
default: false
description: Show timestamp on video.
type: boolean
title: "User settings: Recording settings"
type: object
schedule_meeting:
description: ""
properties:
audio_type:
default: voip
description: Determine how participants can join the audio portion of the meeting: `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - Third party audio conference.
enum:
- both
- telephony
- voip
- thirdParty
type: string
x-enum-descriptions:
- Telephony and VoIP
- Audio PSTN telephony only
- VoIP only
- 3rd party audio conference
default_password_for_scheduled_meetings:
description: |
Passcode for already scheduled meetings
type: string
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.
\ "
type: boolean
force_pmi_jbh_password:
description: Require a passcode for personal meetings if attendees can join before host.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Join the meeting before host arrives.
type: boolean
meeting_password_requirement:
description: Account wide meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
participants_video:
description: Start meetings with participants video on.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
pmi_password:
description: |
PMI passcode
type: string
pstn_password_protected:
description: Generate and require passcode for participants joining by phone.
type: boolean
require_password_for_instant_meetings:
description: |
Require a passcode for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: |
Require a passcode for Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
enum:
- jbh_only
- all
- none
type: string
x-enum-descriptions:
- Only meetings with Join Before Host enabled
- All meetings using PMI
- Disabled
require_password_for_scheduled_meetings:
description: |
Require a passcode for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: |
Require a passcode when scheduling new meetings.This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
use_pmi_for_instant_meetings:
description: |
Use Personal Meeting ID (PMI) when starting an instant meeting
type: boolean
use_pmi_for_scheduled_meetings:
description: |
Use Personal Meeting ID (PMI) when scheduling a meeting
type: boolean
title: "User settings: Meeting settings"
type: object
telephony:
properties:
audio_conference_info:
default: ""
description: Third party audio conference info.
maxLength: 2048
type: string
show_international_numbers_link:
description: Show the international numbers link on the invitation email.
type: boolean
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
allowed_values:
description: Telephony region options provided by Zoom to select from.
items:
type: string
type: array
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Third party audio conference.
type: boolean
title: "User settings: Meeting settings"
type: object
tsp:
description: "Account Settings: TSP."
properties:
call_out:
description: Call Out
type: boolean
call_out_countries:
description: Call Out Countries/Regions
items: {}
type: array
show_international_numbers_link:
description: Show international numbers link on the invitation email
type: boolean
title: "User settings: TSP settings"
type: object
title: User settings
type: object
- oneOf:
- properties:
authentication_options:
description: Meeting Authentication Options
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domains
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
- properties:
authentication_options:
description: Authentication Options
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: Authentication type
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
description: |-
**HTTP Status Code:** `200`
User settings returned.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `1120`
A valid invitation to join the Zoom account was not found for this user.
This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
security:
- OAuth: []
summary: Get user settings
tags:
- Users
patch:
description: |-
Update a user's settings.
**Scopes:** `user:write:admin` `user:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: userSettingsUpdate
parameters:
- allowEmptyValue: true
in: query
name: option
schema:
enum:
- meeting_authentication
- recording_authentication
- meeting_secuirty
type: string
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
oneOf:
- properties:
email_notification:
description: ""
properties:
alternative_host_reminder:
default: false
description: When an alternative host is set or removed from a meeting.
type: boolean
cancel_meeting_reminder:
default: false
description: When a meeting is cancelled.
type: boolean
jbh_reminder:
default: false
description: When attendees join meeting before host.
type: boolean
schedule_for_reminder:
default: false
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
title: "User settings: Notification settings"
type: object
feature:
description: ""
properties:
large_meeting:
description: Enable [large meeting](https://support.zoom.us/hc/en-us/articles/201362823-What-is-a-Large-Meeting-) feature for the user.
type: boolean
large_meeting_capacity:
description: Set the meeting capacity for the user if the user has **Large meeting** feature enabled. The value for the field can be either 500 or 1000.
type: integer
meeting_capacity:
description: Set a user's meeting capacity. User’s meeting capacity denotes the maximum number of participants that can join a meeting scheduled by the user.
type: integer
webinar:
description: Enable Webinar feature for the user.
type: boolean
webinar_capacity:
description: Set the Webinar capacity for a user who has the Webinar feature enabled. The value of this field can be 100, 500, 1000, 3000, 5000 or 10000.
type: integer
zoom_phone:
description: Zoom phone feature.
type: boolean
title: "User settings: Feature settings"
type: object
in_meeting:
description: ""
properties:
allow_live_streaming:
description: Allow live streaming.
type: boolean
annotation:
default: false
description: Allow participants to use annotation tools.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_saving_chat:
default: false
description: Auto save all in-meeting chats.
type: boolean
breakout_room:
default: false
description: Allow host to split meeting participants into separate breakout rooms.
type: boolean
chat:
default: false
description: Enable chat during meeting for all participants.
type: boolean
closed_caption:
default: false
description: Enable closed captions.
type: boolean
co_host:
default: false
description: Allow the host to add co-hosts.
type: boolean
custom_data_center_regions:
description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting your real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
custom_live_streaming_service:
description: Allow custom live streaming.
type: boolean
custom_service_instructions:
description: Custom service instructions.
type: string
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["DE", "NL", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- HK
- AU
- IN
- TY
- CN
- US
- CA
- DE
- NL
- LA
items:
type: string
type: array
e2e_encryption:
description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
type: boolean
entry_exit_chime:
default: all
description: Play sound when participants join or leave: `host` - When host joins or leaves. `all` - When any participant joins or leaves. `none` - No join or leave sound.
enum:
- host
- all
- none
type: string
x-enum-descriptions:
- when host joins/leaves
- when any participant joins/leaves
- no join/leave sound
far_end_camera_control:
default: false
description: Allow another user to take control of the camera.
type: boolean
feedback:
default: false
description: Enable option to send feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the user or not.
type: boolean
group_hd:
default: false
description: Enable group HD video.
type: boolean
non_verbal_feedback:
default: false
description: Enable non-verbal feedback through screens.
type: boolean
polling:
default: false
description: Add polls to the meeting controls.
type: boolean
private_chat:
default: false
description: Enable 1:1 private chat between participants during meetings.
type: boolean
record_play_voice:
description: Record and play their own voice.
type: boolean
remote_control:
default: false
description: Enable remote control during screensharing.
type: boolean
remote_support:
default: false
description: Allow host to provide 1:1 remote support to a participant.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the user or not.
type: boolean
screen_sharing:
description: |
Allow host and participants to share their screen or content during meetings
type: boolean
share_dual_camera:
default: false
description: Share dual camera (deprecated).
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
virtual_background:
default: false
description: Enable virtual background.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow user to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
waiting_room:
default: false
description: Enable Waiting room - if enabled, attendees can only join after host approves.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
workplace_by_facebook:
description: Allow livestreaming by host through Workplace by Facebook.
type: boolean
title: "User settings: Meeting settings"
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
description: ""
properties:
ask_host_to_confirm_disclaimer:
description: Ask host to confirm the disclaimer.
type: boolean
ask_participants_to_consent_disclaimer:
description: |-
This field can be used if `recording_disclaimer` is set to true. This field indicates whether or not you would like to ask participants for consent when a recording starts. The value can be one of the following:
* `true`: Ask participants for consent when a recording starts.
* `false`: Do not ask participants for consent when a recording starts.
type: boolean
auto_delete_cmr:
default: false
description: Auto delete cloud recordings.
type: boolean
auto_delete_cmr_days:
description: A specified number of days of auto delete cloud recordings.
maximum: 60
minimum: 1
type: integer
auto_recording:
default: local
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record on local
- Record on cloud
- Disabled
cloud_recording:
default: false
description: Cloud recording.
type: boolean
host_pause_stop_recording:
default: false
description: Host can pause/stop the auto recording in the cloud.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Local recording.
type: boolean
record_audio_file:
default: false
description: Record an audio only file.
type: boolean
record_gallery_view:
default: false
description: Record the gallery view.
type: boolean
record_speaker_view:
default: false
description: Record the active speaker view.
type: boolean
recording_audio_transcript:
description: Audio transcript.
type: boolean
recording_disclaimer:
description: |
Show a disclaimer to participants before a recording starts
type: boolean
recording_password_requirement:
description: This object represents the minimum passcode requirements set for recordings via Account Recording Settings.
properties:
have_letter:
description: Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).
type: boolean
have_number:
description: Indicates whether or not passcode must contain at least one number(1, 2, 3..).
type: boolean
have_special_character:
description: "Indicates whether or not passcode must contain at least one special character(!, @, #..)."
type: boolean
length:
description: Minimum required length for the passcode.
maximum: 10
type: integer
only_allow_numeric:
description: Indicates whether or not passcode must contain only numeric characters.
type: boolean
type: object
save_chat_text:
default: false
description: Save chat text from the meeting.
type: boolean
show_timestamp:
default: false
description: Show timestamp on video.
type: boolean
title: "User settings: Recording settings"
type: object
schedule_meeting:
description: ""
properties:
audio_type:
default: voip
description: Determine how participants can join the audio portion of the meeting: `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - Third party audio conference.
enum:
- both
- telephony
- voip
- thirdParty
type: string
x-enum-descriptions:
- Telephony and VoIP
- Audio PSTN telephony only
- VoIP only
- 3rd party audio conference
default_password_for_scheduled_meetings:
description: |
Passcode for already scheduled meetings
type: string
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.
\ "
type: boolean
force_pmi_jbh_password:
description: Require a passcode for personal meetings if attendees can join before host.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Join the meeting before host arrives.
type: boolean
meeting_password_requirement:
description: Account wide meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
participants_video:
description: Start meetings with participants video on.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
pmi_password:
description: |
PMI passcode
type: string
pstn_password_protected:
description: Generate and require passcode for participants joining by phone.
type: boolean
require_password_for_instant_meetings:
description: |
Require a passcode for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: |
Require a passcode for Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
enum:
- jbh_only
- all
- none
type: string
x-enum-descriptions:
- Only meetings with Join Before Host enabled
- All meetings using PMI
- Disabled
require_password_for_scheduled_meetings:
description: |
Require a passcode for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: |
Require a passcode when scheduling new meetings.This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
use_pmi_for_instant_meetings:
description: |
Use Personal Meeting ID (PMI) when starting an instant meeting
type: boolean
use_pmi_for_scheduled_meetings:
description: |
Use Personal Meeting ID (PMI) when scheduling a meeting
type: boolean
title: "User settings: Meeting settings"
type: object
telephony:
properties:
audio_conference_info:
default: ""
description: Third party audio conference info.
maxLength: 2048
type: string
show_international_numbers_link:
description: Show the international numbers link on the invitation email.
type: boolean
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Third party audio conference.
type: boolean
title: "Telephony update settings: Meeting settings"
type: object
tsp:
description: "Account Settings: TSP."
properties:
call_out:
description: Call Out
type: boolean
call_out_countries:
description: Call Out Countries/Regions
items: {}
type: array
show_international_numbers_link:
description: Show international numbers link on the invitation email
type: boolean
title: "User settings: TSP settings"
type: object
title: User settings
type: object
- oneOf:
- properties:
authentication_option:
description: Meeting Authentication Options
properties:
action:
description: Authentication action
enum:
- update
- show
- hide
type: string
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domains
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
type: object
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
- properties:
authentication_option:
description: Authentication Options
properties:
action:
description: Authentication action
enum:
- update
- show
- hide
type: string
default_option:
description: Authentication default option
type: boolean
domians:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: Authentication type
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
type: object
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
title: GroupSettingsAuthenticationUpdate
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
multipart/form-data:
schema:
oneOf:
- properties:
email_notification:
description: ""
properties:
alternative_host_reminder:
default: false
description: When an alternative host is set or removed from a meeting.
type: boolean
cancel_meeting_reminder:
default: false
description: When a meeting is cancelled.
type: boolean
jbh_reminder:
default: false
description: When attendees join meeting before host.
type: boolean
schedule_for_reminder:
default: false
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
title: "User settings: Notification settings"
type: object
feature:
description: ""
properties:
large_meeting:
description: Enable [large meeting](https://support.zoom.us/hc/en-us/articles/201362823-What-is-a-Large-Meeting-) feature for the user.
type: boolean
large_meeting_capacity:
description: Set the meeting capacity for the user if the user has **Large meeting** feature enabled. The value for the field can be either 500 or 1000.
type: integer
meeting_capacity:
description: Set a user's meeting capacity. User’s meeting capacity denotes the maximum number of participants that can join a meeting scheduled by the user.
type: integer
webinar:
description: Enable Webinar feature for the user.
type: boolean
webinar_capacity:
description: Set the Webinar capacity for a user who has the Webinar feature enabled. The value of this field can be 100, 500, 1000, 3000, 5000 or 10000.
type: integer
zoom_phone:
description: Zoom phone feature.
type: boolean
title: "User settings: Feature settings"
type: object
in_meeting:
description: ""
properties:
allow_live_streaming:
description: Allow live streaming.
type: boolean
annotation:
default: false
description: Allow participants to use annotation tools.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_saving_chat:
default: false
description: Auto save all in-meeting chats.
type: boolean
breakout_room:
default: false
description: Allow host to split meeting participants into separate breakout rooms.
type: boolean
chat:
default: false
description: Enable chat during meeting for all participants.
type: boolean
closed_caption:
default: false
description: Enable closed captions.
type: boolean
co_host:
default: false
description: Allow the host to add co-hosts.
type: boolean
custom_data_center_regions:
description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting your real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
custom_live_streaming_service:
description: Allow custom live streaming.
type: boolean
custom_service_instructions:
description: Custom service instructions.
type: string
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["DE", "NL", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- HK
- AU
- IN
- TY
- CN
- US
- CA
- DE
- NL
- LA
items:
type: string
type: array
e2e_encryption:
description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
type: boolean
entry_exit_chime:
default: all
description: Play sound when participants join or leave: `host` - When host joins or leaves. `all` - When any participant joins or leaves. `none` - No join or leave sound.
enum:
- host
- all
- none
type: string
x-enum-descriptions:
- when host joins/leaves
- when any participant joins/leaves
- no join/leave sound
far_end_camera_control:
default: false
description: Allow another user to take control of the camera.
type: boolean
feedback:
default: false
description: Enable option to send feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the user or not.
type: boolean
group_hd:
default: false
description: Enable group HD video.
type: boolean
non_verbal_feedback:
default: false
description: Enable non-verbal feedback through screens.
type: boolean
polling:
default: false
description: Add polls to the meeting controls.
type: boolean
private_chat:
default: false
description: Enable 1:1 private chat between participants during meetings.
type: boolean
record_play_voice:
description: Record and play their own voice.
type: boolean
remote_control:
default: false
description: Enable remote control during screensharing.
type: boolean
remote_support:
default: false
description: Allow host to provide 1:1 remote support to a participant.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the user or not.
type: boolean
screen_sharing:
description: |
Allow host and participants to share their screen or content during meetings
type: boolean
share_dual_camera:
default: false
description: Share dual camera (deprecated).
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
virtual_background:
default: false
description: Enable virtual background.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow user to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
waiting_room:
default: false
description: Enable Waiting room - if enabled, attendees can only join after host approves.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
workplace_by_facebook:
description: Allow livestreaming by host through Workplace by Facebook.
type: boolean
title: "User settings: Meeting settings"
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
description: ""
properties:
ask_host_to_confirm_disclaimer:
description: Ask host to confirm the disclaimer.
type: boolean
ask_participants_to_consent_disclaimer:
description: |-
This field can be used if `recording_disclaimer` is set to true. This field indicates whether or not you would like to ask participants for consent when a recording starts. The value can be one of the following:
* `true`: Ask participants for consent when a recording starts.
* `false`: Do not ask participants for consent when a recording starts.
type: boolean
auto_delete_cmr:
default: false
description: Auto delete cloud recordings.
type: boolean
auto_delete_cmr_days:
description: A specified number of days of auto delete cloud recordings.
maximum: 60
minimum: 1
type: integer
auto_recording:
default: local
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record on local
- Record on cloud
- Disabled
cloud_recording:
default: false
description: Cloud recording.
type: boolean
host_pause_stop_recording:
default: false
description: Host can pause/stop the auto recording in the cloud.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Local recording.
type: boolean
record_audio_file:
default: false
description: Record an audio only file.
type: boolean
record_gallery_view:
default: false
description: Record the gallery view.
type: boolean
record_speaker_view:
default: false
description: Record the active speaker view.
type: boolean
recording_audio_transcript:
description: Audio transcript.
type: boolean
recording_disclaimer:
description: |
Show a disclaimer to participants before a recording starts
type: boolean
recording_password_requirement:
description: This object represents the minimum passcode requirements set for recordings via Account Recording Settings.
properties:
have_letter:
description: Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).
type: boolean
have_number:
description: Indicates whether or not passcode must contain at least one number(1, 2, 3..).
type: boolean
have_special_character:
description: "Indicates whether or not passcode must contain at least one special character(!, @, #..)."
type: boolean
length:
description: Minimum required length for the passcode.
maximum: 10
type: integer
only_allow_numeric:
description: Indicates whether or not passcode must contain only numeric characters.
type: boolean
type: object
save_chat_text:
default: false
description: Save chat text from the meeting.
type: boolean
show_timestamp:
default: false
description: Show timestamp on video.
type: boolean
title: "User settings: Recording settings"
type: object
schedule_meeting:
description: ""
properties:
audio_type:
default: voip
description: Determine how participants can join the audio portion of the meeting: `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - Third party audio conference.
enum:
- both
- telephony
- voip
- thirdParty
type: string
x-enum-descriptions:
- Telephony and VoIP
- Audio PSTN telephony only
- VoIP only
- 3rd party audio conference
default_password_for_scheduled_meetings:
description: |
Passcode for already scheduled meetings
type: string
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.
\ "
type: boolean
force_pmi_jbh_password:
description: Require a passcode for personal meetings if attendees can join before host.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Join the meeting before host arrives.
type: boolean
meeting_password_requirement:
description: Account wide meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
participants_video:
description: Start meetings with participants video on.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
pmi_password:
description: |
PMI passcode
type: string
pstn_password_protected:
description: Generate and require passcode for participants joining by phone.
type: boolean
require_password_for_instant_meetings:
description: |
Require a passcode for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: |
Require a passcode for Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
enum:
- jbh_only
- all
- none
type: string
x-enum-descriptions:
- Only meetings with Join Before Host enabled
- All meetings using PMI
- Disabled
require_password_for_scheduled_meetings:
description: |
Require a passcode for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: |
Require a passcode when scheduling new meetings.This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
use_pmi_for_instant_meetings:
description: |
Use Personal Meeting ID (PMI) when starting an instant meeting
type: boolean
use_pmi_for_scheduled_meetings:
description: |
Use Personal Meeting ID (PMI) when scheduling a meeting
type: boolean
title: "User settings: Meeting settings"
type: object
telephony:
properties:
audio_conference_info:
default: ""
description: Third party audio conference info.
maxLength: 2048
type: string
show_international_numbers_link:
description: Show the international numbers link on the invitation email.
type: boolean
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Third party audio conference.
type: boolean
title: "Telephony update settings: Meeting settings"
type: object
tsp:
description: "Account Settings: TSP."
properties:
call_out:
description: Call Out
type: boolean
call_out_countries:
description: Call Out Countries/Regions
items: {}
type: array
show_international_numbers_link:
description: Show international numbers link on the invitation email
type: boolean
title: "User settings: TSP settings"
type: object
title: User settings
type: object
- oneOf:
- properties:
authentication_option:
description: Meeting Authentication Options
properties:
action:
description: Authentication action
enum:
- update
- show
- hide
type: string
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domains
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
type: object
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
- properties:
authentication_option:
description: Authentication Options
properties:
action:
description: Authentication action
enum:
- update
- show
- hide
type: string
default_option:
description: Authentication default option
type: boolean
domians:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: Authentication type
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
type: object
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
title: GroupSettingsAuthenticationUpdate
type: object
- properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
description: User Settings
required: true
x-examples:
application/json:
email_notification:
alternative_host_reminder: true
cancel_meeting_reminder: true
jbh_reminder: true
schedule_for_reminder: true
in_meeting:
allow_live_streaming: false
annotation: true
attendee_on_hold: false
auto_saving_chat: false
breakout_room: false
chat: true
closed_caption: false
co_host: false
e2e_encryption: false
entry_exit_chime: none
far_end_camera_control: false
feedback: true
group_hd: false
non_verbal_feedback: false
polling: false
private_chat: true
record_play_voice: false
remote_control: true
remote_support: false
show_meeting_control_toolbar: false
virtual_background: true
waiting_room: false
integration:
linkedin_sales_navigator: false
recording:
auto_delete_cmr: false
auto_recording: none
cloud_recording: true
local_recording: true
record_audio_file: true
record_gallery_view: false
record_speaker_view: true
recording_audio_transcript: false
save_chat_text: true
show_timestamp: false
schedule_meeting:
audio_type: both
enforce_login_domains: ""
enforce_login_with_domains: false
force_pmi_jbh_password: false
host_video: false
join_before_host: false
not_store_meeting_topic: false
participants_video: false
pmi_password: "324325"
pstn_password_protected: false
require_password_for_instant_meetings: true
require_password_for_pmi_meetings: all
require_password_for_scheduling_new_meetings: true
use_pmi_for_instant_meetings: false
use_pmi_for_scheduled_meetings: false
responses:
"204":
description: |-
**HTTP Status Code:** `200`
User settings updated
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `1108` Only Licensed or On-prem users can enable the large meeting feature.
**Error Code:** `1120` A valid invitation to join the Zoom account was not found for this user.
This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
**Error Code:** `1122`
Webinar feature can only be enabled for Licensed or On-prem users.
**Error Code:** `200`
You can't add paid users.
You can add max $maxNumber paid users.
You can add max $maxNumber free users.
You can add max $maxNumber Webinar 100 users.
You can add max $maxNumber Webinar 500 users.
You can add max $maxNumber Webinar 1000 users.
You can add max $maxNumber Webinar 3000 users.
You can add max $maxNumber Webinar 5000 users.
You can add max $maxNumber Webinar 10000 users.
You can add max $maxNumber Large 100 users.
You can add max $maxNumber Large 200 users.
You can add max $maxNumber Large 300 users.
You can add max $maxNumber Large 500 users.
You can add max $maxNumber Large 1000 users.
You can add max $maxNumber paid users.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
security:
- OAuth: []
summary: Update user settings
tags:
- Users
"/users/{userId}/settings/virtual_backgrounds":
delete:
description: |+
Delete existing virtual background file(s) of a user.
**Prerequisites:**
* Virtual background feature must be [enabled](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_2ef28080-fce9-4ac2-b567-dc958afab1b7) on the account.
**Scope:** `user:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: delUserVB
parameters:
- description: Provide the id of the file that is to be deleted. To delete multiple files, provide comma separated values for this field.
in: query
name: file_ids
schema:
type: string
- description: "Unique identifier of the user. Retrieve the value of this field by calling the [List users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API. "
in: path
name: userId
required: true
schema:
type: string
responses:
"204":
description: |
**HTTP Status Code:** `204` **No Content**
Deleted.
"400":
description: |
**HTTP Status Code:** `400` **Bad request**
**Error Code:** `300`
Invalid parameter: file_ids.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User not exist.
User {userId} does not exist or does not belong to this account.
summary: Delete virtual background files
tags:
- Users
parameters:
- in: path
name: userId
required: true
schema:
type: string
post:
description: |+
Use this API to [upload virtual background files](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background) for a user.
**Prerequisites:**
* Virtual background feature must be [enabled](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background#h_2ef28080-fce9-4ac2-b567-dc958afab1b7) on the account.
**Scope:** `user:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: uploadVBuser
parameters:
- description: Unique identifier of the user. Retrieve the value for this field by calling the [List users](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/users) API.
in: path
name: userId
required: true
schema:
type: string
requestBody:
$ref: "#/components/requestBodies/uploadVB"
responses:
"201":
content:
application/json:
examples:
response:
value:
id: _Tcj7354w6eHw
is_default: false
name: u=mdbhhfg3y7&fm=2fdjs0.jpg
size: 53434
type: image
schema:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicate whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
application/xml:
schema:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicate whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
description: |
**HTTP Status Code:** `201` **Created**
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `120`
No file uploaded, verify that a file has been uploaded.
File size cannot exceed 15M.
A maximum of 10 files are allowed for a user.
Only jpg/jpeg, gif or png image file can be uploaded.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
Group not found.
summary: Upload virtual background files
tags:
- Users
"/users/{userId}/status":
put:
description: |+
An account owner or admins can deactivate as well as activate a user in a Zoom account. Deactivating a user will remove all licenses associated with a user. It will prevent the deactivated user from logging into their Zoom account. A deactivated user can be reactivated. Reactivating a user grants the user access to login to their Zoom account. Use this API to either [deactivate](https://support.zoom.us/hc/en-us/articles/115005269946-Remove-User-from-your-Account#h_6a9bc1c3-d739-4945-b1f2-00b3b88fb5cc) an active user or to [reactivate](https://support.zoom.us/hc/en-us/articles/115005269946-Remove-User-from-your-Account#h_16319724-d120-4be6-af5d-31582d134ea0) a deactivated user .
**Scopes:** `user:write:admin` `user:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userStatus
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
description: The action.
properties:
action:
description: The action types: `activate` - Activate a deactivated user. `deactivate` - Deactivate a user.
enum:
- activate
- deactivate
type: string
x-enum-descriptions:
- set users status to active
- set users status to inactive
required:
- action
type: object
multipart/form-data:
schema:
description: The action.
properties:
action:
description: The action types: `activate` - Activate a deactivated user. `deactivate` - Deactivate a user.
enum:
- activate
- deactivate
type: string
x-enum-descriptions:
- set users status to active
- set users status to inactive
required:
- action
type: object
description: User status.
required: true
x-examples:
application/json:
action: deactivate
responses:
"200":
description: ""
"204":
content:
application/json:
examples:
response:
value: ""
description: |-
**HTTP Status Code:** `204`
Status updated.
"400":
description: |
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Zoom Room and Admin users' status can not be activated or deactivated.
**Error Code:** `3412` Your request to activate the user was not approved at this time because your account has reached the permitted maximum number of $maxAllowedNumber basic users. Please remove existing basic user(s) from your Users list or the Pending Users list before attempting to activate this user.
**Error Code:** `2033` Your request to activate the basic user was not approved because you have already reached the maximum basic user limit allowed in your account. For additional help regarding this issue, contact the Zoom Customer Support team.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
security:
- OAuth: []
summary: Update user status
tags:
- Users
"/users/{userId}/token":
delete:
description: |-
Revoke a user's SSO token.
After calling this API, the SSO user will be logged out of their current Zoom session.
**Scopes:** `user:write:admin` `user:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userSSOTokenDelete
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Token deleted.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
security:
- OAuth: []
summary: Revoke a user's SSO token
tags:
- Users
get:
description: |-
Retrieve a user's token.
This token is used for starting meetings with the Client SDK.
**Scopes:** `user:read:admin` `user:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
If a user signed into Zoom using Google or Facebook, a null value will be returned for the token. To get the token with this API, ask the user to sign into Zoom using their email and password instead.
operationId: userToken
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: User token types: `token` - Used for starting meetings with the client SDK. This token expires in 14 days and a new token will be returned after the expiry. `zak` - Used for generating the start meeting URL. The token expiration time is two hours. For API users, the expiration time is 90 days.
in: query
name: type
schema:
enum:
- token
- zak
type: string
x-enum-descriptions:
- Used for starting meeting with client SDK.
- Used for generating the start meeting url. The expiration time is two hours. For API users, the expiration time is 90 days.
- description: Use this field in conjunction with the `type` field where the value of `type` field is `zak`. The value of this field denotes the expiry time of the `zak` token in seconds. For example, if you would like the zak token to be expired after one hour of the token generation, the value of this field should be `3600`.
in: query
name: ttl
schema:
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
token: string
schema:
properties:
token:
description: User token.
type: string
type: object
application/xml:
schema:
properties:
token:
description: User token.
type: string
type: object
description: |-
**HTTP Status Code:** `200`
Token returned.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User does not exist: $userId.
security:
- OAuth: []
summary: Get a user token
tags:
- Users
"/users/{userId}/tsp":
get:
description: |-
A user can have a maximum of two TSP accounts. Use this API to list all TSP accounts of a user.
**Scopes:** `tsp:read:admin` `tsp:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: userTSPs
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
tsp_accounts:
- conference_code: "0125"
dial_in_numbers:
- code: "01"
number: "000000000"
type: toll
id: 111222222
leader_pin: "11189898"
tsp_bridge: string
schema:
properties:
tsp_accounts:
items:
description: List of TSP accounts.
properties:
conference_code:
description: "Conference code: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
dial_in_numbers:
description: List of dial in numbers.
items:
properties:
code:
description: Country code.
maxLength: 6
type: string
country_label:
description: Country Label, if passed, will display in place of code.
maxLength: 10
type: string
number:
description: "Dial-in number: length is less than 16."
maxLength: 16
minLength: 1
type: string
type:
description: |-
Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number.
`media_link` - Media link
enum:
- toll
- tollfree
- media_link
type: string
x-enum-descriptions:
- Toll number
- Toll free number
- Media link phone number
type: object
type: array
id:
description: The ID of the TSP account.
enum:
- 1
- 2
type: integer
leader_pin:
description: "Leader PIN: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
tsp_bridge:
description: |
Telephony bridge
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
required:
- conference_code
- leader_pin
title: TSP Accounts List
type: object
type: array
type: object
application/xml:
schema:
properties:
tsp_accounts:
items:
description: List of TSP accounts.
properties:
conference_code:
description: "Conference code: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
dial_in_numbers:
description: List of dial in numbers.
items:
properties:
code:
description: Country code.
maxLength: 6
type: string
country_label:
description: Country Label, if passed, will display in place of code.
maxLength: 10
type: string
number:
description: "Dial-in number: length is less than 16."
maxLength: 16
minLength: 1
type: string
type:
description: |-
Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number.
`media_link` - Media link
enum:
- toll
- tollfree
- media_link
type: string
x-enum-descriptions:
- Toll number
- Toll free number
- Media link phone number
type: object
type: array
id:
description: The ID of the TSP account.
enum:
- 1
- 2
type: integer
leader_pin:
description: "Leader PIN: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
tsp_bridge:
description: |
Telephony bridge
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
required:
- conference_code
- leader_pin
title: TSP Accounts List
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200` **OK**
TSP account list returned successfully.
"400":
description: |
**HTTP Status Code:** `400`
Bad request.
**Error Code:** `2024`
Account has not enabled TSP.
"404":
description: |-
**HTTP Status Code:** `404`
Not Found.
**Error Code:** `1001`
User does not exist: $userId.
**Error Code:**`1120`
A valid invitation to join the Zoom account was not found for this user.
This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
summary: List user's TSP accounts
tags:
- TSP
post:
description: |
Add a user's TSP account.
**Scopes:** `tsp:write:admin` `tsp:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userTSPCreate
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
description: List of TSP accounts.
properties:
conference_code:
description: "Conference code: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
dial_in_numbers:
description: List of dial in numbers.
items:
properties:
code:
description: Country code.
maxLength: 6
type: string
country_label:
description: Country Label, if passed, will display in place of code.
maxLength: 10
type: string
number:
description: "Dial-in number: length is less than 16."
maxLength: 16
minLength: 1
type: string
type:
description: |-
Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number.
`media_link` - Media link.
enum:
- toll
- tollfree
- media_link
type: string
x-enum-descriptions:
- Toll number
- Toll free number
- Media link phone number
type: object
type: array
leader_pin:
description: "Leader PIN: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
tsp_bridge:
description: Telephony bridge
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
required:
- conference_code
- leader_pin
title: TSP Accounts List
type: object
multipart/form-data:
schema:
description: List of TSP accounts.
properties:
conference_code:
description: "Conference code: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
dial_in_numbers:
description: List of dial in numbers.
items:
properties:
code:
description: Country code.
maxLength: 6
type: string
country_label:
description: Country Label, if passed, will display in place of code.
maxLength: 10
type: string
number:
description: "Dial-in number: length is less than 16."
maxLength: 16
minLength: 1
type: string
type:
description: |-
Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number.
`media_link` - Media link.
enum:
- toll
- tollfree
- media_link
type: string
x-enum-descriptions:
- Toll number
- Toll free number
- Media link phone number
type: object
type: array
leader_pin:
description: "Leader PIN: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
tsp_bridge:
description: Telephony bridge
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
required:
- conference_code
- leader_pin
title: TSP Accounts List
type: object
description: TSP account.
required: true
x-examples:
application/json:
conference_code: "0125"
dial_in_numbers:
- code: "01"
number: "000000000"
type: toll
leader_pin: "11189898"
responses:
"201":
content:
application/json:
examples:
response:
value:
conference_code: "0125"
dial_in_numbers:
- code: "01"
number: "000000000"
type: toll
leader_pin: "11189898"
tsp_bridge: string
schema:
description: List of TSP accounts.
properties:
conference_code:
description: "Conference code: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
dial_in_numbers:
description: List of dial in numbers.
items:
properties:
code:
description: Country code.
maxLength: 6
type: string
country_label:
description: Country Label, if passed, will display in place of code.
maxLength: 10
type: string
number:
description: "Dial-in number: length is less than 16."
maxLength: 16
minLength: 1
type: string
type:
description: |-
Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number.
`media_link` - Media link.
enum:
- toll
- tollfree
- media_link
type: string
x-enum-descriptions:
- Toll number
- Toll free number
- Media link phone number
type: object
type: array
leader_pin:
description: "Leader PIN: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
tsp_bridge:
description: Telephony bridge
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
required:
- conference_code
- leader_pin
title: TSP Accounts List
type: object
application/xml:
schema:
description: List of TSP accounts.
properties:
conference_code:
description: "Conference code: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
dial_in_numbers:
description: List of dial in numbers.
items:
properties:
code:
description: Country code.
maxLength: 6
type: string
country_label:
description: Country Label, if passed, will display in place of code.
maxLength: 10
type: string
number:
description: "Dial-in number: length is less than 16."
maxLength: 16
minLength: 1
type: string
type:
description: |-
Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number.
`media_link` - Media link.
enum:
- toll
- tollfree
- media_link
type: string
x-enum-descriptions:
- Toll number
- Toll free number
- Media link phone number
type: object
type: array
leader_pin:
description: "Leader PIN: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
tsp_bridge:
description: Telephony bridge
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
required:
- conference_code
- leader_pin
title: TSP Accounts List
type: object
description: |-
**HTTP Status Code:** `201`
TSP account added.
"400":
description: |
**HTTP Status Code:** `400`
Bad Request.
**Error Code:**`2024`
Account has not enabled TSP.
**Error Code:**`300`
Media link is required for AT&T TSP accounts.
**Error Code:** `300`
You can add a max of two tsp configs.
"404":
description: |-
**HTTP Status Code:** `404`
Not Found.
**Error Code:** `1001`
User does not exist: $userId.
**Error Code:**`1120`
A valid invitation to join the Zoom account was not found for this user.
This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
summary: Add a user's TSP account
tags:
- TSP
"/users/{userId}/tsp/settings":
patch:
description: |
A global dial-in page can provide a list of global access numbers using which audio conferencing can be conducted. By calling this API, you can set the url for the global dial-in page of a user whose Zoom account has TSP and special TSP with third-party audio conferencing options enabled.
**Scopes:**`tsp:write:admin` `tsp:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: tspUrlUpdate
parameters:
- description: The userId or email address of the user.
in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
audio_url:
description: The global dial-in URL for a TSP enabled account. The URL must be valid with a max-length of 512 characters.
maxLength: 512
type: string
title: TSP Global Dial-In URL Setting
type: object
multipart/form-data:
schema:
properties:
audio_url:
description: The global dial-in URL for a TSP enabled account. The URL must be valid with a max-length of 512 characters.
maxLength: 512
type: string
title: TSP Global Dial-In URL Setting
type: object
description: Global dial-in URL of the user.
x-examples:
application/json:
audio_url: youraudiourl.dshfgdhsfh
responses:
"204":
description: |-
**Status Code:** `204` **No Content**
URL set successfully.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code**: `2000`
Not TSP special account.
Ths error means that the account does not have special TSP privilege. Contact Zoom Developer Support for details.
**Error Code**: `2024`
Account not enable TSP
"404":
description: |-
**HTTP Status Code:** `404`
User ID not found.
**Error Code**: `1001`
User {userId} not exist or not belong to this account.
**Error Code**: `1120`
Invite not exist.
This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
security:
- OAuth: []
summary: Set global dial-in URL for a TSP user
tags:
- TSP
"/users/{userId}/tsp/{tspId}":
delete:
description: |
Delete a user's TSP account.
**Scopes:** `tsp:write:admin` `tsp:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userTSPDelete
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: TSP account ID.
in: path
name: tspId
required: true
schema:
enum:
- 1
- 2
type: string
responses:
"204":
description: |-
**Status Code:** `204` **No Content**
TSP account deleted.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request.
**Error Code:**`2024`
Account not enable TSP.
**Error Code:** `300`
The TSP id provided does not exist.
**Error Code:** `300`
TSP Config does not exist.
**Error Code:** `300`
At least one tsp config must be available.
"404":
description: |-
**HTTP Status Code:** `404`
Not Found.
**Error Code:** `1001`
User does not exist: $userId.
**Error Code:**`1120`
A valid invitation to join the Zoom account was not found for this user.
This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
summary: Delete a user's TSP account
tags:
- TSP
get:
description: |
Each user can have a maximum of two TSP accounts. Use this API to retrieve details of a specific TSP account enabled for a specific user.
**Scopes:** `tsp:read:admin` `tsp:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userTSP
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: TSP account ID.
in: path
name: tspId
required: true
schema:
enum:
- 1
- 2
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
conference_code: "1275454"
dial_in_numbers:
- code: "675"
number: "00000000"
type: toll
id: "0123444444"
leader_pin: "111"
tsp_bridge: string
schema:
description: TSP account of the user.
properties:
conference_code:
description: "Conference code: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
dial_in_numbers:
description: List of dial in numbers.
items:
properties:
code:
description: Country code.
maxLength: 6
type: string
country_label:
description: Country Label, if passed, will display in place of code.
maxLength: 10
type: string
number:
description: "Dial-in number: length is less than 16."
maxLength: 16
minLength: 1
type: string
type:
description: Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number. `media_link` - Media link phone number. This is used for PSTN integration instead of a paid bridge number.
enum:
- toll
- tollfree
- media_link
type: string
x-enum-descriptions:
- Toll number
- Toll free number
- Media link phone number
type: object
type: array
id:
description: The ID of the TSP account.
type: integer
leader_pin:
description: "Leader PIN: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
tsp_bridge:
description: Telephony bridge
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
required:
- conference_code
- leader_pin
title: TSP Account
type: object
application/xml:
schema:
description: TSP account of the user.
properties:
conference_code:
description: "Conference code: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
dial_in_numbers:
description: List of dial in numbers.
items:
properties:
code:
description: Country code.
maxLength: 6
type: string
country_label:
description: Country Label, if passed, will display in place of code.
maxLength: 10
type: string
number:
description: "Dial-in number: length is less than 16."
maxLength: 16
minLength: 1
type: string
type:
description: Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number. `media_link` - Media link phone number. This is used for PSTN integration instead of a paid bridge number.
enum:
- toll
- tollfree
- media_link
type: string
x-enum-descriptions:
- Toll number
- Toll free number
- Media link phone number
type: object
type: array
id:
description: The ID of the TSP account.
type: integer
leader_pin:
description: "Leader PIN: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
tsp_bridge:
description: Telephony bridge
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
required:
- conference_code
- leader_pin
title: TSP Account
type: object
description: |-
**HTTP Status Code:** `200`
TSP account retrieved successfully.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request.
**Error Code:** `300`
The TSP id provided does not exist.
**Error Code:** `300`
TSP Config does not exist.
**Error Code:**`2024`
Account has not enabled TSP.
"404":
description: |-
**HTTP Status Code:** `404`
Not Found.
**Error Code:** `1001`
User does not exist: $userId.
**Error Code:**`1120`
A valid invitation to join the Zoom account was not found for this user.
This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
summary: Get a user's TSP account
tags:
- TSP
patch:
description: |
Update a user's TSP account.
**Scopes:** `tsp:write:admin` `tsp:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: userTSPUpdate
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: TSP account ID.
in: path
name: tspId
required: true
schema:
enum:
- 1
- 2
type: string
requestBody:
content:
application/json:
schema:
description: TSP account.
properties:
conference_code:
description: "Conference code: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
dial_in_numbers:
description: List of dial in numbers.
items:
properties:
code:
description: Country code.
maxLength: 6
type: string
country_label:
description: Country Label, if passed, will display in place of code.
maxLength: 10
type: string
number:
description: "Dial-in number: length is less than 16."
maxLength: 16
minLength: 1
type: string
type:
description: Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number. `media_link` - Media Link Phone Number. It is used for PSTN integration instead of paid bridge number.
enum:
- toll
- tollfree
- media_link
type: string
x-enum-descriptions:
- Toll number
- Toll free number
- Media link phone number
type: object
type: array
leader_pin:
description: "Leader PIN: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
tsp_bridge:
description: Telephony bridge
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
required:
- conference_code
- leader_pin
title: TSP Account
type: object
multipart/form-data:
schema:
description: TSP account.
properties:
conference_code:
description: "Conference code: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
dial_in_numbers:
description: List of dial in numbers.
items:
properties:
code:
description: Country code.
maxLength: 6
type: string
country_label:
description: Country Label, if passed, will display in place of code.
maxLength: 10
type: string
number:
description: "Dial-in number: length is less than 16."
maxLength: 16
minLength: 1
type: string
type:
description: Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number. `media_link` - Media Link Phone Number. It is used for PSTN integration instead of paid bridge number.
enum:
- toll
- tollfree
- media_link
type: string
x-enum-descriptions:
- Toll number
- Toll free number
- Media link phone number
type: object
type: array
leader_pin:
description: "Leader PIN: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
tsp_bridge:
description: Telephony bridge
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
required:
- conference_code
- leader_pin
title: TSP Account
type: object
description: TSP account.
required: true
x-examples:
application/json:
conference_code: string
dial_in_numbers:
- code: string
number: string
type: string
leader_pin: string
tsp_bridge: string
responses:
"204":
description: |-
**HTTP Status Code:**`204` **No Content**
TSP account updated.
"400":
description: |
**HTTP Status Code:** `400`
Bad request.
**Error Code:**`2024`
Account has not enabled TSP.
**Error Code:**`300`
The TSP id provided does not exist.
**Error Code:**`300`
TSP Config does not exist.
**Error Code:**`300`
At least one tsp config must be available.
**Error Code:**`300`
Media link is required for AT&T TSP accounts.
**Error Code:**`300`
Invalid parameter: tsp_bridge.
"404":
description: |-
**HTTP Status Code:** `404`
Not Found.
**Error Code:** `1001`
User does not exist: $userId.
**Error Code:**`1120`
A valid invitation to join the Zoom account was not found for this user.
This error is thrown if you added a user in your account but the user did not accept the invitation on time and the invitation expired - thus making the userId invalid.
summary: Update a TSP account
tags:
- TSP
"/users/{userId}/webinar_templates":
get:
description: |-
When you schedule a webinar, you can save the settings for that webinar as a template for scheduling future webinars.
Use this API to list a user's existing [Webinar templates'](https://support.zoom.us/hc/en-us/articles/115001079746-Webinar-Templates) information.
**Prerequisites:**
* Pro or a higher account with Webinar plan enabled.
operationId: listWebinarTemplates
responses:
"200":
content:
application/json:
examples:
response:
value:
templates:
- id: ull6574eur
name: Weekly Meeting Template
total_records: 1
schema:
properties:
templates:
items:
properties:
id:
description: Unique identifier of the template. If you would like to use this template while scheduling a webinar, you can provide the value of this field in `template_id` field of [Create a Webinar](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarcreate) API.
type: string
name:
description: Name of the template.
type: string
type: object
type: array
total_records:
description: Total number of records returned.
type: integer
type: object
application/xml:
schema:
properties:
templates:
items:
properties:
id:
description: Unique identifier of the template. If you would like to use this template while scheduling a webinar, you can provide the value of this field in `template_id` field of [Create a Webinar](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarcreate) API.
type: string
name:
description: Name of the template.
type: string
type: object
type: array
total_records:
description: Total number of records returned.
type: integer
type: object
description: |-
**HTTP Status Code:** `200` **OK**
List of existing templates returned.
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200` Cannot use webinar API, you need to subscribe webinar plan and then enable webinar for this user:{userId}.
**Error Code:** `1001`
* User not exist: {userId}.
* User {userId} does not exist or does not belong to this account.
summary: List webinar templates
tags:
- Webinars
parameters:
- in: path
name: userId
required: true
schema:
type: string
"/users/{userId}/webinars":
get:
description: |-
Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees. Use this API to list all the webinars that are scheduled by or on-behalf a user (Webinar host).
**Scopes:** `webinar:read:admin` `webinar:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Prerequisites:**
* Pro or higher plan with a Webinar Add-on.
operationId: webinars
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: |-
**Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
The page number of the current page in the returned records.
in: query
name: page_number
schema:
default: 1
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value: |-
{
"page_count": "1",
"page_number": "1",
"page_size": "30",
"total_records": "1",
"webinars": [
{
"uuid": "dsghfkhaewfds",
"id": 0001000,
"host_id": "24654130000000",
"topic": "My Webinar",
"agenda": "Learn more about Zoom APIs",
"type": "5",
"duration": "60",
"start_time": "2019-09-24T22:00:00Z",
"timezone": "America/Los_Angeles",
"created_at": "2019-08-30T22:00:00Z",
"join_url": "https://zoom.us/0001000/awesomewebinar"
}
]
}
schema:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
webinars:
description: List of webinar objects.
items:
allOf:
- properties:
agenda:
description: Webinar Description. The length of agenda gets truncated to 250 characters when you list all webinars for a user. To view the complete agenda, retrieve details for a single webinar [here](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinar).
type: string
created_at:
description: Time of webinar creation.
format: date-time
type: string
duration:
description: Meeting duration.
type: integer
host_id:
description: ID of the host of the webinar.
type: string
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
join_url:
description: Join URL of the webinar (using which others can join the webinar).
type: string
start_time:
description: Scheduled start time of the Webinar.
format: date-time
type: string
timezone:
description: "[Timezone ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) for the Webinar."
type: string
topic:
description: Meeting topic.
type: string
type:
description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
type: string
uuid:
description: Unique identifier of a Webinar. Each webinar instance will generate its own UUID. Once a Webinar ends, the value of uuid for the same webinar will be different from when it was scheduled.
type: string
type: object
type: array
description: List of webinars.
title: User List
type: object
application/xml:
schema:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
webinars:
description: List of webinar objects.
items:
allOf:
- properties:
agenda:
description: Webinar Description. The length of agenda gets truncated to 250 characters when you list all webinars for a user. To view the complete agenda, retrieve details for a single webinar [here](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinar).
type: string
created_at:
description: Time of webinar creation.
format: date-time
type: string
duration:
description: Meeting duration.
type: integer
host_id:
description: ID of the host of the webinar.
type: string
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
join_url:
description: Join URL of the webinar (using which others can join the webinar).
type: string
start_time:
description: Scheduled start time of the Webinar.
format: date-time
type: string
timezone:
description: "[Timezone ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) for the Webinar."
type: string
topic:
description: Meeting topic.
type: string
type:
description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
type: string
uuid:
description: Unique identifier of a Webinar. Each webinar instance will generate its own UUID. Once a Webinar ends, the value of uuid for the same webinar will be different from when it was scheduled.
type: string
type: object
type: array
description: List of webinars.
title: User List
type: object
description: |-
**HTTP Status Code:** `200`
List of webinar objects returned.
"404":
description: |-
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User {userId} not exist or not belong to this account.
security:
- OAuth: []
summary: List webinars
tags:
- Webinars
post:
description: |-
Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees. Use this API to schedule a Webinar for a user (host).
**Scopes:** `webinar:write:admin` `webinar:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* Pro or higher plan with a Webinar Add-on.
operationId: webinarCreate
parameters:
- description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
allOf:
- description: Base webinar object for sessions.
properties:
agenda:
description: Webinar description.
type: string
duration:
description: Webinar duration (minutes). Used for scheduled webinars only.
type: integer
password:
description: |+
Webinar passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ * !]. Max of 10 characters.
If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
type: string
recurrence:
description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
properties:
end_date_time:
description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
description: |-
Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |-
Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
type: integer
type:
description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
description: |+
Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
type: string
required:
- type
title: Recurrence Webinar
type: object
settings:
description: Create Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: |-
The default value is `2`. To enable registration required, set the approval type to `0` or `1`. Values include:
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the Webinar. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains.
type: string
authentication_option:
description: Specify the authentication type for users to join a Webinar with`meeting_authentication` setting set to `true`. The value of this field can be retrieved from the `id` field within `authentication_options` array in the response of [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings).
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed-in users can join this meeting.
**This field is deprecated and will not be supported in future.**
Instead of this field, use the "meeting_authentication", "authentication_option" and/or "authentication_domains" fields to establish the authentication mechanism for this Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed-in users with specified domains can join meetings.
**This field is deprecated and will not be supported in future.**
Instead of this field, use the "authentication_domains" field for this Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: Only [authenticated](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) users can join meeting if the value of this field is set to `true`.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
start_time:
description: |-
Webinar start time. We support two formats for `start_time` - local time and GMT.
To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`.
To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
format: date-time
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
type: string
topic:
description: Webinar topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
required:
- field
type: object
type: array
type:
default: 5
description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
enum:
- 5
- 6
- 9
type: integer
x-enum-descriptions:
- Webinar
- Recurring Webinar with no fixed time
- Recurring Webinar with fixed time
type: object
description: Webinar object.
type: object
multipart/form-data:
schema:
allOf:
- description: Base webinar object for sessions.
properties:
agenda:
description: Webinar description.
type: string
duration:
description: Webinar duration (minutes). Used for scheduled webinars only.
type: integer
password:
description: |+
Webinar passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ * !]. Max of 10 characters.
If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
type: string
recurrence:
description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
properties:
end_date_time:
description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
description: |-
Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |-
Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
type: integer
type:
description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
description: |+
Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
type: string
required:
- type
title: Recurrence Webinar
type: object
settings:
description: Create Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: |-
The default value is `2`. To enable registration required, set the approval type to `0` or `1`. Values include:
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the Webinar. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains.
type: string
authentication_option:
description: Specify the authentication type for users to join a Webinar with`meeting_authentication` setting set to `true`. The value of this field can be retrieved from the `id` field within `authentication_options` array in the response of [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings).
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed-in users can join this meeting.
**This field is deprecated and will not be supported in future.**
Instead of this field, use the "meeting_authentication", "authentication_option" and/or "authentication_domains" fields to establish the authentication mechanism for this Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed-in users with specified domains can join meetings.
**This field is deprecated and will not be supported in future.**
Instead of this field, use the "authentication_domains" field for this Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: Only [authenticated](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) users can join meeting if the value of this field is set to `true`.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
start_time:
description: |-
Webinar start time. We support two formats for `start_time` - local time and GMT.
To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`.
To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
format: date-time
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
type: string
topic:
description: Webinar topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
required:
- field
type: object
type: array
type:
default: 5
description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
enum:
- 5
- 6
- 9
type: integer
x-enum-descriptions:
- Webinar
- Recurring Webinar with no fixed time
- Recurring Webinar with fixed time
type: object
description: Webinar object.
type: object
required: true
x-examples:
application/json:
agenda: Test Webinar
duration: 60:00
password: avfhfgh
recurrence:
end_date_time: 2020-09-22T06:59:00Z
repeat_interval: 1
type: 1
settings:
allow_multiple_devices: "false"
approval_type: 0
attendees_and_panelists_reminder_email_notification:
enable: true
type: 1
audio: both
auto_recording: none
close_registration: "true"
email_language: en-US
enforce_login: "false"
follow_up_absentees_email_notification:
enable: true
type: 1
follow_up_attendees_email_notification:
enable: true
type: 1
hd_video: "true"
host_video: "true"
panelists_invitation_email_notification: true
panelists_video: "true"
practice_session: "true"
registrants_confirmation_email: true
registrants_email_notification: true
registration_type: 2
show_share_button: "true"
start_time: 2020-09-20T06:59:00Z
timezone: America/Los_Angeles
topic: Test Webinar
type: 5
responses:
"201":
content:
application/json:
examples:
response:
value:
agenda: string
created_at: string [date-time]
duration: integer
host_id: string
id: integer
join_url: string
occurrences:
- duration: integer
occurrence_id: integer
start_time: string [date-time]
status: string
settings:
allow_multiple_devices: boolean
alternative_hosts: string
approval_type: integer
attendees_and_panelists_reminder_email_notification:
enable: boolean
type: integer
audio: string
auto_recording: string
close_registration: boolean
email_language: string
enforce_login: boolean
enforce_login_domains: string
follow_up_absentees_email_notification:
enable: boolean
type: integer
follow_up_attendees_email_notification:
enable: boolean
type: integer
hd_video: boolean
host_video: boolean
panelists_invitation_email_notification: boolean
panelists_video: boolean
practice_session: boolean
registrants_confirmation_email: boolean
registrants_email_notification: boolean
registration_type: integer
show_share_button: boolean
start_time: string [date-time]
start_url: string
timezone: string
topic: string
type: integer
uuid: string
schema:
allOf:
- properties:
host_email:
description: Email address of the meeting host.
format: email
type: string
host_id:
description: ID of the user set as host of the webinar.
type: string
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
registrants_confirmation_email:
description: Specify whether or not registrants of this Webinar should receieve confirmation emails.
type: boolean
template_id:
description: |-
Unique identifier of the Webinar template. Use this field only if you would like to [schedule the webinar using an existing template](https://support.zoom.us/hc/en-us/articles/115001079746-Webinar-Templates#schedule). The value of this field can be retrieved from [List Webinar Templates](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/listwebinartemplates) API.
You must provide the user ID of the host instead of the email address in the `userId` path parameter in order to use a template for scheduling a Webinar.
type: string
uuid:
description: Unique identifier of a Webinar. Each Webinar instance will generate its own UUID(i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Once a Webinar ends, the value of uuid for the same webinar will be different from when it was scheduled.
type: string
type: object
- description: Webinar object.
properties:
agenda:
description: Webinar agenda.
type: string
created_at:
description: Create time.
format: date-time
type: string
duration:
description: Webinar duration.
type: integer
join_url:
description: URL to join the Webinar. This URL should only be shared with the users who should be invited to the Webinar.
type: string
occurrences:
description: Array of occurrence objects.
items:
description: Occurence object. This object is only returned for Recurring Webinars.
properties:
duration:
description: Duration.
type: integer
occurrence_id:
description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
type: string
start_time:
description: Start time.
format: date-time
type: string
status:
description: Occurrence status.
type: string
type: object
type: array
password:
description: |+
Webinar passcode.
If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
properties:
end_date_time:
description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
description: |-
Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |-
Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
type: integer
type:
description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
description: |+
Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
type: string
required:
- type
title: Recurrence Webinar
type: object
settings:
description: Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the webinar.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Webinar authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: "`true`- Only authenticated users can join Webinar."
type: boolean
notify_registrants:
description: Send notification email to registrants when the host updates a webinar.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_confirmation_email:
description: Send confirmation email to registrants
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
start_time:
description: Webinar start time in GMT/UTC.
format: date-time
type: string
start_url:
description: |-
type: string
timezone:
description: Time zone to format start_time.
type: string
topic:
description: Webinar topic.
maxLength: 200
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 5
description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
enum:
- 5
- 6
- 9
type: integer
x-enum-descriptions:
- Webinar
- Recurring Webinar with no fixed time
- Recurring Webinar with fixed time
type: object
application/xml:
schema:
allOf:
- properties:
host_email:
description: Email address of the meeting host.
format: email
type: string
host_id:
description: ID of the user set as host of the webinar.
type: string
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
registrants_confirmation_email:
description: Specify whether or not registrants of this Webinar should receieve confirmation emails.
type: boolean
template_id:
description: |-
Unique identifier of the Webinar template. Use this field only if you would like to [schedule the webinar using an existing template](https://support.zoom.us/hc/en-us/articles/115001079746-Webinar-Templates#schedule). The value of this field can be retrieved from [List Webinar Templates](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/listwebinartemplates) API.
You must provide the user ID of the host instead of the email address in the `userId` path parameter in order to use a template for scheduling a Webinar.
type: string
uuid:
description: Unique identifier of a Webinar. Each Webinar instance will generate its own UUID(i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Once a Webinar ends, the value of uuid for the same webinar will be different from when it was scheduled.
type: string
type: object
- description: Webinar object.
properties:
agenda:
description: Webinar agenda.
type: string
created_at:
description: Create time.
format: date-time
type: string
duration:
description: Webinar duration.
type: integer
join_url:
description: URL to join the Webinar. This URL should only be shared with the users who should be invited to the Webinar.
type: string
occurrences:
description: Array of occurrence objects.
items:
description: Occurence object. This object is only returned for Recurring Webinars.
properties:
duration:
description: Duration.
type: integer
occurrence_id:
description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
type: string
start_time:
description: Start time.
format: date-time
type: string
status:
description: Occurrence status.
type: string
type: object
type: array
password:
description: |+
Webinar passcode.
If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
properties:
end_date_time:
description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
description: |-
Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |-
Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
type: integer
type:
description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
description: |+
Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
type: string
required:
- type
title: Recurrence Webinar
type: object
settings:
description: Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the webinar.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Webinar authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: "`true`- Only authenticated users can join Webinar."
type: boolean
notify_registrants:
description: Send notification email to registrants when the host updates a webinar.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_confirmation_email:
description: Send confirmation email to registrants
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
start_time:
description: Webinar start time in GMT/UTC.
format: date-time
type: string
start_url:
description: |-
type: string
timezone:
description: Time zone to format start_time.
type: string
topic:
description: Webinar topic.
maxLength: 200
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 5
description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
enum:
- 5
- 6
- 9
type: integer
x-enum-descriptions:
- Webinar
- Recurring Webinar with no fixed time
- Recurring Webinar with fixed time
type: object
description: |-
**HTTP Status Code:** `201`
Webinar created.
headers:
Content-Location:
description: Location of created Webinar
schema:
type: string
"400":
description: |-
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200`
Subscription plan for webinar is missing. Enable webinar for this user once the subscription plan is added:{userId}.
"404":
description: |
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `1001`
User {userId} not exist or not belong to this account.
security:
- OAuth: []
summary: Create a webinar
tags:
- Webinars
"/webinars/{webinarId}":
delete:
description: |-
Delete a Webinar.
**Scopes:** `webinar:write:admin` `webinar:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* Pro or higher plan with a Webinar Add-on.
operationId: webinarDelete
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
- description: The meeting occurrence ID.
in: query
name: occurrence_id
schema:
type: string
- description: |-
`true`: Notify panelists and registrants about the webinar cancellation via email.
`false`: Do not send any email notification to webinar registrants and panelists.
The default value of this field is `false`.
in: query
name: cancel_webinar_reminder
schema:
type: string
responses:
"200":
description: |-
**HTTP Status Code:** `200`
Success
"204":
description: |-
**HTTP Status Code:** `204`
Webinar deleted.
"300":
description: "**HTTP Status Code:** `300` Invalid webinar ID."
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
**Error Code:** `3002`
Sorry, you cannot delete this webinar since it is in progress.
**Error Code:** `3003`
You are not the webinar host.
**Error Code:** `3007`
Sorry, you cannot delete this webinar since it has ended.
**Error Code:** `3018`
Not allowed to delete PMI.
**Error Code:** `3037`
Not allowed to delete PAC.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Delete a webinar
tags:
- Webinars
get:
description: |-
Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees. Use this API to get details of a scheduled webinar.
**Scopes:** `webinar:read:admin` `webinar:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light` **Prerequisites:**
* Pro or higher plan with a Webinar Add-on.
operationId: webinar
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
- description: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences. When you create a recurring Webinar using [Create a Webinar API](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinarcreate), you can retrieve the Occurrence ID from the response of the API call.
in: query
name: occurrence_id
schema:
type: string
- description: Set the value of this field to `true` if you would like to view Webinar details of all previous occurrences of a recurring Webinar.
in: query
name: show_previous_occurrences
schema:
type: boolean
responses:
"200":
content:
application/json:
examples:
response:
value:
created_at: 2019-09-13T15:35:00Z
duration: 60
host_id: Labcjskdfsjgfg
id: 12345678
join_url: https://zoom.us/j/12345678
settings:
allow_multiple_devices: true
alternative_hosts: ""
approval_type: 2
attendees_and_panelists_reminder_email_notification:
enable: true
type: 1
audio: both
auto_recording: local
close_registration: true
contact_email: wonderfulemail@someemail.dsgfdjf
contact_name: Wonderful person
email_language: en-US
enforce_login: false
enforce_login_domains: ""
follow_up_absentees_email_notification:
enable: true
type: 1
follow_up_attendees_email_notification:
enable: true
type: 1
global_dial_in_countries:
- US
global_dial_in_numbers:
- city: New York
country: US
country_name: US
number: +1 00000
type: toll
- city: San Jose
country: US
country_name: US
number: +1 111111111
type: toll
- city: San Jose
country: US
country_name: US
number: +1 11111110
type: toll
hd_video: false
host_video: false
on_demand: false
panelists_invitation_email_notification: true
panelists_video: false
practice_session: false
question_answer: true
registrants_confirmation_email: true
registrants_email_notification: true
registrants_restrict_number: 0
show_share_button: true
start_time: 2019-08-30T22:00:00Z
start_url: https://zoom.us/s/00000011110?zhghTlUT1Rjd2FXRgh0amxoejNQZ1EiLCJjaWQiOiIifQ.NJ0CXWQ-yhI8Xv01JvxityBtzp3Bt7odMOEG2L8DLmY
timezone: America/New_York
topic: Test Webinar
type: 5
uuid: nWMHAAAAAAAAAAAAAUDP1A==
schema:
allOf:
- properties:
host_email:
description: Email address of the meeting host.
format: email
type: string
host_id:
description: ID of the user set as host of webinar.
type: string
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
uuid:
description: |+
Unique Webinar ID. Each Webinar instance will generate its own Webinar UUID (i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). You can retrieve a list of UUIDs from past Webinar instances using [this API](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/pastwebinars). Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
type: string
type: object
- description: Webinar object.
properties:
agenda:
description: Webinar agenda.
type: string
created_at:
description: Create time.
format: date-time
type: string
duration:
description: Webinar duration.
type: integer
join_url:
description: URL to join the Webinar. This URL should only be shared with the users who should be invited to the Webinar.
type: string
occurrences:
description: Array of occurrence objects.
items:
description: Occurence object. This object is only returned for Recurring Webinars.
properties:
duration:
description: Duration.
type: integer
occurrence_id:
description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
type: string
start_time:
description: Start time.
format: date-time
type: string
status:
description: Occurrence status.
type: string
type: object
type: array
password:
description: |+
Webinar passcode.
If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
properties:
end_date_time:
description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
description: |-
Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |-
Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
type: integer
type:
description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
description: |+
Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
type: string
required:
- type
title: Recurrence Webinar
type: object
settings:
description: Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the webinar.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Webinar authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: "`true`- Only authenticated users can join Webinar."
type: boolean
notify_registrants:
description: Send notification email to registrants when the host updates a webinar.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_confirmation_email:
description: Send confirmation email to registrants
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
start_time:
description: Webinar start time in GMT/UTC.
format: date-time
type: string
start_url:
description: |-
type: string
timezone:
description: Time zone to format start_time.
type: string
topic:
description: Webinar topic.
maxLength: 200
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 5
description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
enum:
- 5
- 6
- 9
type: integer
x-enum-descriptions:
- Webinar
- Recurring Webinar with no fixed time
- Recurring Webinar with fixed time
type: object
application/xml:
schema:
allOf:
- properties:
host_email:
description: Email address of the meeting host.
format: email
type: string
host_id:
description: ID of the user set as host of webinar.
type: string
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
uuid:
description: |+
Unique Webinar ID. Each Webinar instance will generate its own Webinar UUID (i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). You can retrieve a list of UUIDs from past Webinar instances using [this API](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/pastwebinars). Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
type: string
type: object
- description: Webinar object.
properties:
agenda:
description: Webinar agenda.
type: string
created_at:
description: Create time.
format: date-time
type: string
duration:
description: Webinar duration.
type: integer
join_url:
description: URL to join the Webinar. This URL should only be shared with the users who should be invited to the Webinar.
type: string
occurrences:
description: Array of occurrence objects.
items:
description: Occurence object. This object is only returned for Recurring Webinars.
properties:
duration:
description: Duration.
type: integer
occurrence_id:
description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
type: string
start_time:
description: Start time.
format: date-time
type: string
status:
description: Occurrence status.
type: string
type: object
type: array
password:
description: |+
Webinar passcode.
If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
properties:
end_date_time:
description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
description: |-
Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |-
Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
type: integer
type:
description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
description: |+
Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
type: string
required:
- type
title: Recurrence Webinar
type: object
settings:
description: Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the webinar.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Webinar authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: "`true`- Only authenticated users can join Webinar."
type: boolean
notify_registrants:
description: Send notification email to registrants when the host updates a webinar.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_confirmation_email:
description: Send confirmation email to registrants
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
start_time:
description: Webinar start time in GMT/UTC.
format: date-time
type: string
start_url:
description: |-
type: string
timezone:
description: Time zone to format start_time.
type: string
topic:
description: Webinar topic.
maxLength: 200
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 5
description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
enum:
- 5
- 6
- 9
type: integer
x-enum-descriptions:
- Webinar
- Recurring Webinar with no fixed time
- Recurring Webinar with fixed time
type: object
description: |-
**HTTP Status Code:** `200`
Success
"300":
description: "**HTTP Status Code:** `300` Invalid webinar ID."
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Get a webinar
tags:
- Webinars
patch:
description: |-
Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees.
Use this API to make updates to a scheduled Webinar.
**Scopes:** `webinar:write:admin` `webinar:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* Pro or higher plan with a Webinar Add-on.
operationId: webinarUpdate
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
- description: "Webinar occurrence id. Support change of agenda, start_time, duration, settings: {host_video, panelist_video, hd_video, watermark, auto_recording}"
in: query
name: occurrence_id
schema:
type: string
requestBody:
content:
application/json:
schema:
allOf:
- description: Base webinar object for sessions.
properties:
agenda:
description: Webinar description.
type: string
duration:
description: Webinar duration (minutes). Used for scheduled webinar only.
type: integer
password:
description: |+
[Webinar passcode](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords). By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ * !] and can have a maximum of 10 characters.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
If "**Require a passcode when scheduling new meetings**" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
allOf:
- description: Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the webinar.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Webinar authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: "`true`- Only authenticated users can join Webinar."
type: boolean
notify_registrants:
description: Send notification email to registrants when the host updates a webinar.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_confirmation_email:
description: Send confirmation email to registrants
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
- properties:
registrants_confirmation_email:
description: Send confirmation email to registrants.
type: boolean
type: object
start_time:
description: Webinar start time, in the format "yyyy-MM-dd'T'HH:mm:ss'Z'." Should be in GMT time. In the format "yyyy-MM-dd'T'HH:mm:ss." This should be in local time and the timezone should be specified. Only used for scheduled webinars and recurring webinars with a fixed time.
format: date-time
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
type: string
topic:
description: Webinar topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 5
description: Webinar Types: `5` - webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
enum:
- 5
- 6
- 9
type: integer
x-enum-descriptions:
- Webinar
- Recurring Webinar with no fixed time
- Recurring Webinar with fixed time
type: object
description: Webinar object
type: object
multipart/form-data:
schema:
allOf:
- description: Base webinar object for sessions.
properties:
agenda:
description: Webinar description.
type: string
duration:
description: Webinar duration (minutes). Used for scheduled webinar only.
type: integer
password:
description: |+
[Webinar passcode](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords). By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ * !] and can have a maximum of 10 characters.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
If "**Require a passcode when scheduling new meetings**" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
allOf:
- description: Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the webinar.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Webinar authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: "`true`- Only authenticated users can join Webinar."
type: boolean
notify_registrants:
description: Send notification email to registrants when the host updates a webinar.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_confirmation_email:
description: Send confirmation email to registrants
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
- properties:
registrants_confirmation_email:
description: Send confirmation email to registrants.
type: boolean
type: object
start_time:
description: Webinar start time, in the format "yyyy-MM-dd'T'HH:mm:ss'Z'." Should be in GMT time. In the format "yyyy-MM-dd'T'HH:mm:ss." This should be in local time and the timezone should be specified. Only used for scheduled webinars and recurring webinars with a fixed time.
format: date-time
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
type: string
topic:
description: Webinar topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 5
description: Webinar Types: `5` - webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
enum:
- 5
- 6
- 9
type: integer
x-enum-descriptions:
- Webinar
- Recurring Webinar with no fixed time
- Recurring Webinar with fixed time
type: object
description: Webinar object
type: object
description: Webinar.
required: true
x-examples:
application/json:
agenda: string
duration: integer
password: string
settings:
allow_multiple_devices: boolean
alternative_hosts: string
approval_type: integer
attendees_and_panelists_reminder_email_notification:
enable: boolean
type: integer
audio: string
auto_recording: string
close_registration: boolean
email_language: string
enforce_login: boolean
enforce_login_domains: string
follow_up_absentees_email_notification:
enable: boolean
type: integer
follow_up_attendees_email_notification:
enable: boolean
type: integer
hd_video: boolean
host_video: boolean
notify_registrants: boolean
panelists_invitation_email_notification: boolean
panelists_video: boolean
practice_session: boolean
registrants_confirmation_email: boolean
registrants_email_notification: boolean
registration_type: integer
show_share_button: boolean
start_time: string [date-time]
timezone: string
topic: string
type: integer
responses:
"200":
description: |-
**HTTP Status Code:** `200`
Webinar subscription plan is missing. Enable webinar for this user once the subscription is added:{userId}.
"204":
description: |-
**HTTP Status Code:** `204`
Webinar updated.
"300":
description: |-
**HTTP Status Code:** `300` Invalid webinar Id.
Invalid recurrence settings.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
**Error Code:** `3003`
You are not the meeting host.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Update a webinar
tags:
- Webinars
"/webinars/{webinarId}/batch_registrants":
parameters:
- in: path
name: webinarId
required: true
schema:
type: string
post:
description: |+
Use this API to register up to 30 registrants at once for a scheduled webinar that requires [registration](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-webinar-with-registration).
**Prerequisites:**
* The webinar host must be a Licensed user.
* The webinar should be of type `5`, i.e., it should be a scheduled webinar. Other types of webinars are not supported by this API.
**Scope:** `webinar:write`, `webinar:write:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`
operationId: addBatchWebinarRegistrants
parameters:
- description: Unique identifier of the webinar.
in: path
name: webinarId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
auto_approve:
description: |-
If a meeting was scheduled with approval_type `1` (manual approval), but you would like to automatically approve the registrants that are added via this API, you can set the value of this field to `true`.
You **cannot** use this field to change approval setting for a meeting that was originally scheduled with approval_type `0` (automatic approval).
type: boolean
registrants:
items:
properties:
email:
description: Email address of the registrant.
format: email
type: string
first_name:
description: First name of the registrant.
type: string
last_name:
description: Last name of the registrant.
type: string
required:
- first_name
- email
type: object
type: array
type: object
multipart/form-data:
schema:
properties:
auto_approve:
description: |-
If a meeting was scheduled with approval_type `1` (manual approval), but you would like to automatically approve the registrants that are added via this API, you can set the value of this field to `true`.
You **cannot** use this field to change approval setting for a meeting that was originally scheduled with approval_type `0` (automatic approval).
type: boolean
registrants:
items:
properties:
email:
description: Email address of the registrant.
format: email
type: string
first_name:
description: First name of the registrant.
type: string
last_name:
description: Last name of the registrant.
type: string
required:
- first_name
- email
type: object
type: array
type: object
x-examples:
application/json:
auto_approve: false
registrants:
- email: AqJiu@BkIJbPQOXXngjYCpbrlI.zyax
first_name: Harry
last_name: CHarles
- email: DEih6AZ@mvRTbzqfUSOItBkyPDbNbAW.ouz
first_name: Mary
last_name: Jones
- email: i8OzhqFt2h@YKJmTmm.tge
first_name: Shekhar
last_name: Kumar
responses:
"200":
content:
application/json:
examples:
response:
value:
registrants:
- email: AqJiu@BkIJbPQOXXngjYCpbrlI.zyax
join_url: " https://zoom.us/w/9999999?tk=oZuwHfdgAAAAAAAAAAAAAAAA&uuid=WN_XW4_SdxBBBBxLDQt"
registrant_id: conseret14re
- email: DEih6AZ@mvRTbzqfUSOItBkyPDbNbAW.ouz
join_url: " https://zoom.us/w/9999999?tk=oZu52542356AAAAAA&uuid=WN_XW4_SdxBBBBxLDQt"
registrant_id: fdgsfh2ey82fuh
- email: i8OzhqFt2h@YKJmTmm.tge
join_url: " https://zoom.us/w/9999999?tk=ozghdfdsghf36AAA&uuid=WN_XW4_SdxBBBBxLDQt"
registrant_id: hdsfhjf3iwh
schema:
properties:
registrants:
items:
properties:
email:
description: Email address of the registrant.
type: string
join_url:
description: Unique URL using which registrant can join the webinar.
type: string
registrant_id:
description: Unique identifier of the registrant.
type: string
type: object
type: array
type: object
application/xml:
schema:
properties:
registrants:
items:
properties:
email:
description: Email address of the registrant.
type: string
join_url:
description: Unique URL using which registrant can join the webinar.
type: string
registrant_id:
description: Unique identifier of the registrant.
type: string
type: object
type: array
type: object
description: |-
**HTTP Status Code:** `200` **OK**
Registrants added.
"400":
description: |+
**HTTP Status Code:** `400` **Bad Request**
**Error Code:** `200` Webinar plan is missing. You must subscribe to the webinar plan and enable webinar for this user: {0} in order to perform this action.
**Error Code:** `300`
This API can only be used for scheduled webinar(webinar type: 5). Batch registration is not supported for other webinar types.
**Error Code:** `3038`
This webinar is over, you can no longer register for this webinar. If you have any questions, please contact the webinar host.
**Error Code:** `3000` Registration has not been enabled for this webinar: {0}.
"404":
description: |+
**HTTP Status Code:** `404` **Not Found**
**Error Code:** `3001`
Webinar does not exist: {0}.
**Error Code:** `3043`
Webinar has reached maximum attendee capacity.
**Error Code:** `404`
Registration has not been enabled for this meeting: {meetingId}.
security:
- OAuth: []
- Bearer: []
summary: Perform batch registration
tags:
- Webinars
"/webinars/{webinarId}/panelists":
delete:
description: |-
Remove all the panelists from a Webinar.
**Scopes:** `webinar:write:admin` `webinar:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* Pro or a higher plan with [Webinar Add-on](https://zoom.us/webinar).
operationId: webinarPanelistsDelete
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Panelists removed.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Remove panelists
tags:
- Webinars
get:
description: |-
Panelists in a Webinar can view and send video, screen share, annotate, etc and do much more compared to attendees in a Webinar.
Use this API to list all the panelists of a Webinar.
**Scopes:** `webinar:read:admin` `webinar:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Prerequisites:**
* Pro or a higher plan with [Webinar Add-on](https://zoom.us/webinar).
operationId: webinarPanelists
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
panelists:
- email: maryjkdfdsgfshdgf@jdfdkjdglfk.jkfgdj
name: Mary
- email: dfdsgfsdhf@jkgfdgfkdhgfdjg.fkjgdf
name: Mike
total_records: "2"
schema:
allOf:
- description: List of panelists.
properties:
panelists:
description: List of panelist objects.
items:
allOf:
- properties:
id:
description: Panelist's ID.
type: string
type: object
- description: Panelist base object.
properties:
email:
description: Panelist's email.
format: email
type: string
name:
description: Panelist's full name.
type: string
type: object
- properties:
join_url:
description: Join URL.
type: string
type: object
type: array
total_records:
description: Total records.
type: integer
title: Panelist List
type: object
description: Webinar panelist.
type: object
application/xml:
schema:
allOf:
- description: List of panelists.
properties:
panelists:
description: List of panelist objects.
items:
allOf:
- properties:
id:
description: Panelist's ID.
type: string
type: object
- description: Panelist base object.
properties:
email:
description: Panelist's email.
format: email
type: string
name:
description: Panelist's full name.
type: string
type: object
- properties:
join_url:
description: Join URL.
type: string
type: object
type: array
total_records:
description: Total records.
type: integer
title: Panelist List
type: object
description: Webinar panelist.
type: object
description: |-
**HTTP Status Code:** `200`
Webinar plan subscription missing. Enable webinar for this user once the subscription is added.
"300":
description: "**HTTP Status Code:** `300` "
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: List panelists
tags:
- Webinars
post:
description: |-
Panelists in a Webinar can view and send video, screen share, annotate, etc and do much more compared to attendees in a webinar. Use this API to [add panelists](https://support.zoom.us/hc/en-us/articles/115005657826-Inviting-Panelists-to-a-Webinar#h_7550d59e-23f5-4703-9e22-e76bded1ed70) to a scheduled webinar.
**Scopes:** `webinar:write:admin` `webinar:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Prerequisites:**
* Pro or a higher plan with [Webinar Add-on](https://zoom.us/webinar).
operationId: webinarPanelistCreate
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
description: Webinar panelist.
properties:
panelists:
description: List of panelist objects.
items:
allOf:
- description: Panelist base object.
properties:
email:
description: Panelist's email.
format: email
type: string
name:
description: Panelist's full name.
type: string
type: object
maximum: 30
type: array
type: object
multipart/form-data:
schema:
description: Webinar panelist.
properties:
panelists:
description: List of panelist objects.
items:
allOf:
- description: Panelist base object.
properties:
email:
description: Panelist's email.
format: email
type: string
name:
description: Panelist's full name.
type: string
type: object
maximum: 30
type: array
type: object
required: true
x-examples:
application/json:
panelists:
- email: maryjkdfdsgfshdgf@jdfdkjdglfk.jkfgdj
name: Mary
- email: dfdsgfsdhf@jkgfdgfkdhgfdjg.fkjgdf
name: Mike
responses:
"200":
description: |-
**HTTP Status Code:** `200`
Webinar plan subscription missing. Enable webinar for this user once the subscription is added.
"201":
content:
application/json:
examples:
response:
value:
id: doetwerggrlor
updated_at: 2019-01-25T10:04:27.051Z
schema:
properties:
id:
description: Webinar Id.
type: string
updated_at:
description: The time at which the panelist was added.
format: date-time
type: string
type: object
application/xml:
schema:
properties:
id:
description: Webinar Id.
type: string
updated_at:
description: The time at which the panelist was added.
format: date-time
type: string
type: object
description: |-
**HTTP Status Code:** `201`
Panelist created.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Add panelists
tags:
- Webinars
"/webinars/{webinarId}/panelists/{panelistId}":
delete:
description: |-
[Remove](https://support.zoom.us/hc/en-us/articles/115005657826-Inviting-Panelists-to-a-Webinar#h_de31f237-a91c-4fb2-912b-ecfba8ec5ffb) a single panelist from a webinar. You can retrieve the `panelistId` by calling **List Panelists API**.
**Scopes:** `webinar:write:admin` `webinar:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* Pro or a higher plan with [Webinar Add-on](https://zoom.us/webinar).
operationId: webinarPanelistDelete
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
- description: The panelist ID or panelist email.
in: path
name: panelistId
required: true
schema:
type: integer
responses:
"200":
description: |-
**HTTP Status Code:** `200`
Webinar plan subscription is missing. Enable webinar for this user once the subscription is added:{userId}.
"204":
description: |-
**HTTP Status Code:** `204`
Panelists removed.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
**Error Code:** `1001`
User {email} does not exist or does not belong to this account.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Remove a panelist
tags:
- Webinars
"/webinars/{webinarId}/polls":
get:
description: |+
List all the [polls](https://support.zoom.us/hc/en-us/articles/203749865-Polling-for-Webinars) of a Webinar.
**Scopes:** `webinar:read:admin` `webinar:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: webinarPolls
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
id: cdjfhdsdfd
questions:
- answers:
- Good
- Not so good
name: How are you?
type: multiple
status: ended
title: Learn something new
schema:
allOf:
- properties:
polls:
description: Array of Polls
items:
allOf:
- properties:
id:
description: ID of Poll
type: string
status:
description: Status of Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
type: array
total_records:
description: The number of all records available across pages
type: integer
description: Poll List
title: Poll List
type: object
application/xml:
schema:
allOf:
- properties:
polls:
description: Array of Polls
items:
allOf:
- properties:
id:
description: ID of Poll
type: string
status:
description: Status of Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
type: array
total_records:
description: The number of all records available across pages
type: integer
description: Poll List
title: Poll List
type: object
description: |-
**HTTP Status Code:** `200`
List polls of a Webinar returned
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
security:
- OAuth: []
summary: "List a webinar's polls "
tags:
- Webinars
post:
description: |+
Create a [poll](https://support.zoom.us/hc/en-us/articles/203749865-Polling-for-Webinars) for a webinar.
**Scopes:** `webinar:write:admin` `webinar:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: webinarPollCreate
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
allOf:
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
multipart/form-data:
schema:
allOf:
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
description: Webinar poll object
required: true
x-examples:
application/json:
questions:
- answers:
- Good
- Not so good
name: How are you?
type: multiple
title: Learn something new
responses:
"201":
content:
application/json:
examples:
response:
value:
id: cdjfhdsdfd
questions:
- answers:
- Good
- Not so good
name: How are you?
type: multiple
status: ended
title: Learn something new
schema:
allOf:
- properties:
id:
description: Webinar Poll ID
type: string
status:
description: Status of the Webinar Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
type: object
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
application/xml:
schema:
allOf:
- properties:
id:
description: Webinar Poll ID
type: string
status:
description: Status of the Webinar Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
type: object
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
description: |-
**HTTP Status Code:** `201`
Webinar Poll Created
headers:
Content-Location:
description: Location of created Webinar Poll
schema:
type: string
"300":
description: "**HTTP Status Code:** `300` Invalid webinarId."
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
security:
- OAuth: []
summary: Create a webinar's poll
tags:
- Webinars
"/webinars/{webinarId}/polls/{pollId}":
delete:
description: |+
Delete a webinar's [poll](https://support.zoom.us/hc/en-us/articles/203749865-Polling-for-Webinars).
**Scopes:** `webinar:write:admin` `webinar:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: webinarPollDelete
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
- description: The poll ID
in: path
name: pollId
required: true
schema:
type: string
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Webinar Poll deleted
"404":
description: |-
**HTTP Status Code:** `404`
Webinar poll not found.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Delete a webinar poll
tags:
- Webinars
get:
description: |+
Get a webinar's [poll](https://support.zoom.us/hc/en-us/articles/203749865-Polling-for-Webinars) details.
**Scopes:** `webinar:read:admin` `webinar:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: webinarPollGet
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
- description: The poll ID
in: path
name: pollId
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
id: cdjfhdsdfd
questions:
- answers:
- Good
- Not so good
name: How are you?
type: multiple
status: ended
title: Learn something new
schema:
allOf:
- properties:
id:
description: Webinar Poll ID
type: string
status:
description: Status of the Webinar Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
type: object
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
application/xml:
schema:
allOf:
- properties:
id:
description: Webinar Poll ID
type: string
status:
description: Status of the Webinar Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
type: object
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
description: |-
**HTTP Status Code:** `200`
Webinar Poll object returned
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Get a webinar poll
tags:
- Webinars
put:
description: |+
Update a webinar's [poll](https://support.zoom.us/hc/en-us/articles/203749865-Polling-for-Webinars).
**Scopes:** `webinar:write:admin` `webinar:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: webinarPollUpdate
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
- description: The poll ID
in: path
name: pollId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
allOf:
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
multipart/form-data:
schema:
allOf:
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
description: Webinar Poll
required: true
x-examples:
application/json:
questions:
- answers:
- Good
- Not so good
name: How are you?
type: multiple
title: Learn something new
responses:
"204":
description: |-
**HTTP Status Code:** `204`
Webinar Poll Updated
"404":
description: |-
**HTTP Status Code:** `404`
Webinar poll not found.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Update a webinar poll
tags:
- Webinars
"/webinars/{webinarId}/registrants":
get:
description: |+
Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees. Scheduling a [Webinar with registration](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-Webinar-with-Registration) requires your registrants to complete a brief form before receiving the link to join the Webinar.
Use this API to list all the users that have registered for a webinar.
**Prerequisites:**
* Pro or higher plan with a Webinar Add-on.
**Scopes:** `webinar:read:admin` `webinar:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: webinarRegistrants
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
- description: The meeting occurrence ID.
in: query
name: occurrence_id
schema:
type: string
- description: The registrant status: `pending` - Registrant's status is pending. `approved` - Registrant's status is approved. `denied` - Registrant's status is denied.
in: query
name: status
schema:
default: approved
enum:
- pending
- approved
- denied
type: string
x-enum-descriptions:
- registrants status is pending
- registrants status is approved
- registrants status is denied
- description: The tracking source ID for the registrants. Useful if you share the webinar registration page in multiple locations. See [Creating source tracking links for webinar registration](https://support.zoom.us/hc/en-us/articles/360000315683-Creating-source-tracking-links-for-webinar-registration) for details.
in: query
name: tracking_source_id
schema:
type: string
- description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
- description: |-
**Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
The page number of the current page in the returned records.
in: query
name: page_number
schema:
default: 1
type: integer
- description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
page_count: "1"
page_number: "1"
page_size: "30"
registrants:
- address: dsfhkdjsfh st
city: jackson heights
comments: Looking forward to the Webinar
country: US
create_time: 2019-02-26T23:01:16.899Z
custom_questions:
- title: What do you hope to learn from this Webinar?
value: Look forward to learning how you come up with new recipes and what other services you offer.
email: sjfkghdsg@someemail.dfgjd
first_name: Jill
id: "24000002122"
industry: Food
job_title: Chef
join_url: https://zoom.us/webinar/mywebinarissocooldighdghodghodg
last_name: Chill
no_of_employees: "10"
org: Cooking Org
phone: "00000000"
purchasing_time_frame: 1-3 months
role_in_purchase_process: Influencer
state: NY
status: approved
zip: "11371"
total_records: "1"
schema:
allOf:
- allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
registrants:
description: List of registrant objects.
items:
allOf:
- properties:
id:
description: Registrant ID.
type: string
type: object
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
- properties:
create_time:
description: The time at which the registrant registered.
format: date-time
type: string
join_url:
description: The URL using which an approved registrant can join the webinar.
format: string
type: string
status:
description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
type: string
type: object
type: array
description: List of users.
title: Registration List
type: object
description: List of users.
title: Registration List
type: object
application/xml:
schema:
allOf:
- allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
registrants:
description: List of registrant objects.
items:
allOf:
- properties:
id:
description: Registrant ID.
type: string
type: object
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
- properties:
create_time:
description: The time at which the registrant registered.
format: date-time
type: string
join_url:
description: The URL using which an approved registrant can join the webinar.
format: string
type: string
status:
description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
type: string
type: object
type: array
description: List of users.
title: Registration List
type: object
description: List of users.
title: Registration List
type: object
description: |-
**HTTP Status Code:** `200`
Webinar plan subscription is missing. Enable webinar for this user once the subscription is added:{userId}.
"300":
description: "**HTTP Status Code:** `300` Invalid webinar ID."
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: List webinar registrants
tags:
- Webinars
parameters:
- in: path
name: webinarId
required: true
schema:
type: string
post:
description: |-
Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees. Scheduling a [Webinar with registration](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-Webinar-with-Registration) requires your registrants to complete a brief form before receiving the link to join the Webinar. Use this API to create and submit the registration of a user for a webinar.
**Scopes:** `webinar:write:admin` `webinar:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* Pro or higher plan with a Webinar Add-on.
operationId: webinarRegistrantCreate
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
- description: Occurrence ID. Get this value from the webinar get API. Multiple values separated by a comma.
in: query
name: occurrence_ids
schema:
type: string
requestBody:
content:
application/json:
schema:
allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: Webinar registrant.
type: object
multipart/form-data:
schema:
allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: Webinar registrant.
type: object
required: true
x-examples:
application/json:
address: dsfhkdjsfh st
city: jackson heights
comments: Looking forward to the Webinar
country: US
custom_questions:
- title: What do you hope to learn from this Webinar?
value: Look forward to learning how you come up with new recipes and what other services you offer.
email: sjfkghdsg@someemail.dfgjd
first_name: Jill
industry: Food
job_title: Chef
last_name: Chill
no_of_employees: "10"
org: Cooking Org
phone: "00000000"
purchasing_time_frame: 1-3 months
role_in_purchase_process: Influencer
state: NY
zip: "11371"
responses:
"201":
content:
application/json:
examples:
response:
value:
id: velit dolore minim Ut
join_url: pariatur
registrant_id: culpa deserunt ea est commodo
start_time: 1974-02-26T23:01:16.899Z
topic: et laboris Lorem in Ut
schema:
properties:
id:
description: Webinar ID
type: string
join_url:
description: Unique URL for this registrant to join the Webinar. This URL should only be shared with the registrant for whom the API request was made.
type: string
registrant_id:
description: Registrant ID
type: string
start_time:
description: Start time
format: date-time
type: string
topic:
description: Topic
maxLength: 200
type: string
type: object
application/xml:
schema:
properties:
id:
description: Webinar ID
type: string
join_url:
description: Unique URL for this registrant to join the Webinar. This URL should only be shared with the registrant for whom the API request was made.
type: string
registrant_id:
description: Registrant ID
type: string
start_time:
description: Start time
format: date-time
type: string
topic:
description: Topic
maxLength: 200
type: string
type: object
description: |-
**HTTP Status Code:** `201`
Registration created.
"300":
description: |-
**HTTP Status Code:** `300` Invalid webinar ID.
Invalid parameter: occurrence_ids.
Invalid user name.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
**Error Code:** `3000`
This webinar does not have registration as required:{webinarId}.
**Error Code:** `3027`
Host can not register.
**Error Code:** `3034`
If you have been invited, please input your work email address.
**Error Code:** `3038`
Webinar is over, you can not register now. If you have any questions, please contact Webinar host.
"404":
description: |
**HTTP Status Code:** `404`
Webinar not found.
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Add a webinar registrant
tags:
- Webinars
"/webinars/{webinarId}/registrants/questions":
get:
description: |+
Scheduling a [Webinar with registration](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-Webinar-with-Registration) requires your registrants to complete a brief form with fields and questions before they can receive the link to join the Webinar. Use this API to list registration questions and fields that are to be answered by users while registering for a Webinar.
**Prerequisites:**
* Pro or higher plan with a Webinar Add-on.
**Scopes:** `webinar:read:admin` `webinar:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: webinarRegistrantsQuestionsGet
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
custom_questions:
- answers:
- array of answer choices
required: boolean
title: string
type: string
questions:
- field_name: string
required: boolean
schema:
allOf:
- description: Webinar Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions.
items:
properties:
answers:
description: An array of answer choices. Can't be used for short answer type.
items:
type: string
type: array
required:
description: State whether or not the custom question is required to be answered by a registrant.
type: boolean
title:
description: Custom question.
type: string
type:
description: The question-answer type.
enum:
- short
- single_radio
- single_dropdown
- multiple
type: string
x-enum-descriptions:
- Short Answer
- Single Radio Answer
- Single Dropdown Answer
- Multiple Answer
type: array
questions:
description: Array of registration fields whose values should be provided by registrants during registration.
items:
properties:
field_name:
description: Field name
enum:
- last_name
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Last Name
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: State whether the selected fields are required or optional.
type: boolean
type: array
title: Webinar Registrant Questions
type: object
application/xml:
schema:
allOf:
- description: Webinar Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions.
items:
properties:
answers:
description: An array of answer choices. Can't be used for short answer type.
items:
type: string
type: array
required:
description: State whether or not the custom question is required to be answered by a registrant.
type: boolean
title:
description: Custom question.
type: string
type:
description: The question-answer type.
enum:
- short
- single_radio
- single_dropdown
- multiple
type: string
x-enum-descriptions:
- Short Answer
- Single Radio Answer
- Single Dropdown Answer
- Multiple Answer
type: array
questions:
description: Array of registration fields whose values should be provided by registrants during registration.
items:
properties:
field_name:
description: Field name
enum:
- last_name
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Last Name
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: State whether the selected fields are required or optional.
type: boolean
type: array
title: Webinar Registrant Questions
type: object
description: |-
**HTTP Status Code:** `200`
Webinar Registrant Question object returned
"404":
description: "**HTTP Status Code:** `404` Webinar not found"
security:
- OAuth: []
summary: List registration questions
tags:
- Webinars
patch:
description: |+
Scheduling a [Webinar with registration](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-Webinar-with-Registration) requires your registrants to complete a brief form with fields and questions before they can receive the link to join the Webinar. Use this API to update registration questions and fields of a scheduled Webinar that are to be answered by users while registering for a Webinar.
**Prerequisites:**
* Pro or higher plan with a Webinar Add-on.
* Registration option for Webinar should be set as required to use this API.
**Scopes:** `webinar:write:admin` `webinar:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: webinarRegistrantQuestionUpdate
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
allOf:
- description: Webinar Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions.
items:
properties:
answers:
description: An array of answer choices. Can't be used for short answer type.
items:
type: string
type: array
required:
description: State whether or not the custom question is required to be answered by a registrant.
type: boolean
title:
description: Custom question.
type: string
type:
description: The question-answer type.
enum:
- short
- single_radio
- single_dropdown
- multiple
type: string
x-enum-descriptions:
- Short Answer
- Single Radio Answer
- Single Dropdown Answer
- Multiple Answer
type: array
questions:
description: Array of registration fields whose values should be provided by registrants during registration.
items:
properties:
field_name:
description: Field name
enum:
- last_name
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Last Name
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: State whether the selected fields are required or optional.
type: boolean
type: array
title: Webinar Registrant Questions
type: object
multipart/form-data:
schema:
allOf:
- description: Webinar Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions.
items:
properties:
answers:
description: An array of answer choices. Can't be used for short answer type.
items:
type: string
type: array
required:
description: State whether or not the custom question is required to be answered by a registrant.
type: boolean
title:
description: Custom question.
type: string
type:
description: The question-answer type.
enum:
- short
- single_radio
- single_dropdown
- multiple
type: string
x-enum-descriptions:
- Short Answer
- Single Radio Answer
- Single Dropdown Answer
- Multiple Answer
type: array
questions:
description: Array of registration fields whose values should be provided by registrants during registration.
items:
properties:
field_name:
description: Field name
enum:
- last_name
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Last Name
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: State whether the selected fields are required or optional.
type: boolean
type: array
title: Webinar Registrant Questions
type: object
description: Webinar Registrant Questions
required: true
x-examples:
application/json:
custom_questions:
- answers:
- array of answer choices
required: boolean
title: string
type: string
questions:
- field_name: string
required: boolean
responses:
"204":
description: "**HTTP Status Code:** `204` Webinar Registrant Questions Updated"
"404":
description: "**HTTP Status Code:** `404` Webinar not found"
security:
- OAuth: []
summary: Update registration questions
tags:
- Webinars
"/webinars/{webinarId}/registrants/status":
put:
description: |+
Update a webinar registrant's status. Using this API, you can specify whether you want to approve a registration, deny a registration or cancel a previously approved registration.
**Scopes:** `webinar:write:admin` `webinar:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
operationId: webinarRegistrantStatus
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
- description: The meeting occurrence ID.
in: query
name: occurrence_id
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
action:
description: "Used to approve a registrant, deny a registrant, or cancel a previously approved registrant. "
enum:
- approve
- cancel
- deny
type: string
x-enum-descriptions:
- Approve registrant
- Cancel registrant
- Deny registrant
registrants:
description: List of registrants.
items:
properties:
email:
description: Registrant's email address.
type: string
id:
description: Registrant ID
type: string
type: object
maximum: 30
type: array
required:
- action
type: object
multipart/form-data:
schema:
properties:
action:
description: "Used to approve a registrant, deny a registrant, or cancel a previously approved registrant. "
enum:
- approve
- cancel
- deny
type: string
x-enum-descriptions:
- Approve registrant
- Cancel registrant
- Deny registrant
registrants:
description: List of registrants.
items:
properties:
email:
description: Registrant's email address.
type: string
id:
description: Registrant ID
type: string
type: object
maximum: 30
type: array
required:
- action
type: object
required: true
x-examples:
application/json:
action: string
registrants:
- email: string
id: string
responses:
"200":
description: |-
**HTTP Status Code:** `200`
The webinar plan subscription is missing. Enable webinar for this user once the subscription is added: {userId}.
"300":
description: "**HTTP Status Code:** `300` Invalid webinar ID."
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
**Error Code:** `3035`
Webinar has reached maximum attendee capacity.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Update registrant's status
tags:
- Webinars
"/webinars/{webinarId}/registrants/{registrantId}":
delete:
description: |-
Delete a webinar registrant.
**Scopes**: `webinar:write:admin` `webinar:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
operationId: deleteWebinarRegistrant
parameters:
- description: The webinar ID.
in: path
name: webinarId
required: true
schema:
type: integer
- description: The registrant ID.
in: path
name: registrantId
required: true
schema:
type: string
- description: The webinar occurence ID.
in: query
name: occurrence_id
schema:
type: string
responses:
"204":
description: |-
**HTTP status code:** `204`
OK
"400":
description: |-
**HTTP status code:** `400`
Bad Request
**Error code:** `200`
Webinar plan is missing. You must subscribe to the webinar plan and enable webinars for this user in order to perform this action: {0}.
**Error code:** `300`
The value that you entered for the Registrant ID field is invalid. Enter a valid value and try again.
**Error code:** `404`
Registration has not been enabled for this webinar: {0}.
**Error code:** `3000`
Registrant {0} was not found.
**Error code:** `3001`
Webinar does not exist: {0}.
summary: Delete a webinar registrant
tags:
- Webinars
get:
description: |-
Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees. Scheduling a [Webinar with registration](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-Webinar-with-Registration) requires your registrants to complete a brief form before receiving the link to join the Webinar. Use this API to get details on a specific user who has registered for the Webinar.
**Scopes:** `webinar:read:admin` `webinar:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* The account must have a Webinar plan.
operationId: webinarRegistrantGet
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
- description: The registrant ID.
in: path
name: registrantId
required: true
schema:
type: string
- description: The meeting occurrence ID.
in: query
name: occurrence_id
schema:
type: string
responses:
"200":
content:
application/json:
examples:
response:
value:
page_count: "1"
page_number: "1"
page_size: "30"
registrants:
- address: dsfhkdjsfh st
city: jackson heights
comments: Looking forward to the Webinar
country: US
create_time: 2019-02-26T23:01:16.899Z
custom_questions:
- title: What do you hope to learn from this Webinar?
value: Look forward to learning how you come up with new recipes and what other services you offer.
email: sjfkghdsg@someemail.dfgjd
first_name: Jill
id: "24000002122"
industry: Food
job_title: Chef
join_url: https://zoom.us/webinar/mywebinarissocooldighdghodghodg
last_name: Chill
no_of_employees: "10"
org: Cooking Org
phone: "00000000"
purchasing_time_frame: 1-3 months
role_in_purchase_process: Influencer
state: NY
status: approved
zip: "11371"
total_records: "1"
schema:
allOf:
- properties:
id:
type: string
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: Webinar registrant.
type: object
- properties:
create_time:
format: date-time
type: string
join_url:
format: string
type: string
status:
type: string
title: Webianr Registrant
type: object
application/xml:
schema:
allOf:
- properties:
id:
type: string
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: Webinar registrant.
type: object
- properties:
create_time:
format: date-time
type: string
join_url:
format: string
type: string
status:
type: string
title: Webianr Registrant
type: object
description: Success.
"300":
description: Invalid webinar ID.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Get a webinar registrant
tags:
- Webinars
parameters:
- in: path
name: webinarId
required: true
schema:
type: string
- in: path
name: registrantId
required: true
schema:
type: string
"/webinars/{webinarId}/status":
put:
description: |-
Update a webinar's status. Use this API to end an ongoing webinar.
**Scopes:** `webinar:write:admin` `webinar:write`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`
**Prerequisites:**
* The account must hold a valid [Webinar plan](https://zoom.us/webinar).
operationId: webinarStatus
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
properties:
action:
enum:
- end
type: string
x-enum-descriptions:
- end a webinar
multipart/form-data:
schema:
properties:
action:
enum:
- end
type: string
x-enum-descriptions:
- end a webinar
required: true
x-examples:
application/json:
action: end
responses:
"200":
description: Webinar plan subscription is missing. Enable webinar for this user once the subscription is added:{userId}.
"204":
description: Webinar's status updated.
"400":
description: |-
**HTTP Status Code:** `400`
Bad request
**Error Code:** `1010`
User does not belong to this account:{accountId}.
**Error Code:** `3003`
You are not the meeting host.
**Error Code:** `3063`
Can not end on-premise user's meeting:{meetingId}.
"404":
description: |-
**HTTP Status Code:** `404`
Webinar not found.
**Error Code:** `1001`
User {userId} does not exist or does not belong to this account.
**Error Code:** `3001`
Webinar {webinarId} not found or has expired.
security:
- OAuth: []
summary: Update webinar status
tags:
- Webinars
"/webinars/{webinarId}/tracking_sources":
get:
description: |
[Webinar Registration Tracking Sources](https://support.zoom.us/hc/en-us/articles/360000315683-Webinar-Registration-Source-Tracking) allow you to see where your registrants are coming from if you share the webinar registration page in multiple platforms. You can then use the source tracking to see the number of registrants generated from each platform. Use this API to list information on all the tracking sources of a Webinar.
**Scopes:** `webinar:read:admin`, `webinar:read`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`
**Prerequisites**:
* [Webinar license](https://zoom.us/webinar).
* Registration must be required for the Webinar.
operationId: getTrackingSources
parameters:
- description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
responses:
"200":
content:
application/json:
examples:
response:
value:
total_records: 1
tracking_sources:
- id: "1100011100"
registrationr_count: 1
source_name: general
tracking_url: https://zoom.us/webinar/register/1100011100/WN_6ToMP5n6Quas2SdMjIWu7Q
visitor_count: 2
schema:
properties:
total_records:
description: The total number of registration records for this Webinar.
type: integer
tracking_sources:
description: Tracking Sources object.
items:
properties:
id:
description: Unique Identifier of the tracking source.
type: string
registration_count:
description: Number of registrations made from this source.
type: integer
source_name:
description: Name of the source (platform) where the registration URL was shared.
type: string
tracking_url:
description: Tracking URL. The URL that was shared for the registration.
type: string
visitor_count:
description: Number of visitors who visited the registration page from this source.
type: integer
type: object
type: array
type: object
application/xml:
schema:
properties:
total_records:
description: The total number of registration records for this Webinar.
type: integer
tracking_sources:
description: Tracking Sources object.
items:
properties:
id:
description: Unique Identifier of the tracking source.
type: string
registration_count:
description: Number of registrations made from this source.
type: integer
source_name:
description: Name of the source (platform) where the registration URL was shared.
type: string
tracking_url:
description: Tracking URL. The URL that was shared for the registration.
type: string
visitor_count:
description: Number of visitors who visited the registration page from this source.
type: integer
type: object
type: array
type: object
description: "**HTTP Status Code:** `200`"
security:
- OAuth: []
summary: Get webinar tracking sources
tags:
- Webinars
parameters:
- in: path
name: webinarId
required: true
schema:
type: string
components:
parameters:
AccountId:
description: The account ID.
in: path
name: accountId
required: true
schema:
type: string
DeviceId:
description: The device ID.
in: path
name: deviceId
required: true
schema:
type: string
FeedbackId:
description: Feedback Detail Id
in: path
name: feedbackId
required: true
schema:
type: string
FromDate:
description: Start date in 'yyyy-mm-dd' format. The date range defined by the "from" and "to" parameters should only be one month as the report includes only one month worth of data at once.
in: query
name: from
required: true
schema:
format: date
type: string
GroupId:
description: |-
The group ID.
Can be retrieved by calling [GET /groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups).
in: path
name: groupId
required: true
schema:
type: string
LoginType:
description: "`0` - Facebook. `1` - Google. `99` - API. `100` - Zoom. `101` - SSO."
in: query
name: login_type
schema:
enum:
- "0"
- "1"
- "99"
- "100"
- "101"
type: string
x-enum-descriptions:
- Facebook
- Google
- API
- Zoom
- SSO
Mc:
description: Query Metadata of Recording if an On-Premise Meeting Connector was used for the meeting.
in: query
name: mc
schema:
default: "false"
type: string
MeetingId:
description: |-
The meeting ID in **long** format. The data type of this field is "long"(represented as int64 in JSON).
While storing it in your database, store it as a **long** data type and **not as an integer**, as the Meeting IDs can be longer than 10 digits.
in: path
name: meetingId
required: true
schema:
format: int64
type: integer
MeetingId4Metrics:
description: |-
The meeting ID or the meeting UUID. If a meeting ID is provided in the request instead of a UUID, the response will be for the latest meeting instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
MeetingId4Recording:
description: |-
To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance.
To get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875=="), you must **double encode** the UUID before making an API request.
in: path
name: meetingId
required: true
schema:
type: string
MeetingIdNumber:
description: The meeting ID or UUID.
in: path
name: meetingId
required: true
schema:
type: string
MeetingType:
description: "The meeting types: `scheduled` - This includes all valid past meetings (unexpired), live meetings and upcoming scheduled meetings. It is equivalent to the combined list of \"Previous Meetings\" and \"Upcoming Meetings\" displayed in the user's [Meetings page](https://zoom.us/meeting) on the Zoom Web Portal. `live` - All the ongoing meetings. `upcoming` - All upcoming meetings including live meetings."
in: query
name: type
schema:
default: live
enum:
- scheduled
- live
- upcoming
type: string
x-enum-descriptions:
- all the scheduled meetings
- all the live meetings
- all the upcoming meetings
MeetingTypePast:
description: |-
Specify a value to get the response for the corresponding meeting type. The value of this field can be one of the following:
`past` - Meeting that already occurred in the specified date range. `pastOne` - Past meetings that were attended by only one user. `live` - Live meetings.
If you do not provide this field, the default value will be `live` and thus, the API will only query responses for live meetings.
in: query
name: type
schema:
default: live
enum:
- past
- pastOne
- live
type: string
x-enum-descriptions:
- past meetings
- past one user meetings
- live meetings
MeetingTypePast2:
description: "The meeting types: `past` - Past meetings. `live` - Live Meetings."
in: query
name: type
schema:
default: live
enum:
- past
- pastOne
- live
type: string
x-enum-descriptions:
- past meeting
- single past user meetings
- live meeting
MeetingTypePast3:
description: "The meeting types: `past` - Past meetings. `pastOne` - Past one user meetings. `live` - Live meetings."
in: query
name: type
schema:
default: live
enum:
- past
- pastOne
- live
type: string
x-enum-descriptions:
- past meeting
- past one user meeting
- live meeting
MeetingUUID:
description: The meeting UUID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for other API calls if the UUID begins with a '/'or contains '//' in it.
in: path
name: meetingUUID
required: true
schema:
type: string
MemberId:
description: The member ID.
in: path
name: memberId
required: true
schema:
type: string
NextPageToken:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
OccurrenceId:
description: The meeting occurrence ID.
in: query
name: occurrence_id
schema:
type: string
PageNumber:
description: |-
**Deprecated** - This field has been deprecated and we will stop supporting it completely in a future release. Please use "next_page_token" for pagination instead of this field.
The page number of the current page in the returned records.
in: query
name: page_number
schema:
default: 1
type: integer
PageSize:
description: The number of records returned within a single API call.
in: query
name: page_size
schema:
default: 30
maximum: 300
type: integer
PageSize4Qos:
description: The number of items returned per page.
in: query
name: page_size
schema:
default: 1
maximum: 10
type: integer
PageToken:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
in: query
name: next_page_token
schema:
type: string
ParticipantId:
description: Participant ID.
in: path
name: participantId
required: true
schema:
type: string
RecordingDeleteAction:
description: The recording delete actions: `trash` - Move recording to trash. `delete` - Delete recording permanently.
in: query
name: action
schema:
default: trash
enum:
- trash
- delete
type: string
x-enum-descriptions:
- move recording to trash
- delete recording permanently
RecordingId:
description: The recording ID.
in: path
name: recordingId
required: true
schema:
type: string
RegistrantId:
description: The registrant ID.
in: path
name: registrantId
required: true
schema:
type: string
RegistrantStatus:
description: The registrant status: `pending` - Registrant's status is pending. `approved` - Registrant's status is approved. `denied` - Registrant's status is denied.
in: query
name: status
schema:
default: approved
enum:
- pending
- approved
- denied
type: string
x-enum-descriptions:
- registrants status is pending
- registrants status is approved
- registrants status is denied
RoleId:
description: The role ID
in: path
name: roleId
required: true
schema:
type: string
SessionId:
description: IM chat session ID.
in: path
name: sessionId
required: true
schema:
type: string
TSPId:
description: TSP account ID.
in: path
name: tspId
required: true
schema:
enum:
- 1
- 2
type: string
ToDate:
description: End date.
in: query
name: to
required: true
schema:
format: date
type: string
TrackingSourceId:
description: The tracking source ID for the registrants. Useful if you share the webinar registration page in multiple locations. See [Creating source tracking links for webinar registration](https://support.zoom.us/hc/en-us/articles/360000315683-Creating-source-tracking-links-for-webinar-registration) for details.
in: query
name: tracking_source_id
schema:
type: string
TransferEmail:
description: Transfer email.
in: query
name: transfer_email
required: false
schema:
type: string
TransferMeeting:
description: Transfer meeting.
in: query
name: transfer_meeting
required: false
schema:
type: boolean
TransferRecording:
description: Transfer recording.
in: query
name: transfer_recording
required: false
schema:
type: boolean
TransferWebinar:
description: Transfer webinar.
in: query
name: transfer_webinar
required: false
schema:
type: boolean
Trash:
description: |-
Query trash.
`true`: List recordings from trash. `false`: Do not list recordings from the trash. The default value is `false`. If you set it to `true`, you can use the `trash_type` property to indicate the type of Cloud recording that you need to retrieve.
in: query
name: trash
schema:
default: false
type: boolean
UserId:
description: The user ID or email address of the user. For user-level apps, pass `me` as the value for userId.
in: path
name: userId
required: true
schema:
type: string
WebhookId:
description: The webhook ID.
in: path
name: webhookId
required: true
schema:
type: string
WebinarId:
description: 'The webinar ID in "**long**" format(represented as int64 data type in JSON). '
in: path
name: webinarId
required: true
schema:
format: int64
type: integer
WebinarId4Metrics:
description: |-
The webinar ID or the webinar UUID. If a webinar ID is provided in the request instead of a UUID, the response will be for the latest webinar instance.
If a UUID starts with "/" or contains "//" (example: "/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request.
in: path
name: webinarId
required: true
schema:
type: string
WebinarTypePast:
description: The webinar type.
in: query
name: type
schema:
default: live
enum:
- past
- live
type: string
x-enum-descriptions:
- past webinars
- live webinars
WebinarTypePast2:
description: The webinar type.
in: query
name: type
schema:
default: live
enum:
- past
- live
type: string
x-enum-descriptions:
- past webinar
- live webinar
WebinarUUID:
description: The Webinar UUID. Each Webinar instance will generate its own Webinar UUID (i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it.
in: path
name: WebinarUUID
required: true
schema:
type: string
ZoomRoomId:
description: The Zoom room ID.
in: path
name: zoomroomId
required: true
schema:
type: string
trash_type:
description: |-
The type of Cloud recording that you would like to retrieve from the trash. The value can be one of the following:
`meeting_recordings`: List all meeting recordings from the trash.
`recording_file`: List all individual recording files from the trash.
in: query
name: trash_type
schema:
default: meeting_recordings
type: string
requestBodies:
recordingStatusUpdateBody:
content:
application/json:
schema:
properties:
action:
enum:
- recover
type: string
x-enum-descriptions:
- recover meeting recording
multipart/form-data:
schema:
properties:
action:
enum:
- recover
type: string
x-enum-descriptions:
- recover meeting recording
required: true
x-examples:
application/json:
action: recover
updateChannelBody:
content:
application/json:
schema:
properties:
name:
description: A new name for the channel.
type: string
required:
- name
type: object
multipart/form-data:
schema:
properties:
name:
description: A new name for the channel.
type: string
required:
- name
type: object
x-examples:
application/json:
name: Share happiness channel
uploadVB:
content:
multipart/form-data:
schema:
properties:
file:
description: Provide the file's path here.
type: string
type: object
schemas:
Account:
description: The account object represents an account on Zoom. The account owner is the user who created the account or had an account created for them. You can read more about the Zoom account structure here.
properties:
email:
description: User's email address.
type: string
first_name:
description: User's first name.
type: string
last_name:
description: User's last name.
type: string
options:
description: Account options object.
properties:
billing_auto_renew:
description: Toggle whether automatic billing renewal is on or off.
type: boolean
meeting_connector_list:
description: |-
Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_mc` is set to `true`.
items:
type: string
type: array
pay_mode:
default: master
description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
enum:
- master
- sub
type: string
x-enum-descriptions:
- master account holder pays
- Sub account holder pays
room_connector_list:
description: |-
Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_rc` is set to `true`.
items:
type: string
type: array
share_mc:
default: false
description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
type: boolean
share_rc:
default: false
description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
type: boolean
type: object
password:
description: User's password.
minimum: 8
type: string
vanity_url:
description: Account Vanity URL
type: string
required:
- first_name
- last_name
- email
- password
type: object
AccountList:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- description: Account object in the account list.
properties:
accounts:
description: List of Account objects.
items:
properties:
account_name:
description: Account name.
type: string
account_number:
description: Account Number of the account.
type: string
account_type:
description: Account type.
type: string
created_at:
description: Account creation date and time.
format: date-time
type: string
id:
description: Account ID.
type: string
owner_email:
description: Account owner email.
example: john.doe@zoom.us
type: string
seats:
description: Account seats.
type: integer
subscription_end_time:
description: Account subscription end date and time.
format: date-time
type: string
subscription_start_time:
description: Account subscription start date and time.
format: date-time
type: string
type: object
type: array
type: object
description: List of Accounts.
title: Account List
type: object
AccountListItem:
description: Account object in the account list.
properties:
accounts:
description: List of Account objects.
items:
properties:
account_name:
description: Account name.
type: string
account_number:
description: Account Number of the account.
type: string
account_type:
description: Account type.
type: string
created_at:
description: Account creation date and time.
format: date-time
type: string
id:
description: Account ID.
type: string
owner_email:
description: Account owner email.
example: john.doe@zoom.us
type: string
seats:
description: Account seats.
type: integer
subscription_end_time:
description: Account subscription end date and time.
format: date-time
type: string
subscription_start_time:
description: Account subscription start date and time.
format: date-time
type: string
type: object
type: array
type: object
AccountOptions:
description: Account options object.
properties:
billing_auto_renew:
description: Toggle whether automatic billing renewal is on or off.
type: boolean
meeting_connector_list:
description: |-
Specify the IP addresses of the Meeting Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Meeting Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_mc` is set to `true`.
items:
type: string
type: array
pay_mode:
default: master
description: Payee: `master` - master account holder pays. `sub` - Sub account holder pays.
enum:
- master
- sub
type: string
x-enum-descriptions:
- master account holder pays
- Sub account holder pays
room_connector_list:
description: |-
Specify the IP addresses of the Room Connectors that you would like to share with the sub account. Multiple values can be separated by comma. If no value is provided in this field, all the Room Connectors of a master account will be shared with the sub account.
**Note:** This option can only be used if the value of `share_rc` is set to `true`.
items:
type: string
type: array
share_mc:
default: false
description: Enable/disable the option for a sub account to use shared [Meeting Connector(s)](https://support.zoom.us/hc/en-us/articles/201363093-Getting-Started-with-the-Meeting-Connector) that are set up by the master account. Meeting Connectors can only be used by On-prem users.
type: boolean
share_rc:
default: false
description: Enable/disable the option for a sub account to use shared [Virtual Room Connector(s)](https://support.zoom.us/hc/en-us/articles/202134758-Getting-Started-With-Virtual-Room-Connector) that are set up by the master account. Virtual Room Connectors can only be used by On-prem users.
type: boolean
type: object
AccountPlan:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
AccountPlanBaseRequired:
description: Account base plan object.
properties:
hosts:
description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
type: integer
type:
description: Account base plan type.
type: string
required:
- type
- hosts
type: object
AccountPlanRequired:
description: Account plan object.
properties:
hosts:
description: Number of hosts for this plan.
type: integer
type:
description: Account plan type.
type: string
required:
- type
- hosts
type: object
AccountPlans:
description: Account Plans object.
properties:
plan_audio:
description: Additional audio conferencing plan type.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
ddi_numbers:
description: Dedicated dial-In numbers.
type: integer
premium_countries:
description: 'Premium countries: multiple values should be separated by commas. For a list of allowed values, refer to the "ID" field in the [Premium Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#premium-countries) table.'
type: string
tollfree_countries:
description: 'Toll-free countries: multiple values should separated by a comma. For a list of allowed values, refer to the "ID" field in the [Toll Free Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#toll-free-countries) table.'
type: string
type:
description: Additional audio conferencing plan type.
type: string
type: object
plan_base:
description: Account base plan object.
properties:
hosts:
description: Account base plan number of hosts. For a Pro Plan please select a value between 1 and 9. For a Business Plan please select a value between 10 and 49. For a Education Plan please select a value between 20 and 149. For a Free Trial Plan please select a value between 1 and 9999.
type: integer
type:
description: Account base plan type.
type: string
required:
- type
- hosts
type: object
plan_large_meeting:
description: Additional large meeting Plans.
items:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
type: array
plan_phone:
description: Phone Plan Object
properties:
plan_base:
description: Additional phone base plans.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
type:
description: Additional phone base plan type.
type: string
type: object
plan_calling:
description: Additional phone calling plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone calling plan type.
type: string
type: object
type: array
plan_number:
description: Additional phone number plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone number plan type.
type: string
type: object
type: array
title: PhonePlan
type: object
plan_recording:
description: Additional cloud recording plan.
type: string
plan_room_connector:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
plan_webinar:
description: Additional webinar plans.
items:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
type: array
plan_zoom_rooms:
description: Account plan object.
properties:
hosts:
description: Account plan number of hosts.
type: integer
type:
description: Account plan type.
type: string
type: object
required:
- plan_base
type: object
AccountSettings:
properties:
email_notification:
description: "Account Settings: Notification."
properties:
alternative_host_reminder:
description: Notify when an alternative host is set or removed from a meeting.
type: boolean
cancel_meeting_reminder:
description: Notify the host and participants when a meeting is cancelled.
type: boolean
cloud_recording_avaliable_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify the host when participants join the meeting before them.
type: boolean
low_host_count_reminder:
description: Notify user when host licenses are running low.
type: boolean
schedule_for_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
feature:
description: "Account Settings: Feature."
properties:
meeting_capacity:
description: Set the maximum number of participants a host can have in a single meeting.
type: integer
type: object
in_meeting:
description: "Account Settings: In Meeting."
properties:
alert_guest_join:
description: Identify guest participants in a meeting or webinar.
type: boolean
allow_live_streaming:
description: Allow live streaming.
type: boolean
allow_participants_to_rename:
description: |
If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.
type: boolean
allow_show_zoom_windows:
description: "Show the Zoom desktop application when sharing screens. "
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
anonymous_question_answer:
description: Allow an anonymous Q&A in a webinar.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to the "auto-answer group" in the chat contact list. Any call from members of this group will automatically be answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send a message that is visible to all participants.
type: boolean
closed_caption:
description: "Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions. "
type: boolean
co_host:
description: Allow the host to add co-hosts.
type: boolean
custom_data_center_regions:
description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
custom_live_streaming_service:
description: Custom live streaming.
type: boolean
custom_service_instructions:
description: Custom service instructions.
type: string
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- EU
- HK
- AU
- IN
- TY
- CN
- US
- CA
items:
type: string
type: array
dscp_audio:
description: DSCP audio.
maximum: 63
minimum: 1
type: integer
dscp_marking:
description: DSCP marking.
type: boolean
dscp_video:
description: DSCP video.
maximum: 63
minimum: 1
type: integer
e2e_encryption:
description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.
enum:
- host
- all
- none
type: string
x-enum-descriptions:
- Heard by host only
- Heard by host and all attendees
- Disable
far_end_camera_control:
description: Allow another user to take control of your camera during a meeting.
type: boolean
feedback:
description: Add a "Feedback" tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.
type: boolean
group_hd:
description: |-
Activate higher quality video for host and participants.
Please note: This will use more bandwidth.
type: boolean
meeting_reactions:
description: |-
Enable or disable meeting reactions.
`true`: Allow meeting participants to communicate without interrupting by reacting with an emoji that shows on their video.
`false`: Do not enable meeting reactions.
type: boolean
original_audio:
description: Allow users to select original sound in their client settings.
type: boolean
p2p_connetion:
description: Peer to peer connection while only two people are in a meeting.
type: boolean
p2p_ports:
description: Peer to peer listening ports range.
type: boolean
polling:
description: Add "Polls" to the meeting controls.
type: boolean
ports_range:
default: ""
description: The listening ports range, separated by a comma (ex 55,56). The ports range must be between 1 to 65535.
type: string
post_meeting_feedback:
description: Display a thumbs up or down survey at the end of each meeting.
type: boolean
private_chat:
description: Allow a meeting participant to send a private message to another participant.
type: boolean
record_play_own_voice:
description: Record and play their own voice.
type: boolean
remote_control:
description: Allow users to request remote control.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the account or not.
type: boolean
screen_sharing:
description: Allow screen sharing.
type: boolean
sending_default_email_invites:
description: Only show the default email when sending email invites.
type: boolean
show_a_join_from_your_browser_link:
description: If the value of this field is set to `true`, you will allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is a workaround for participants who are unable to download, install, or run applications. Note that the meeting experience from the browser is limited.
type: boolean
show_meeting_control_toolbar:
description: Always show the meeting control toolbar.
type: boolean
stereo_audio:
description: Allow users to select stereo audio in their client settings.
type: boolean
use_html_format_email:
description: Use HTML formatted email for the Outlook plugin.
type: boolean
virtual_background:
description: Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow users to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
watermark:
description: Add a watermark when viewing a shared screen.
type: boolean
webinar_question_answer:
description: Allow a Q&A in a webinar.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
workplace_by_facebook:
description: Workplace by facebook.
type: boolean
type: object
integration:
description: "Account Settings: Integration."
properties:
box:
description: Enable users who join a meeting from their mobile device to share content from their Box account.
type: boolean
dropbox:
description: Enable users who join a meeting from their mobile device to share content from their Dropbox account.
type: boolean
google_calendar:
description: Enable meetings to be scheduled using Google Calendar.
type: boolean
google_drive:
description: Enable users who join a meeting from their mobile device to share content from their Google Drive.
type: boolean
kubi:
description: Enable users to control a connected Kubi device from within a Zoom meeting.
type: boolean
microsoft_one_drive:
description: Enable users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.
type: boolean
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
description: "Account Settings: Recording."
properties:
account_user_access_recording:
description: Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
type: boolean
allow_recovery_deleted_cloud_recordings:
description: |-
Allow recovery of deleted cloud recordings from trash.
If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.
type: boolean
archive:
description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team."
properties:
enable:
description: Enable the archiving feature.
type: boolean
settings:
properties:
audio_file:
description: Include in-meeting and/or in-webinar audio in the archive.
type: boolean
cc_transcript_file:
description: Include closed caption or transcript in the archive.
type: boolean
chat_file:
description: Include in-meeting chat in the archive.
type: boolean
chat_with_sender_email:
description: Include user email in in-meeting chat file.
type: boolean
video_file:
description: Include in-meeting and/or in-webinar video in the archive.
type: boolean
type: object
type:
description: |-
Archive types:
* `1`: Only meetings are archived.
* `2`: Only webinars are archived.
* `3`: Both meetings and webinars are archived.
enum:
- 1
- 2
- 3
type: integer
type: object
auto_delete_cmr:
description: Allow Zoom to permanantly delete recordings automatically after a specified number of days.
type: boolean
auto_delete_cmr_days:
description: When `auto_delete_cmr` function is 'true' this value will set the number of days before the auto deletion of cloud recordings.
type: integer
auto_recording:
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record on local
- Record on cloud
- Disabled
cloud_recording:
description: Allow hosts to record and save the meeting in the cloud.
type: boolean
cloud_recording_download:
description: Cloud recording downloads.
type: boolean
cloud_recording_download_host:
description: Only the host can download cloud recordings.
type: boolean
host_delete_cloud_recording:
description: |
If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting using a local file.
type: boolean
prevent_host_access_recording:
description: |
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
record_audio_file:
description: Record an audio only file.
type: boolean
record_gallery_view:
description: Record the gallery view with a shared screen.
type: boolean
record_speaker_view:
description: Record the active speaker with a shared screen.
type: boolean
recording_audio_transcript:
description: Automatically transcribe the audio of the meeting or webinar to the cloud.
type: boolean
recording_disclaimer:
description: |
Show a disclaimer to participants before a recording starts
type: boolean
recording_password_requirement:
description: This object represents the minimum password requirements set for recordings via Account Recording Settings.
properties:
have_letter:
description: Indicates whether or not password must contain at least one alphabetical letter (a, b, c..).
type: boolean
have_number:
description: Indicates whether or not password must contain at least one number(1, 2, 3..).
type: boolean
have_special_character:
description: "Indicates whether or not password must contain at least one special character(!, @, #..)."
type: boolean
length:
description: Minimum required length for the password.
maximum: 10
type: integer
only_allow_numeric:
description: Indicates whether or not password must contain only numeric characters.
type: boolean
type: object
required_password_for_existing_cloud_recordings:
description: Require a passcode to access existing cloud recordings.
type: boolean
save_chat_text:
description: Save the chat text from the meeting.
type: boolean
show_timestamp:
description: Add a timestamp to the recording.
type: boolean
type: object
schedule_meeting:
description: "Account Settings: Schedule Meeting."
properties:
audio_type:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.
enum:
- both
- telephony
- voip
- thirdParty
type: string
x-enum-descriptions:
- Telephony and VoIP
- Audio PSTN telephony only
- VoIP only
- 3rd party audio conference
enforce_login:
description: Only Zoom users who are signed in can join meetings.
type: boolean
enforce_login_domains:
description: "Only signed in users with a specified domain can join the meeting. "
type: string
enforce_login_with_domains:
description: Only signed in users with a specific domain can join meetings.
type: boolean
force_pmi_jbh_password:
description: Require a password for Personal Meetings if attendees can join before host.
type: boolean
host_video:
description: Start meetings with the host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives.
type: boolean
meeting_password_requirement:
description: Account wide meeting/webinar [password requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the password must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the password must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the password must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the password must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar password needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the password must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided password is weak.
type: boolean
type: object
not_store_meeting_topic:
description: Always display "Zoom Meeting" as the meeting topic.
type: boolean
participant_video:
description: Start meetings with the participant video on. Participants can change this setting during the meeting.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
require_password_for_instant_meetings:
description: |
Require a password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: |
Require a password for a meeting held using Personal Meeting ID (PMI) This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
enum:
- jbh_only
- all
- none
type: string
x-enum-descriptions:
- Only meetings with Join Before Host enabled
- All meetings using PMI
- Disabled
require_password_for_scheduled_meetings:
description: |
Require a password for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: Require a password when scheduling new meetings. This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
use_pmi_for_instant_meetings:
description: |
Use Personal Meeting ID (PMI) when starting an instant meeting
type: boolean
use_pmi_for_scheduled_meetings:
description: |
Use Personal Meeting ID (PMI) when scheduling a meeting
type: boolean
type: object
security:
description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
properties:
admin_change_name_pic:
description: Only account administrators can change a user's username and picture.
type: boolean
hide_billing_info:
description: Hide billing information.
type: boolean
import_photos_from_devices:
description: Allow users to import photos from a photo library on a device.
type: boolean
password_requirement:
description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
properties:
consecutive_characters_length:
description: |-
Specify the max length of consecutive characters(abcde...) that can be used in a password.
If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
type: integer
have_special_character:
description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
type: boolean
minimum_password_length:
description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
maximum: 14
minimum: 8
type: integer
weak_enhance_detection:
description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
type: boolean
type: object
sign_again_period_for_inactivity_on_client:
description: |
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`45`: 45 minutes
`60`: 60 minutes
`90`: 90 minutes
`120`: 120 minutes
type: integer
sign_again_period_for_inactivity_on_web:
description: |+
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`60`: 60 minutes
`120`: 120 minutes
type: integer
sign_in_with_two_factor_auth:
description: |
Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
`all`: Two factor authentication will be enabled for all users in the account.
`none`: Two factor authentication is disabled.
`group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
`role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
`sign_in_with_two_factor_auth_roles` field.
enum:
- all
- group
- role
- none
type: string
sign_in_with_two_factor_auth_groups:
description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
items:
type: string
type: array
sign_in_with_two_factor_auth_roles:
description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
items:
type: string
type: array
type: object
telephony:
description: "Account Settings: Telephony."
properties:
audio_conference_info:
description: Third party audio conference info.
type: string
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
allowed_values:
description: Telephony region options provided by Zoom to select from.
items:
type: string
type: array
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Users can join the meeting using the existing third party audio configuration.
type: boolean
type: object
tsp:
description: "Account Settings: TSP."
properties:
call_out:
description: Call Out
type: boolean
call_out_countries:
description: Call Out Countries/Regions
items: {}
type: array
display_toll_free_numbers:
description: Display toll-free numbers
type: boolean
show_international_numbers_link:
description: Show international numbers link on the invitation email
type: boolean
type: object
zoom_rooms:
description: "Account Settings: Zoom Rooms."
properties:
auto_start_stop_scheduled_meetings:
description: Automatic start and stop for scheduled meetings.
type: boolean
cmr_for_instant_meeting:
description: Cloud recording for instant meetings.
type: boolean
force_private_meeting:
description: Shift all meetings to private.
type: boolean
hide_host_information:
description: Hide host and meeting ID from private meetings.
type: boolean
list_meetings_with_calendar:
description: Display meeting list with calendar integration.
type: boolean
start_airplay_manually:
description: Start AirPlay service manually.
type: boolean
ultrasonic:
description: Automatic direct sharing using an ultrasonic proximity signal.
type: boolean
upcoming_meeting_alert:
description: Upcoming meeting alert.
type: boolean
weekly_system_restart:
description: Weekly system restart.
type: boolean
zr_post_meeting_feedback:
description: Zoom Room post meeting feedback.
type: boolean
type: object
title: Account settings
type: object
AccountSettingsAuthentication:
oneOf:
- properties:
authentication_options:
description: Meeting Authentication Options
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
- properties:
authentication_options:
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: Authentication type
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
title: AccountSettingsAuthentication
type: object
AccountSettingsAuthenticationUpdate:
oneOf:
- description: Set/ update [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars).
The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
properties:
authentication_option:
description: Meeting Authentication Options
properties:
action:
description: |-
Specify the action that you would like to take via this API request:
* `add` : Choose this value if you are adding an authentication option.
* `update`: Choose this value if you are updating an existing authentication option.
* `delete`: Choose this value if you are deleting an existing authentication option.
enum:
- update
- delete
- add
type: string
default_option:
description: Specify whether you would like to set this authentication option as the default option or not.
type: boolean
domains:
description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to join your meetings or webinars. "
type: string
id:
description: |2-
Authentication ID. If you are creating an authentication profile, you do not need to provide this field. The id field will be generated in the response once this API request is completed successfully. You can also use the Get Account Settings API with query parameter set to `meeting_authentication` to list the authentication id.
Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.
type: string
name:
description: Unique name for the authentication option.
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
type: object
meeting_authentication:
description: 'If set to "true", only authenticated users can join meetings. The method for authentication can be defined in the "authentication_option". '
type: boolean
- description: Set/Update [authentication profile for Cloud Recordings](https://support.zoom.us/hc/en-us/articles/360037756671-Authentication-Profiles-for-Cloud-Recordings).
properties:
authentication_option:
description: Specify the authentication options for this account.
properties:
action:
description: |-
Specify the action that you would like to take via this API request:
* `add` : Choose this value if you are adding an authentication option.
* `update`: Choose this value if you are updating an existing authentication option.
* `delete`: Choose this value if you are deleting an existing authentication option.
enum:
- update
- delete
- add
type: string
default_option:
description: Specify whether you would like to set this authentication option as the default option or not.
type: boolean
domains:
description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to view the recordings. "
type: string
id:
description: |2-
Authentication ID. If you are creating an authentication profile, you do not need to provide this field. The id field will be generated in the response once this API request is completed successfully. You can also use the Get Account Settings API with query parameter set to `meeting_authentication` to list the authentication id.
Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.
type: string
name:
description: Unique name for the authentication option.
type: string
type:
description: |+
Specify one authentication type that is to be associated with this authentication configuration:
* `internally`: This option allows you specify a rule that only signed in users within your account can view the recording.
* `enforce_login`: This option allows any users to view the recording, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can view the recording. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
type: object
recording_authentication:
description: |-
If set to `true`, only authenticated users can view the cloud recordings.
The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
type: boolean
title: AccountSettingsAuthenticationUpdate
type: object
AccountSettingsEmailNotification:
description: "Account Settings: Notification."
properties:
alternative_host_reminder:
description: Notify when an alternative host is set or removed from a meeting.
type: boolean
cancel_meeting_reminder:
description: Notify the host and participants when a meeting is cancelled.
type: boolean
cloud_recording_avaliable_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify the host when participants join the meeting before them.
type: boolean
low_host_count_reminder:
description: Notify user when host licenses are running low.
type: boolean
schedule_for_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
AccountSettingsFeature:
description: "Account Settings: Feature."
properties:
meeting_capacity:
description: Set the maximum number of participants a host can have in a single meeting.
type: integer
type: object
AccountSettingsInMeeting:
description: "Account Settings: In Meeting."
properties:
alert_guest_join:
description: Identify guest participants in a meeting or webinar.
type: boolean
allow_live_streaming:
description: Allow live streaming.
type: boolean
allow_participants_to_rename:
description: |
If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.
type: boolean
allow_show_zoom_windows:
description: "Show the Zoom desktop application when sharing screens. "
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
anonymous_question_answer:
description: Allow an anonymous Q&A in a webinar.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to the "auto-answer group" in the chat contact list. Any call from members of this group will automatically be answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send a message that is visible to all participants.
type: boolean
closed_caption:
description: "Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions. "
type: boolean
co_host:
description: Allow the host to add co-hosts.
type: boolean
custom_data_center_regions:
description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
custom_live_streaming_service:
description: Custom live streaming.
type: boolean
custom_service_instructions:
description: Custom service instructions.
type: string
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- EU
- HK
- AU
- IN
- TY
- CN
- US
- CA
items:
type: string
type: array
dscp_audio:
description: DSCP audio.
maximum: 63
minimum: 1
type: integer
dscp_marking:
description: DSCP marking.
type: boolean
dscp_video:
description: DSCP video.
maximum: 63
minimum: 1
type: integer
e2e_encryption:
description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.
enum:
- host
- all
- none
type: string
x-enum-descriptions:
- Heard by host only
- Heard by host and all attendees
- Disable
far_end_camera_control:
description: Allow another user to take control of your camera during a meeting.
type: boolean
feedback:
description: Add a "Feedback" tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.
type: boolean
group_hd:
description: |-
Activate higher quality video for host and participants.
Please note: This will use more bandwidth.
type: boolean
meeting_reactions:
description: |-
Enable or disable meeting reactions.
`true`: Allow meeting participants to communicate without interrupting by reacting with an emoji that shows on their video.
`false`: Do not enable meeting reactions.
type: boolean
original_audio:
description: Allow users to select original sound in their client settings.
type: boolean
p2p_connetion:
description: Peer to peer connection while only two people are in a meeting.
type: boolean
p2p_ports:
description: Peer to peer listening ports range.
type: boolean
polling:
description: Add "Polls" to the meeting controls.
type: boolean
ports_range:
default: ""
description: The listening ports range, separated by a comma (ex 55,56). The ports range must be between 1 to 65535.
type: string
post_meeting_feedback:
description: Display a thumbs up or down survey at the end of each meeting.
type: boolean
private_chat:
description: Allow a meeting participant to send a private message to another participant.
type: boolean
record_play_own_voice:
description: Record and play their own voice.
type: boolean
remote_control:
description: Allow users to request remote control.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the account or not.
type: boolean
screen_sharing:
description: Allow screen sharing.
type: boolean
sending_default_email_invites:
description: Only show the default email when sending email invites.
type: boolean
show_a_join_from_your_browser_link:
description: If the value of this field is set to `true`, you will allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is a workaround for participants who are unable to download, install, or run applications. Note that the meeting experience from the browser is limited.
type: boolean
show_meeting_control_toolbar:
description: Always show the meeting control toolbar.
type: boolean
stereo_audio:
description: Allow users to select stereo audio in their client settings.
type: boolean
use_html_format_email:
description: Use HTML formatted email for the Outlook plugin.
type: boolean
virtual_background:
description: Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow users to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
watermark:
description: Add a watermark when viewing a shared screen.
type: boolean
webinar_question_answer:
description: Allow a Q&A in a webinar.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
workplace_by_facebook:
description: Workplace by facebook.
type: boolean
type: object
AccountSettingsIntegration:
description: "Account Settings: Integration."
properties:
box:
description: Enable users who join a meeting from their mobile device to share content from their Box account.
type: boolean
dropbox:
description: Enable users who join a meeting from their mobile device to share content from their Dropbox account.
type: boolean
google_calendar:
description: Enable meetings to be scheduled using Google Calendar.
type: boolean
google_drive:
description: Enable users who join a meeting from their mobile device to share content from their Google Drive.
type: boolean
kubi:
description: Enable users to control a connected Kubi device from within a Zoom meeting.
type: boolean
microsoft_one_drive:
description: Enable users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.
type: boolean
type: object
AccountSettingsRecording:
description: "Account Settings: Recording."
properties:
account_user_access_recording:
description: Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
type: boolean
allow_recovery_deleted_cloud_recordings:
description: |-
Allow recovery of deleted cloud recordings from trash.
If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.
type: boolean
archive:
description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team."
properties:
enable:
description: Enable the archiving feature.
type: boolean
settings:
properties:
audio_file:
description: Include in-meeting and/or in-webinar audio in the archive.
type: boolean
cc_transcript_file:
description: Include closed caption or transcript in the archive.
type: boolean
chat_file:
description: Include in-meeting chat in the archive.
type: boolean
chat_with_sender_email:
description: Include user email in in-meeting chat file.
type: boolean
video_file:
description: Include in-meeting and/or in-webinar video in the archive.
type: boolean
type: object
type:
description: |-
Archive types:
* `1`: Only meetings are archived.
* `2`: Only webinars are archived.
* `3`: Both meetings and webinars are archived.
enum:
- 1
- 2
- 3
type: integer
type: object
auto_delete_cmr:
description: Allow Zoom to permanantly delete recordings automatically after a specified number of days.
type: boolean
auto_delete_cmr_days:
description: When `auto_delete_cmr` function is 'true' this value will set the number of days before the auto deletion of cloud recordings.
type: integer
auto_recording:
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record on local
- Record on cloud
- Disabled
cloud_recording:
description: Allow hosts to record and save the meeting in the cloud.
type: boolean
cloud_recording_download:
description: Cloud recording downloads.
type: boolean
cloud_recording_download_host:
description: Only the host can download cloud recordings.
type: boolean
host_delete_cloud_recording:
description: |
If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting using a local file.
type: boolean
prevent_host_access_recording:
description: |
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
record_audio_file:
description: Record an audio only file.
type: boolean
record_gallery_view:
description: Record the gallery view with a shared screen.
type: boolean
record_speaker_view:
description: Record the active speaker with a shared screen.
type: boolean
recording_audio_transcript:
description: Automatically transcribe the audio of the meeting or webinar to the cloud.
type: boolean
recording_disclaimer:
description: |
Show a disclaimer to participants before a recording starts
type: boolean
recording_password_requirement:
description: This object represents the minimum password requirements set for recordings via Account Recording Settings.
properties:
have_letter:
description: Indicates whether or not password must contain at least one alphabetical letter (a, b, c..).
type: boolean
have_number:
description: Indicates whether or not password must contain at least one number(1, 2, 3..).
type: boolean
have_special_character:
description: "Indicates whether or not password must contain at least one special character(!, @, #..)."
type: boolean
length:
description: Minimum required length for the password.
maximum: 10
type: integer
only_allow_numeric:
description: Indicates whether or not password must contain only numeric characters.
type: boolean
type: object
required_password_for_existing_cloud_recordings:
description: Require a passcode to access existing cloud recordings.
type: boolean
save_chat_text:
description: Save the chat text from the meeting.
type: boolean
show_timestamp:
description: Add a timestamp to the recording.
type: boolean
type: object
AccountSettingsRecordingAuthenticationUpdate:
description: |-
Only authenticated users can view cloud recordings
The viewers need to authenticate prior to viewing the cloud recordings, hosts can choose one of the authentication methods when sharing a cloud recording.
properties:
authentication_option:
properties:
action:
enum:
- update
- add
- delete
type: string
default_option:
type: boolean
domains:
type: string
id:
type: string
name:
type: string
type:
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
type: object
recording_authentication:
type: boolean
title: AccountSettingsRecordingAuthenticationUpdate
type: object
AccountSettingsScheduleMeeting:
description: "Account Settings: Schedule Meeting."
properties:
audio_type:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.
enum:
- both
- telephony
- voip
- thirdParty
type: string
x-enum-descriptions:
- Telephony and VoIP
- Audio PSTN telephony only
- VoIP only
- 3rd party audio conference
enforce_login:
description: Only Zoom users who are signed in can join meetings.
type: boolean
enforce_login_domains:
description: "Only signed in users with a specified domain can join the meeting. "
type: string
enforce_login_with_domains:
description: Only signed in users with a specific domain can join meetings.
type: boolean
force_pmi_jbh_password:
description: Require a password for Personal Meetings if attendees can join before host.
type: boolean
host_video:
description: Start meetings with the host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives.
type: boolean
meeting_password_requirement:
description: Account wide meeting/webinar [password requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the password must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the password must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the password must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the password must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar password needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the password must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided password is weak.
type: boolean
type: object
not_store_meeting_topic:
description: Always display "Zoom Meeting" as the meeting topic.
type: boolean
participant_video:
description: Start meetings with the participant video on. Participants can change this setting during the meeting.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
require_password_for_instant_meetings:
description: |
Require a password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: |
Require a password for a meeting held using Personal Meeting ID (PMI) This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
enum:
- jbh_only
- all
- none
type: string
x-enum-descriptions:
- Only meetings with Join Before Host enabled
- All meetings using PMI
- Disabled
require_password_for_scheduled_meetings:
description: |
Require a password for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: Require a password when scheduling new meetings. This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
use_pmi_for_instant_meetings:
description: |
Use Personal Meeting ID (PMI) when starting an instant meeting
type: boolean
use_pmi_for_scheduled_meetings:
description: |
Use Personal Meeting ID (PMI) when scheduling a meeting
type: boolean
type: object
AccountSettingsSecurity:
description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
properties:
admin_change_name_pic:
description: Only account administrators can change a user's username and picture.
type: boolean
hide_billing_info:
description: Hide billing information.
type: boolean
import_photos_from_devices:
description: Allow users to import photos from a photo library on a device.
type: boolean
password_requirement:
description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
properties:
consecutive_characters_length:
description: |-
Specify the max length of consecutive characters(abcde...) that can be used in a password.
If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
type: integer
have_special_character:
description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
type: boolean
minimum_password_length:
description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
maximum: 14
minimum: 8
type: integer
weak_enhance_detection:
description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
type: boolean
type: object
sign_again_period_for_inactivity_on_client:
description: |
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`45`: 45 minutes
`60`: 60 minutes
`90`: 90 minutes
`120`: 120 minutes
type: integer
sign_again_period_for_inactivity_on_web:
description: |+
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`60`: 60 minutes
`120`: 120 minutes
type: integer
sign_in_with_two_factor_auth:
description: |
Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
`all`: Two factor authentication will be enabled for all users in the account.
`none`: Two factor authentication is disabled.
`group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
`role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
`sign_in_with_two_factor_auth_roles` field.
enum:
- all
- group
- role
- none
type: string
sign_in_with_two_factor_auth_groups:
description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
items:
type: string
type: array
sign_in_with_two_factor_auth_roles:
description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
items:
type: string
type: array
type: object
AccountSettingsTSP:
description: "Account Settings: TSP."
properties:
call_out:
description: Call Out
type: boolean
call_out_countries:
description: Call Out Countries/Regions
items: {}
type: array
display_toll_free_numbers:
description: Display toll-free numbers
type: boolean
show_international_numbers_link:
description: Show international numbers link on the invitation email
type: boolean
type: object
AccountSettingsTelephony:
description: "Account Settings: Telephony."
properties:
audio_conference_info:
description: Third party audio conference info.
type: string
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
allowed_values:
description: Telephony region options provided by Zoom to select from.
items:
type: string
type: array
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Users can join the meeting using the existing third party audio configuration.
type: boolean
type: object
AccountSettingsUpdateTelephony:
description: "Account Settings Update: Telephony."
properties:
audio_conference_info:
description: Third party audio conference info.
type: string
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Users can join the meeting using the existing third party audio configuration.
type: boolean
type: object
AccountSettingsZoomRooms:
description: "Account Settings: Zoom Rooms."
properties:
auto_start_stop_scheduled_meetings:
description: Automatic start and stop for scheduled meetings.
type: boolean
cmr_for_instant_meeting:
description: Cloud recording for instant meetings.
type: boolean
force_private_meeting:
description: Shift all meetings to private.
type: boolean
hide_host_information:
description: Hide host and meeting ID from private meetings.
type: boolean
list_meetings_with_calendar:
description: Display meeting list with calendar integration.
type: boolean
start_airplay_manually:
description: Start AirPlay service manually.
type: boolean
ultrasonic:
description: Automatic direct sharing using an ultrasonic proximity signal.
type: boolean
upcoming_meeting_alert:
description: Upcoming meeting alert.
type: boolean
weekly_system_restart:
description: Weekly system restart.
type: boolean
zr_post_meeting_feedback:
description: Zoom Room post meeting feedback.
type: boolean
type: object
AccountUpdateSettings:
properties:
email_notification:
description: "Account Settings: Notification."
properties:
alternative_host_reminder:
description: Notify when an alternative host is set or removed from a meeting.
type: boolean
cancel_meeting_reminder:
description: Notify the host and participants when a meeting is cancelled.
type: boolean
cloud_recording_avaliable_reminder:
description: Notify host when cloud recording is available.
type: boolean
jbh_reminder:
description: Notify the host when participants join the meeting before them.
type: boolean
low_host_count_reminder:
description: Notify user when host licenses are running low.
type: boolean
schedule_for_reminder:
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
type: object
feature:
description: "Account Settings: Feature."
properties:
meeting_capacity:
description: Set the maximum number of participants a host can have in a single meeting.
type: integer
type: object
in_meeting:
description: "Account Settings: In Meeting."
properties:
alert_guest_join:
description: Identify guest participants in a meeting or webinar.
type: boolean
allow_live_streaming:
description: Allow live streaming.
type: boolean
allow_participants_to_rename:
description: |
If the value of this field is set to `true`, meeting participants and webinar panelists can be allowed to rename themselves during a meeting or a webinar.
type: boolean
allow_show_zoom_windows:
description: "Show the Zoom desktop application when sharing screens. "
type: boolean
annotation:
description: Allow participants to use annotation tools to add information to shared screens.
type: boolean
anonymous_question_answer:
description: Allow an anonymous Q&A in a webinar.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_answer:
description: Enable users to see and add contacts to the "auto-answer group" in the chat contact list. Any call from members of this group will automatically be answered.
type: boolean
auto_saving_chat:
description: Automatically save all in-meeting chats so that the host does not need to manually save the chat transcript after the meeting starts.
type: boolean
breakout_room:
description: Allow host to split meeting participants into separate, smaller rooms.
type: boolean
chat:
description: Allow meeting participants to send a message that is visible to all participants.
type: boolean
closed_caption:
description: "Allow a host to type closed captions. Enable a host to assign a participant or third party device to add closed captions. "
type: boolean
co_host:
description: Allow the host to add co-hosts.
type: boolean
custom_data_center_regions:
description: If set to `true`, account owners and admins on paid accounts can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting their real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
custom_live_streaming_service:
description: Custom live streaming.
type: boolean
custom_service_instructions:
description: Custom service instructions.
type: string
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["EU", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- EU
- HK
- AU
- IN
- TY
- CN
- US
- CA
items:
type: string
type: array
dscp_audio:
description: DSCP audio.
maximum: 63
minimum: 1
type: integer
dscp_marking:
description: DSCP marking.
type: boolean
dscp_video:
description: DSCP video.
maximum: 63
minimum: 1
type: integer
e2e_encryption:
description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
type: boolean
entry_exit_chime:
description: Play sound when participants join or leave. `host` - Heard by host only. `all` - Heard by host and all attendees. `none` - Disable.
enum:
- host
- all
- none
type: string
x-enum-descriptions:
- Heard by host only
- Heard by host and all attendees
- Disable
far_end_camera_control:
description: Allow another user to take control of your camera during a meeting.
type: boolean
feedback:
description: Add a "Feedback" tab to the Windows Settings or Mac Preferences dialog. Enable users to provide feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled on the account or not.
type: boolean
group_hd:
description: |-
Activate higher quality video for host and participants.
Please note: This will use more bandwidth.
type: boolean
meeting_reactions:
description: |-
Enable or disable meeting reactions.
`true`: Allow meeting participants to communicate without interrupting by reacting with an emoji that shows on their video.
`false`: Do not enable meeting reactions.
type: boolean
original_audio:
description: Allow users to select original sound in their client settings.
type: boolean
p2p_connetion:
description: Peer to peer connection while only two people are in a meeting.
type: boolean
p2p_ports:
description: Peer to peer listening ports range.
type: boolean
polling:
description: Add "Polls" to the meeting controls.
type: boolean
ports_range:
default: ""
description: The listening ports range, separated by a comma (ex 55,56). The ports range must be between 1 to 65535.
type: string
post_meeting_feedback:
description: Display a thumbs up or down survey at the end of each meeting.
type: boolean
private_chat:
description: Allow a meeting participant to send a private message to another participant.
type: boolean
record_play_own_voice:
description: Record and play their own voice.
type: boolean
remote_control:
description: Allow users to request remote control.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the account or not.
type: boolean
screen_sharing:
description: Allow screen sharing.
type: boolean
sending_default_email_invites:
description: Only show the default email when sending email invites.
type: boolean
show_a_join_from_your_browser_link:
description: If the value of this field is set to `true`, you will allow participants to join a meeting directly from their browser and bypass the Zoom application download process. This is a workaround for participants who are unable to download, install, or run applications. Note that the meeting experience from the browser is limited.
type: boolean
show_meeting_control_toolbar:
description: Always show the meeting control toolbar.
type: boolean
stereo_audio:
description: Allow users to select stereo audio in their client settings.
type: boolean
use_html_format_email:
description: Use HTML formatted email for the Outlook plugin.
type: boolean
virtual_background:
description: Allow users to replace their background with any selected image. Choose or upload an image in the Zoom desktop application settings.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow users to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
watermark:
description: Add a watermark when viewing a shared screen.
type: boolean
webinar_question_answer:
description: Allow a Q&A in a webinar.
type: boolean
whiteboard:
description: Allow participants to share a whiteboard that includes annotation tools.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
workplace_by_facebook:
description: Workplace by facebook.
type: boolean
type: object
integration:
description: "Account Settings: Integration."
properties:
box:
description: Enable users who join a meeting from their mobile device to share content from their Box account.
type: boolean
dropbox:
description: Enable users who join a meeting from their mobile device to share content from their Dropbox account.
type: boolean
google_calendar:
description: Enable meetings to be scheduled using Google Calendar.
type: boolean
google_drive:
description: Enable users who join a meeting from their mobile device to share content from their Google Drive.
type: boolean
kubi:
description: Enable users to control a connected Kubi device from within a Zoom meeting.
type: boolean
microsoft_one_drive:
description: Enable users who join a meeting from their mobile device to share content from their Microsoft OneDrive account.
type: boolean
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
description: "Account Settings: Recording."
properties:
account_user_access_recording:
description: Cloud recordings are only accessible to account members. People outside of your organization cannot open links that provide access to cloud recordings.
type: boolean
allow_recovery_deleted_cloud_recordings:
description: |-
Allow recovery of deleted cloud recordings from trash.
If the value of this field is set to `true`, deleted cloud recordings will be kept in trash for 30 days after deletion and can be recovered within that period.
type: boolean
archive:
description: "[Archiving solution](https://support.zoom.us/hc/en-us/articles/360050431572-Archiving-Meeting-and-Webinar-data) settings. This setting can only be used if you have been granted with archiving solution access by the Zoom support team."
properties:
enable:
description: Enable the archiving feature.
type: boolean
settings:
properties:
audio_file:
description: Include in-meeting and/or in-webinar audio in the archive.
type: boolean
cc_transcript_file:
description: Include closed caption or transcript in the archive.
type: boolean
chat_file:
description: Include in-meeting chat in the archive.
type: boolean
chat_with_sender_email:
description: Include user email in in-meeting chat file.
type: boolean
video_file:
description: Include in-meeting and/or in-webinar video in the archive.
type: boolean
type: object
type:
description: |-
Archive types:
* `1`: Only meetings are archived.
* `2`: Only webinars are archived.
* `3`: Both meetings and webinars are archived.
enum:
- 1
- 2
- 3
type: integer
type: object
auto_delete_cmr:
description: Allow Zoom to permanantly delete recordings automatically after a specified number of days.
type: boolean
auto_delete_cmr_days:
description: When `auto_delete_cmr` function is 'true' this value will set the number of days before the auto deletion of cloud recordings.
type: integer
auto_recording:
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record on local
- Record on cloud
- Disabled
cloud_recording:
description: Allow hosts to record and save the meeting in the cloud.
type: boolean
cloud_recording_download:
description: Cloud recording downloads.
type: boolean
cloud_recording_download_host:
description: Only the host can download cloud recordings.
type: boolean
host_delete_cloud_recording:
description: |
If the value of this field is set to `true`, hosts will be able to delete the recordings. If this option is set to `false`, the recordings cannot be deleted by the host and only admin can delete them.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Allow hosts and participants to record the meeting using a local file.
type: boolean
prevent_host_access_recording:
description: |
If set to `true`, meeting hosts cannot view their meeting cloud recordings. Only the admins who have recording management privilege can access them.
type: boolean
record_audio_file:
description: Record an audio only file.
type: boolean
record_gallery_view:
description: Record the gallery view with a shared screen.
type: boolean
record_speaker_view:
description: Record the active speaker with a shared screen.
type: boolean
recording_audio_transcript:
description: Automatically transcribe the audio of the meeting or webinar to the cloud.
type: boolean
recording_disclaimer:
description: |
Show a disclaimer to participants before a recording starts
type: boolean
recording_password_requirement:
description: This object represents the minimum password requirements set for recordings via Account Recording Settings.
properties:
have_letter:
description: Indicates whether or not password must contain at least one alphabetical letter (a, b, c..).
type: boolean
have_number:
description: Indicates whether or not password must contain at least one number(1, 2, 3..).
type: boolean
have_special_character:
description: "Indicates whether or not password must contain at least one special character(!, @, #..)."
type: boolean
length:
description: Minimum required length for the password.
maximum: 10
type: integer
only_allow_numeric:
description: Indicates whether or not password must contain only numeric characters.
type: boolean
type: object
required_password_for_existing_cloud_recordings:
description: Require a passcode to access existing cloud recordings.
type: boolean
save_chat_text:
description: Save the chat text from the meeting.
type: boolean
show_timestamp:
description: Add a timestamp to the recording.
type: boolean
type: object
schedule_meeting:
description: "Account Settings: Schedule Meeting."
properties:
audio_type:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - 3rd party audio conference.
enum:
- both
- telephony
- voip
- thirdParty
type: string
x-enum-descriptions:
- Telephony and VoIP
- Audio PSTN telephony only
- VoIP only
- 3rd party audio conference
enforce_login:
description: Only Zoom users who are signed in can join meetings.
type: boolean
enforce_login_domains:
description: "Only signed in users with a specified domain can join the meeting. "
type: string
enforce_login_with_domains:
description: Only signed in users with a specific domain can join meetings.
type: boolean
force_pmi_jbh_password:
description: Require a password for Personal Meetings if attendees can join before host.
type: boolean
host_video:
description: Start meetings with the host video on.
type: boolean
join_before_host:
description: Allow participants to join the meeting before the host arrives.
type: boolean
meeting_password_requirement:
description: Account wide meeting/webinar [password requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the password must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the password must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the password must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the password must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar password needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the password must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided password is weak.
type: boolean
type: object
not_store_meeting_topic:
description: Always display "Zoom Meeting" as the meeting topic.
type: boolean
participant_video:
description: Start meetings with the participant video on. Participants can change this setting during the meeting.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
require_password_for_instant_meetings:
description: |
Require a password for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: |
Require a password for a meeting held using Personal Meeting ID (PMI) This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
enum:
- jbh_only
- all
- none
type: string
x-enum-descriptions:
- Only meetings with Join Before Host enabled
- All meetings using PMI
- Disabled
require_password_for_scheduled_meetings:
description: |
Require a password for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: Require a password when scheduling new meetings. This setting applies for regular meetings that do not use PMI. If enabled, a password will be generated while a host schedules a new meeting and participants will be required to enter the password before they can join the meeting. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
use_pmi_for_instant_meetings:
description: |
Use Personal Meeting ID (PMI) when starting an instant meeting
type: boolean
use_pmi_for_scheduled_meetings:
description: |
Use Personal Meeting ID (PMI) when scheduling a meeting
type: boolean
type: object
security:
description: "[Security settings](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) of an Account."
properties:
admin_change_name_pic:
description: Only account administrators can change a user's username and picture.
type: boolean
hide_billing_info:
description: Hide billing information.
type: boolean
import_photos_from_devices:
description: Allow users to import photos from a photo library on a device.
type: boolean
password_requirement:
description: "This object refers to the [enhanced password rules](https://support.zoom.us/hc/en-us/articles/360034675592-Advanced-security-settings#h_bf8a25f6-9a66-447a-befd-f02ed3404f89) that allows Zoom account admins and owners to apply extra requiremets to the users' Zoom login password. "
properties:
consecutive_characters_length:
description: |-
Specify the max length of consecutive characters(abcde...) that can be used in a password.
If you set the value of this field to `0`, no restriction will be applied on consecutive characters.
If you would like to set this restriction, you can specify a number between 4 and 8 that define the maximum allowed length for consecutive characters in a password.
The max allowed length will be `n-1` where `n` refers to the value you provide for this field. For instance, if you provide `4` as the value, there can only be a maximum of `3` consecutive characters in a password(example: abc1x@8fdh).
type: integer
have_special_character:
description: "If the value of this field is set to `true`, the password must have at least one special character(!, @, #...)."
type: boolean
minimum_password_length:
description: Specify a minimum length for the password. The password length can be from a minimum of 9 characters, up to 14 characters. If you provide `0` as the value of this field, this field will be disabled and not be used and the basic password length requirement (minimum of 8 characters) will be applied for the requirement.
maximum: 14
minimum: 8
type: integer
weak_enhance_detection:
description: If the value of this field is set to `true`, user passwords will have to pass detection through a weak password dictionary in case hackers use simple passwords to sign in to your users’ accounts.
type: boolean
type: object
sign_again_period_for_inactivity_on_client:
description: |
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Client app after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Client. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`45`: 45 minutes
`60`: 60 minutes
`90`: 90 minutes
`120`: 120 minutes
type: integer
sign_again_period_for_inactivity_on_web:
description: |+
Settings for User Sign In interval requirements after a period of inactivity. If enabled, this setting forces automatic logout of users in Zoom Web Portal after a set amount of time.
If this setting is disabled, the value of this field will be `0`. If the setting is enabled, the value of this field will indicate the **period of inactivity** in minutes after which, an inactive user will be automatically logged out of the Zoom Web Portal. The value for the period of inactivity can be one of the following:
`5`: 5 minutes
`10`: 10 minutes
`15`: 15 minutes
`30`: 30 minutes
`60`: 60 minutes
`120`: 120 minutes
type: integer
sign_in_with_two_factor_auth:
description: |
Settings for 2FA( [two factor authentication](https://support.zoom.us/hc/en-us/articles/360038247071) ). The value can be one of the following:
`all`: Two factor authentication will be enabled for all users in the account.
`none`: Two factor authentication is disabled.
`group`: Two factor authentication will be enabled for users belonging to specific groups. If 2FA is enabled for certain groups, the group IDs of the group(s) will be provided in the `sign_in_with_two_factor_auth_groups` field.
`role`: Two factor authentication will be enabled only for users assigned with specific roles in the account. If 2FA is enabled for specific roles, the role IDs will be provided in the
`sign_in_with_two_factor_auth_roles` field.
enum:
- all
- group
- role
- none
type: string
sign_in_with_two_factor_auth_groups:
description: This field contains group IDs of groups that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `group`
items:
type: string
type: array
sign_in_with_two_factor_auth_roles:
description: This field contains role IDs of roles that have 2FA enabled. This field is only returned if the value of `sign_in_with_two_factor_auth` is `role`.
items:
type: string
type: array
type: object
telephony:
description: "Account Settings Update: Telephony."
properties:
audio_conference_info:
description: Third party audio conference info.
type: string
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Users can join the meeting using the existing third party audio configuration.
type: boolean
type: object
tsp:
description: "Account Settings: TSP."
properties:
call_out:
description: Call Out
type: boolean
call_out_countries:
description: Call Out Countries/Regions
items: {}
type: array
display_toll_free_numbers:
description: Display toll-free numbers
type: boolean
show_international_numbers_link:
description: Show international numbers link on the invitation email
type: boolean
type: object
zoom_rooms:
description: "Account Settings: Zoom Rooms."
properties:
auto_start_stop_scheduled_meetings:
description: Automatic start and stop for scheduled meetings.
type: boolean
cmr_for_instant_meeting:
description: Cloud recording for instant meetings.
type: boolean
force_private_meeting:
description: Shift all meetings to private.
type: boolean
hide_host_information:
description: Hide host and meeting ID from private meetings.
type: boolean
list_meetings_with_calendar:
description: Display meeting list with calendar integration.
type: boolean
start_airplay_manually:
description: Start AirPlay service manually.
type: boolean
ultrasonic:
description: Automatic direct sharing using an ultrasonic proximity signal.
type: boolean
upcoming_meeting_alert:
description: Upcoming meeting alert.
type: boolean
weekly_system_restart:
description: Weekly system restart.
type: boolean
zr_post_meeting_feedback:
description: Zoom Room post meeting feedback.
type: boolean
type: object
title: Update account settings
type: object
BillingContact:
description: Billing Contact object.
properties:
address:
description: Billing Contact's address.
type: string
apt:
description: Billing Contact's apartment/suite.
type: string
city:
description: Billing Contact's city.
type: string
country:
description: Billing Contact's country.
type: string
email:
description: Billing Contact's email address.
type: string
first_name:
description: Billing Contact's first name.
type: string
last_name:
description: Billing Contact's last name.
type: string
phone_number:
description: Billing Contact's phone number.
type: string
state:
description: Billing Contact's state.
type: string
zip:
description: Billing Contact's zip/postal code.
type: string
type: object
BillingContactRequired:
description: Billing Contact object.
properties:
address:
description: Billing Contact's address.
type: string
apt:
description: Billing Contact's apartment/suite.
type: string
city:
description: Billing Contact's city.
type: string
country:
description: Billing Contact's Country [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) in abbreviated format.
type: string
email:
description: Billing Contact's email address.
type: string
first_name:
description: Billing Contact's first name.
type: string
last_name:
description: Billing Contact's last name.
type: string
phone_number:
description: Billing Contact's phone number.
type: string
state:
description: Billing Contact's state.
type: string
zip:
description: Billing Contact's zip/postal code.
type: string
required:
- first_name
- last_name
- email
- phone_number
- address
- city
- state
- zip
- country
type: object
Channel:
description: "The channel object represents a Zoom chat [channel](https://support.zoom.us/hc/en-us/articles/200912909-Getting-Started-With-Channels-Group-Messaging-). "
properties:
id:
description: Channel Id.
type: string
name:
description: Name of the channel.
maxLength: 128
type: string
type:
description: |-
Type of the channel. The value can be one of the following:
`1`: Private channel. In this type of channel, members must be invited to join a channel.
`2`: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
`3`: Public channel. Anyone can search for this channel and join the channel.
enum:
- 1
- 2
- 3
type: integer
type: object
CloudArchivedFiles:
additionalProperties: false
properties:
archive_files:
description: An explanation about the purpose of this instance.
items:
anyOf:
- additionalProperties: false
properties:
download_url:
description: "The URL where the archived file can be downloaded. To download the archived file of a meeting or a webinar hosted in your account, create a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example. Example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{Your-JWT}}`. If a user has authorized and installed your OAuth app that supports archiving, use the user’s [OAuth access token(https://marketplace.zoom.us/docs/guides/auth/oauth) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{ OAuth Access Token }}`."
type: string
file_extension:
description: The file extension of the recording.
type: string
file_size:
description: The file size of the recording.
type: integer
file_type:
description: "The file type of the recording. The value of this field could be one of the following:`MP4`: Video file of the recording. `M4A`: Audio-only file of the recording. `TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format. See [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) for details."
type: string
id:
description: The unique identifier of the archived file.
type: string
recording_type:
description: The value of this field can be one of the following:* `shared_screen_with_speaker_view(CC)`* `shared_screen_with_speaker_view`* `shared_screen_with_gallery_view`* `speaker_view`* `gallery_view`* `shared_screen`* `audio_only`* `audio_transcript`* `chat_file`,* `active_speaker`* `host_video`. See [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) for details.
type: string
status:
description: Status of the archived file.
type: string
required:
- id
- file_type
- file_extension
- file_size
- download_url
- status
- recording_type
type: object
type: array
x-additionalItems: true
duration:
description: The duration.
type: integer
host_id:
description: The ID of the user who set as the host of the meeting.
type: string
id:
description: The Meeting ID, also known as the meeting number in long (int64) format.
type: integer
recording_count:
description: Number of recording files returned in the response of this API call.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
timezone:
description: Timezone to format the meeting start time.
type: string
topic:
description: The meeting topic.
type: string
total_size:
description: Total size of the archive.
type: integer
type:
description: The meeting type: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
uuid:
description: The Unique Meeting ID. Each meeting instance will generate its own Meeting UUID.
type: string
required:
- uuid
- id
- host_id
- topic
- type
- start_time
- timezone
- duration
- total_size
- recording_count
- archive_files
type: object
CreateWebinarSettings:
description: Create Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: |-
The default value is `2`. To enable registration required, set the approval type to `0` or `1`. Values include:
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the Webinar. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains.
type: string
authentication_option:
description: Specify the authentication type for users to join a Webinar with`meeting_authentication` setting set to `true`. The value of this field can be retrieved from the `id` field within `authentication_options` array in the response of [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings).
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed-in users can join this meeting.
**This field is deprecated and will not be supported in future.**
Instead of this field, use the "meeting_authentication", "authentication_option" and/or "authentication_domains" fields to establish the authentication mechanism for this Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed-in users with specified domains can join meetings.
**This field is deprecated and will not be supported in future.**
Instead of this field, use the "authentication_domains" field for this Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: Only [authenticated](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) users can join meeting if the value of this field is set to `true`.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
CustomQuestion:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
DateTime:
description: DateTime Object.
properties:
from:
description: Start Date.
format: date
type: string
to:
description: End Date.
format: date
type: string
type: object
Device:
description: The H.323/SIP device object.
properties:
encryption:
description: Device encryption: `auto` - auto. `yes` - yes. `no` - no.
enum:
- auto
- yes
- no
type: string
x-enum-descriptions:
- auto
- yes
- no
ip:
description: Device IP.
type: string
name:
description: Device name.
maxLength: 64
type: string
protocol:
description: Device protocol: `H.323` - H.323. `SIP` - SIP.
enum:
- H.323
- SIP
type: string
x-enum-descriptions:
- H.323
- SIP
required:
- name
- protocol
- ip
- encryption
title: The H.323/SIP device object.
type: object
DeviceList:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
devices:
description: List of H.323/SIP Device objects.
items:
allOf:
- properties:
id:
description: Device ID.
type: string
type: object
- description: The H.323/SIP device object.
properties:
encryption:
description: Device encryption: `auto` - auto. `yes` - yes. `no` - no.
enum:
- auto
- yes
- no
type: string
x-enum-descriptions:
- auto
- yes
- no
ip:
description: Device IP.
type: string
name:
description: Device name.
maxLength: 64
type: string
protocol:
description: Device protocol: `H.323` - H.323. `SIP` - SIP.
enum:
- H.323
- SIP
type: string
x-enum-descriptions:
- H.323
- SIP
required:
- name
- protocol
- ip
- encryption
title: The H.323/SIP device object.
type: object
type: array
description: List of H.323/SIP Devices.
title: H.323/SIP Device List
type: object
DomainsList:
description: List of managed domains.
properties:
domains:
description: List of managed domain objects.
items:
allOf:
- properties:
domain:
description: Domain name.
type: string
status:
description: Domain status.
type: string
type: object
type: array
total_records:
description: Total records.
type: integer
type: object
Group:
description: Group object.
properties:
name:
description: Group name.
type: string
total_members:
description: Total number of members in this group.
type: integer
type: object
GroupList:
description: List of Groups.
properties:
groups:
description: List of Group objects.
items:
allOf:
- properties:
id:
description: Group ID.
type: string
type: object
- description: Group object.
properties:
name:
description: Group name.
type: string
total_members:
description: Total number of members in this group.
type: integer
type: object
type: array
total_records:
description: Total records.
type: integer
type: object
GroupMember:
description: Group member object.
properties:
email:
description: User email.
type: string
first_name:
description: User first name.
type: string
id:
description: User ID.
type: string
last_name:
description: User last name.
type: string
type:
description: |-
User type.
`1` - Basic `2` - Licensed
`3` - On-prem
type: integer
type: object
GroupMemberList:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
members:
description: List of Group member objects.
items:
description: Group member object.
properties:
email:
description: User email.
type: string
first_name:
description: User first name.
type: string
id:
description: User ID.
type: string
last_name:
description: User last name.
type: string
type:
description: |-
User type.
`1` - Basic `2` - Licensed
`3` - On-prem
type: integer
type: object
type: array
description: List of Group Members.
title: Group Member List
type: object
GroupUserSettingsAuthentication:
oneOf:
- properties:
authentication_options:
description: Meeting Authentication Options
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domains
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
- properties:
authentication_options:
description: Authentication Options
items:
properties:
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: Authentication type
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
visible:
description: Authentication visible
type: boolean
type: object
type: array
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
type: object
GroupUserSettingsAuthenticationUpdate:
oneOf:
- properties:
authentication_option:
description: Meeting Authentication Options
properties:
action:
description: Authentication action
enum:
- update
- show
- hide
type: string
default_option:
description: Authentication default option
type: boolean
domains:
description: Authentication domains
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
* `enforce_login_with_same_account`: This option allows users to join the meeting or webinar with the same Zoom account.
enum:
- enforce_login
- enforce_login_with_same_account
- enforce_login_with_domains
type: string
type: object
meeting_authentication:
description: Only authenticated users can join meetings
type: boolean
- properties:
authentication_option:
description: Authentication Options
properties:
action:
description: Authentication action
enum:
- update
- show
- hide
type: string
default_option:
description: Authentication default option
type: boolean
domians:
description: Authentication domians
type: string
id:
description: Authentication id
type: string
name:
description: Authentication name
type: string
type:
description: Authentication type
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
type: object
recording_authentication:
description: Only authenticated users can view cloud recordings
type: boolean
title: GroupSettingsAuthenticationUpdate
type: object
IMGroup:
allOf:
- description: Group object.
properties:
name:
description: Group name.
type: string
total_members:
description: Total number of members in this group.
type: integer
type: object
- properties:
search_by_account:
description: Members can search for others under same account.
type: boolean
search_by_domain:
description: Members can search for others in the same email domain.
type: boolean
search_by_ma_account:
description: Members can search for others under same master account - including all sub accounts.
type: boolean
type:
default: normal
description: "IM Group types: `normal` - Only members can see the other members in the group. Other people can search for members in the group. `shared` - Everyone in the account can see the group and members. `restricted` - No one except group members can see the group or search for other group members. "
enum:
- normal
- shared
- restricted
type: string
x-enum-descriptions:
- Only members can see the group automatically. Other people can search members in the group.
- All people in the account can see the group and members automatically
- Nobody can see the group or search members except the members in the group
description: IM group object.
type: object
IMGroupList:
allOf:
- properties:
total_records:
description: Total number of records returned.
type: integer
- properties:
groups:
description: List of group objects.
items:
allOf:
- properties:
id:
description: IM group ID.
type: string
type: object
- allOf:
- description: Group object.
properties:
name:
description: Group name.
type: string
total_members:
description: Total number of members in this group.
type: integer
type: object
- properties:
search_by_account:
description: Members can search for others under same account.
type: boolean
search_by_domain:
description: Members can search for others in the same email domain.
type: boolean
search_by_ma_account:
description: Members can search for others under same master account - including all sub accounts.
type: boolean
type:
default: normal
description: "IM Group types: `normal` - Only members can see the other members in the group. Other people can search for members in the group. `shared` - Everyone in the account can see the group and members. `restricted` - No one except group members can see the group or search for other group members. "
enum:
- normal
- shared
- restricted
type: string
x-enum-descriptions:
- Only members can see the group automatically. Other people can search members in the group.
- All people in the account can see the group and members automatically
- Nobody can see the group or search members except the members in the group
description: IM group object.
type: object
type: array
description: List of IM Groups.
title: IM Group List
type: object
Meeting:
allOf:
- description: Base object for sessions.
properties:
agenda:
description: Meeting description.
type: string
duration:
description: Meeting duration (minutes). Used for scheduled meetings only.
type: integer
password:
description: "Password to join the meeting. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters."
type: string
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
description: Meeting settings.
properties:
allow_multiple_devices:
description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_exception:
description: The participants added here will receive unique meeting invite links and bypass authentication.
items:
properties:
email:
description: Email address of the participant.
format: email
type: string
name:
description: Name of the participant.
type: string
type: object
type: array
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Meeting authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
global_dial_in_numbers:
description: Global Dial-in Countries/Regions
items:
properties:
city:
description: City of the number, if any. For example, Chicago.
type: string
country:
description: Country code. For example, BR.
type: string
country_name:
description: Full name of country. For example, Brazil.
type: string
number:
description: Phone number. For example, +1 2332357613.
type: string
type:
description: "Type of number. "
enum:
- toll
- tollfree
type: string
type: object
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
type: boolean
language_interpretation:
properties:
enable:
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: "`true`- Only authenticated users can join meetings."
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_confirmation_email:
description: Send confirmation email to registrants upon successful registration.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
Show social share buttons on the meeting registration page.
This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
use_pmi:
default: false
description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
default: false
description: Enable waiting room
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
start_time:
description: Meeting start time. When using a format like "yyyy-MM-dd'T'HH:mm:ss'Z'", always use GMT time. When using a format like "yyyy-MM-dd'T'HH:mm:ss", you should use local time and specify the time zone. This is only used for scheduled meetings and recurring meetings with a fixed time.
format: date-time
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: array
type:
default: 2
description: Meeting Type: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
description: Meeting object.
type: object
MeetingCreate:
description: Base object for meeting.
properties:
agenda:
description: Meeting description.
maxLength: 2000
type: string
duration:
description: Meeting duration (minutes). Used for scheduled meetings only.
type: integer
password:
description: |-
Passcode to join the meeting. By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
schedule_for:
description: If you would like to schedule this meeting for someone else in your account, provide the Zoom user id or email address of the user here.
type: string
settings:
description: Meeting settings.
properties:
additional_data_center_regions:
description: "Enable additional [data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) for this meeting. Provide the value in the form of array of country code(s) for the countries which are available as data center regions in the [account settings](https://zoom.us/account/setting) but have been opt out of in the user settings. For instance, let's say that in your account settings, the data center regions that have been selected are Europe, Honkong, Australia, India, Latin America, Japan, China, United States,and Canada. The complete list of available data center regions for your account is: [\"EU\", \"HK\", \"AU\", \"IN\", \"LA\", \"TY\", \"CN\", \"US\", \"CA\"]. In [user settings](https://zoom.us/profile/setting), you have opted out of India(IN) and Japan(TY) for meeting and webinar traffic routing. If you would like, you can still include India and Japan as additional data centers for this meeting using this field. To include India and Japan as additional data center regions, you would provide [\"IN\", \"TY\"] as the value."
items:
type: string
type: array
allow_multiple_devices:
description: |-
If set to `true`, attendees will be allowed to join a meeting from multiple devices.
**Note:** This setting is only applied for meetings that have enabled registration.
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values separated by a comma."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
The default value is `2`. To enable registration required, set the approval type to `0` or `1`. Values include:
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the meeting. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains.
type: string
authentication_option:
description: Specify the authentication type for users to join a meeting with`meeting_authentication` setting set to `true`. The value of this field can be retrieved from the `id` field within `authentication_options` array in the response of [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings).
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: |-
Allow participants to join the meeting before the host starts the meeting. This field can only used for scheduled or recurring meetings.
**Note:** If waiting room is enabled, the **join before host** setting will be disabled.
type: boolean
language_interpretation:
description: |-
Language interpretation [settings](https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars#h_01EGGQFD3Q4BST3378SA762MJ1) for meetings.
**Note:** This feature is only available on certain Webinar add-on, Education, Business and higher plans. If this feature is not enabled on the host's account, this setting will not be applied for the meeting.
properties:
enable:
description: Indicate whether or not you would like to enable [language interpretation](https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars#h_01EGGQFD3Q4BST3378SA762MJ1) for this meeting.
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: Only [authenticated](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) users can join meeting if the value of this field is set to `true`.
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
If set to `true`, the registration page for the meeting will include social share buttons.
**Note:** This setting is only applied for meetings that have enabled registration.
type: boolean
use_pmi:
default: false
description: Use Personal Meeting ID instead of an automatically generated meeting ID. It can only be used for scheduled meetings, instant meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
description: Enable waiting room. Note that if the value of this field is set to `true`, it will override and disable the `join_before_host` setting.
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
start_time:
description: |-
Meeting start time. We support two formats for `start_time` - local time and GMT.
To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`. Example: "2020-03-31T12:02:00Z"
To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
format: date-time
type: string
template_id:
description: |-
Unique identifier of the **admin meeting template**. To create admin meeting templates, contact the Zoom support team.
Use this field if you would like to [schedule the meeting from a admin meeting template](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates#h_86f06cff-0852-4998-81c5-c83663c176fb). You can retrieve the value of this field by calling the [List meeting templates](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/listmeetingtemplates) API.
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Label of the tracking field.
type: string
value:
description: Tracking fields value
type: string
required:
- field
type: object
type: array
type:
default: 2
description: Meeting Type: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
MeetingInfo:
description: Meeting object
properties:
agenda:
description: Agenda
type: string
created_at:
description: The date and time at which this meeting was created.
format: date-time
type: string
duration:
description: Meeting duration.
type: integer
h323_password:
description: H.323/SIP room system password
type: string
join_url:
description: URL for participants to join the meeting. This URL should only be shared with users that you would like to invite for the meeting.
type: string
occurrences:
description: Array of occurrence objects.
items:
description: Occurence object. This object is only returned for Recurring Webinars.
properties:
duration:
description: Duration.
type: integer
occurrence_id:
description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
type: string
start_time:
description: Start time.
format: date-time
type: string
status:
description: Occurrence status.
type: string
type: object
type: array
password:
description: |+
Meeting password. Password may only contain the following characters: `[a-z A-Z 0-9 @ - _ * !]`
If "Require a password when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the password field will be autogenerated in the response even if it is not provided in the API request.
type: string
pmi:
description: Personal Meeting Id. Only used for scheduled meetings and recurring meetings with no fixed time.
format: int64
type: integer
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
description: Meeting settings.
properties:
allow_multiple_devices:
description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_exception:
description: The participants added here will receive unique meeting invite links and bypass authentication.
items:
properties:
email:
description: Email address of the participant.
format: email
type: string
name:
description: Name of the participant.
type: string
type: object
type: array
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Meeting authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
global_dial_in_numbers:
description: Global Dial-in Countries/Regions
items:
properties:
city:
description: City of the number, if any. For example, Chicago.
type: string
country:
description: Country code. For example, BR.
type: string
country_name:
description: Full name of country. For example, Brazil.
type: string
number:
description: Phone number. For example, +1 2332357613.
type: string
type:
description: "Type of number. "
enum:
- toll
- tollfree
type: string
type: object
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
type: boolean
language_interpretation:
properties:
enable:
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: "`true`- Only authenticated users can join meetings."
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_confirmation_email:
description: Send confirmation email to registrants upon successful registration.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
Show social share buttons on the meeting registration page.
This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
use_pmi:
default: false
description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
default: false
description: Enable waiting room
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
start_time:
description: 'Meeting start date-time in UTC/GMT. Example: "2020-03-31T12:02:00Z"'
format: date-time
type: string
start_url:
description: URL to start the meeting. This URL should only be used by the host of the meeting and **should not be shared with anyone other than the host** of the meeting as anyone with this URL will be able to login to the Zoom Client as the host of the meeting.
type: string
timezone:
description: Timezone to format start_time
type: string
topic:
description: Meeting topic
maxLength: 200
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Label of the tracking field.
type: string
value:
description: Value for the field.
type: string
visible:
description: |-
Indicates whether the [tracking field](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) is visible in the meeting scheduling options in the Zoom Web Portal or not.
`true`: Tracking field is visible.
`false`: Tracking field is not visible to the users in the meeting options in the Zoom Web Portal but the field was used while scheduling this meeting via API. An invisible tracking field can be used by users while scheduling meetings via API only.
type: boolean
type: object
type: array
type:
default: 2
description: Meeting Type
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
MeetingInfoGet:
description: Meeting object.
properties:
agenda:
description: Meeting description
maxLength: 2000
type: string
created_at:
description: "Time of creation. "
format: date-time
type: string
duration:
description: Meeting duration.
type: integer
encrypted_password:
description: Encrypted passcode for third party endpoints (H323/SIP).
type: string
h323_password:
description: H.323/SIP room system passcode.
type: string
join_url:
description: URL for participants to join the meeting. This URL should only be shared with users that you would like to invite for the meeting.
type: string
occurrences:
description: Array of occurrence objects.
items:
description: Occurence object. This object is only returned for Recurring Webinars.
properties:
duration:
description: Duration.
type: integer
occurrence_id:
description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
type: string
start_time:
description: Start time.
format: date-time
type: string
status:
description: Occurrence status.
type: string
type: object
type: array
password:
description: Meeting passcode.
minimum: 8
type: string
pmi:
description: Personal Meeting Id. Only used for scheduled meetings and recurring meetings with no fixed time.
format: int64
type: integer
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
description: Meeting settings.
properties:
allow_multiple_devices:
description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_exception:
description: The participants added here will receive unique meeting invite links and bypass authentication.
items:
properties:
email:
description: Email address of the participant.
format: email
type: string
name:
description: Name of the participant.
type: string
type: object
type: array
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Meeting authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
global_dial_in_numbers:
description: Global Dial-in Countries/Regions
items:
properties:
city:
description: City of the number, if any. For example, Chicago.
type: string
country:
description: Country code. For example, BR.
type: string
country_name:
description: Full name of country. For example, Brazil.
type: string
number:
description: Phone number. For example, +1 2332357613.
type: string
type:
description: "Type of number. "
enum:
- toll
- tollfree
type: string
type: object
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
type: boolean
language_interpretation:
properties:
enable:
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: "`true`- Only authenticated users can join meetings."
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_confirmation_email:
description: Send confirmation email to registrants upon successful registration.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
Show social share buttons on the meeting registration page.
This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
use_pmi:
default: false
description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
default: false
description: Enable waiting room
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
start_time:
description: |
Meeting start time in GMT/UTC. Start time will not be returned if the meeting is an **instant** meeting.
format: date-time
type: string
start_url:
description: |-
This URL should only be used by the host of the meeting and **should not be shared with anyone other than the host** of the meeting as anyone with this URL will be able to login to the Zoom Client as the host of the meeting.
type: string
status:
description: Meeting status
enum:
- waiting
- started
type: string
timezone:
description: Timezone to format the meeting start time on the .
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Label of the tracking field.
type: string
value:
description: Value for the field.
type: string
visible:
description: |-
Indicates whether the [tracking field](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields) is visible in the meeting scheduling options in the Zoom Web Portal or not.
`true`: Tracking field is visible.
`false`: Tracking field is not visible to the users when they look at the meeting details in the Zoom Web Portal but the field was used while scheduling this meeting via API. An invisible tracking field can be used by users while scheduling meetings via API only.
type: boolean
type: object
type: array
type:
default: 2
description: |-
Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `4` - PMI Meeting
`8` - Recurring meeting with a fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
MeetingInstances:
allOf:
- properties:
meetings:
description: List of ended meeting instances.
items:
allOf:
- properties:
start_time:
description: Start time
format: date-time
type: string
uuid:
description: |+
Meeting UUID. Unique meeting ID. Each meeting instance will generate its own Meeting UUID (i.e., after a meeting ends, a new UUID will be generated for the next instance of the meeting). Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
type: string
type: object
type: array
description: List of Meetings
title: Meeting instances
type: object
MeetingInvitation:
description: Meeting invitation details.
properties:
invitation:
description: Meeting invitation.
type: string
title: Meeting Invitation
type: object
MeetingList:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
meetings:
description: List of Meeting objects.
items:
allOf:
- properties:
agenda:
description: Meeting description. The length of agenda gets truncated to 250 characters when you list all meetings for a user. To view the complete agenda of a meeting, retrieve details for a single meeting [here](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting).
type: string
created_at:
description: "Time of creation. "
format: date-time
type: string
duration:
description: Meeting duration.
type: integer
host_id:
description: ID of the user who is set as the host of the meeting.
type: string
id:
description: Meeting ID - also known as the meeting number in double (int64) format.
format: int64
type: integer
join_url:
description: Join URL.
type: string
start_time:
description: Meeting start time.
format: date-time
type: string
timezone:
description: "Timezone to format the meeting start time. "
type: string
topic:
description: Meeting topic.
type: string
type:
description: Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
uuid:
description: Unique Meeting ID. Each meeting instance will generate its own Meeting UUID.
type: string
type: object
type: array
description: List of meetings.
title: Group List
type: object
MeetingLiveStream:
description: Meeting live stream.
properties:
page_url:
description: The livestream page URL.
format: uri
maxLength: 1024
type: string
stream_key:
description: Stream name and key.
maxLength: 512
type: string
stream_url:
description: Streaming URL.
maxLength: 1024
type: string
required:
- stream_url
- stream_key
type: object
MeetingLiveStreamStatus:
description: Meeting live stream status.
properties:
action:
description: |-
Update the status of a livestream.
The value can be one of the following:
`start`: Start a live stream.
`stop`: Stop an ongoing live stream.
enum:
- start
- stop
type: string
x-enum-descriptions:
- Start a meeting live stream.
- Stop a meeting live stream.
settings:
description: Update the settings of a live streaming session. The settings can only be updated for a live stream that has been stopped. You can not update the settings of an ongoing live stream.
properties:
active_speaker_name:
description: Display the name of the active speaker during a live stream.
type: boolean
display_name:
description: Display name of the live stream.
maxLength: 50
minLength: 1
type: string
type: object
type: object
MeetingMetric:
description: Meeting metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the meetinh.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the meeting.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: Meeting duration.
type: string
email:
description: Email address of the host.
type: string
end_time:
description: Meeting end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
type: boolean
has_pstn:
description: Indicates whether or not the PSTN was used in the meeting.
type: boolean
has_recording:
description: "Indicates whether or not the recording feature was used in the meeting. "
type: boolean
has_screen_share:
description: Indicates whether or not screenshare feature was used in the meeting.
type: boolean
has_sip:
description: Indicates whether or not someone joined the meeting using SIP.
type: boolean
has_video:
description: Indicates whether or not video was used in the meeting.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used in the meeting.
type: boolean
host:
description: Host display name.
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
in_room_participants:
description: The number of Zoom Room participants in the meeting.
type: integer
participants:
description: Meeting participant count.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
user_type:
description: License type of the user.
type: string
uuid:
description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
format: uuid
type: string
title: Meeting Metrics
type: object
MeetingRecordingRegistrantList:
allOf:
- allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
registrants:
description: List of Registrant objects
items:
allOf:
- properties:
id:
type: string
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
type: array
description: List of Recording Registration
title: Recording Registration List
type: object
description: List of meeting recording registrant
title: Registration List
type: object
MeetingRegistrant:
allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
MeetingRegistrantList:
allOf:
- allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
registrants:
description: List of registrant objects.
items:
allOf:
- properties:
id:
description: Registrant ID.
type: string
type: object
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
- properties:
create_time:
description: The time at which the registrant registered.
format: date-time
type: string
join_url:
description: The URL using which an approved registrant can join the webinar.
format: string
type: string
status:
description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
type: string
type: object
type: array
description: List of users.
title: Registration List
type: object
description: List of users.
title: Registration List
type: object
MeetingRegistrantQuestions:
description: Meeting Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions
items:
properties:
answers:
description: Answer choices for the question. Can not be used for `short` question type as this type of question requires registrants to type out the answer.
items:
type: string
type: array
required:
description: Indicates whether or not the custom question is required to be answered by participants or not.
type: boolean
title:
description: Title of the custom question.
type: string
type:
description: Type of the question being asked.
enum:
- short
- single
type: string
x-enum-descriptions:
- Short Answer
- Single Answer
type: object
type: array
questions:
description: Array of Registrant Questions
items:
properties:
field_name:
description: Field name of the question.
enum:
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: Indicates whether or not the displayed fields are required to be filled out by registrants.
type: boolean
type: object
type: array
title: Meeting Registrant Questions
type: object
MeetingSecuritySettings:
properties:
meeting_security:
properties:
auto_security:
description: |-
`true`: Require that all meetings are secured with at least one security option.
This setting can only be disabled by Enterprise, ISV, Business (with more than 100 licenses), and Education accounts. [Learn more](https://marketplace.zoom.us/docs/guides/stay-up-to-date/announcements#meeting-security).
type: boolean
embed_password_in_join_link:
description: |
If set to `true`, meeting passcode will be encrypted and included in the invite link to allow participants to join with just one click without having to enter the passcode.
type: boolean
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
end_to_end_encrypted_meetings:
description: Allow use of end-to-end encryption for meetings. If set to `true`, you can specify the encryption type in `encryption_type` field.
type: boolean
meeting_password:
description: If set to `true`, all instant, and scheduled meetings that users can join via client, or room systems will be passcode-protected. The Personal Meeting ID (PMI) meetings are not included in this setting.
type: boolean
meeting_password_requirement:
description: Meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
phone_password:
description: Require passcode for participants joining by phone. If set to `true`, a numeric passcode will be required for participants joining by phone if your meeting has a passcode. For meeting with an alphanumeric passcode, a numeric version will be generated.
type: boolean
pmi_password:
description: |
If set to `true`, all Personal Meeting ID (PMI) meetings that users can join via client, or room systems will be passcode-protected.
type: boolean
require_password_for_scheduled_meeting:
description: |
Require a passcode for meetings which have already been scheduled.
type: boolean
require_password_for_scheduled_webinar:
description: |
Require a passcode for webinars which have already been scheduled.
type: boolean
waiting_room:
description: |
When participants join a meeting, place them in a waiting room and require the host to admit them individually. Enabling the waiting room automatically disables the setting for allowing participants to join before host.
type: boolean
waiting_room_settings:
description: Specify the settings to be applied if waiting room is enabled.
properties:
participants_to_place_in_waiting_room:
description: |-
Specify who should be admitted to the waiting room. The value of this field can be one of the following:
`0`: All attendees `1`: Users who are not in your account `2`: Users who are not in your account and are not part of your whitelisted domains that are specified in
enum:
- 0
- 1
- 2
type: integer
users_who_can_admit_participants_from_waiting_room:
description: |+
Specify who can admit participants from the waiting room. The value of this field can be one of the following:
`0`: Host and co-hosts only `1`: Host, co-hosts, and anyone who bypassed the waiting room (only if host and co-hosts are not present).
type: integer
whitelisted_domains_for_waiting_room:
description: 'If the value of the `participants_to_place_in_waiting_room` field is `2`, use this setting to specify the domains that can bypass the waiting room feature. Separate multiple domains with commas(example: "aaa.com,bbb.com").'
type: string
type: object
webinar_password:
description: |
If set to `true`, a passcode will be generated when scheduling a Webinar and participants require the passcode to join the Webinar.
type: boolean
type: object
title: Meeting/Webinar Security Settings
type: object
MeetingSettings:
description: Meeting settings.
properties:
allow_multiple_devices:
description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_exception:
description: The participants added here will receive unique meeting invite links and bypass authentication.
items:
properties:
email:
description: Email address of the participant.
format: email
type: string
name:
description: Name of the participant.
type: string
type: object
type: array
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Meeting authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
global_dial_in_numbers:
description: Global Dial-in Countries/Regions
items:
properties:
city:
description: City of the number, if any. For example, Chicago.
type: string
country:
description: Country code. For example, BR.
type: string
country_name:
description: Full name of country. For example, Brazil.
type: string
number:
description: Phone number. For example, +1 2332357613.
type: string
type:
description: "Type of number. "
enum:
- toll
- tollfree
type: string
type: object
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
type: boolean
language_interpretation:
properties:
enable:
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: "`true`- Only authenticated users can join meetings."
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_confirmation_email:
description: Send confirmation email to registrants upon successful registration.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
Show social share buttons on the meeting registration page.
This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
use_pmi:
default: false
description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
default: false
description: Enable waiting room
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
MeetingUpdate:
allOf:
- description: Base object for sessions.
properties:
agenda:
description: Meeting description.
maxLength: 2000
type: string
duration:
description: Meeting duration (minutes). Used for scheduled meetings only.
type: integer
password:
description: |-
Meeting passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
allOf:
- description: Meeting settings.
properties:
allow_multiple_devices:
description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_exception:
description: The participants added here will receive unique meeting invite links and bypass authentication.
items:
properties:
email:
description: Email address of the participant.
format: email
type: string
name:
description: Name of the participant.
type: string
type: object
type: array
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Meeting authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
global_dial_in_numbers:
description: Global Dial-in Countries/Regions
items:
properties:
city:
description: City of the number, if any. For example, Chicago.
type: string
country:
description: Country code. For example, BR.
type: string
country_name:
description: Full name of country. For example, Brazil.
type: string
number:
description: Phone number. For example, +1 2332357613.
type: string
type:
description: "Type of number. "
enum:
- toll
- tollfree
type: string
type: object
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
type: boolean
language_interpretation:
properties:
enable:
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: "`true`- Only authenticated users can join meetings."
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_confirmation_email:
description: Send confirmation email to registrants upon successful registration.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
Show social share buttons on the meeting registration page.
This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
use_pmi:
default: false
description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
default: false
description: Enable waiting room
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
- properties:
registrants_confirmation_email:
description: Send confirmation Email to Registrants
type: boolean
type: object
start_time:
description: Meeting start time. When using a format like "yyyy-MM-dd'T'HH:mm:ss'Z'", always use GMT time. When using a format like "yyyy-MM-dd'T'HH:mm:ss", you should use local time and specify the time zone. Only used for scheduled meetings and recurring meetings with a fixed time.
format: date-time
type: string
template_id:
description: |-
Unique identifier of the meeting template.
Use this field if you would like to [schedule the meeting from a meeting template](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates#h_86f06cff-0852-4998-81c5-c83663c176fb). You can retrieve the value of this field by calling the [List meeting templates]() API.
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 2
description: Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with a fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
description: Meeting object
type: object
Occurrence:
description: Occurence object. This object is only returned for Recurring Webinars.
properties:
duration:
description: Duration.
type: integer
occurrence_id:
description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
type: string
start_time:
description: Start time.
format: date-time
type: string
status:
description: Occurrence status.
type: string
type: object
Occurrences:
description: Array of occurrence objects.
items:
description: Occurence object. This object is only returned for Recurring Webinars.
properties:
duration:
description: Duration.
type: integer
occurrence_id:
description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
type: string
start_time:
description: Start time.
format: date-time
type: string
status:
description: Occurrence status.
type: string
type: object
type: array
PAC:
description: List of PAC accounts.
properties:
conference_id:
description: Conference ID.
type: integer
dedicated_dial_in_number:
description: List of dedicated dial-in numbers.
items:
properties:
country:
description: Country code.
type: string
number:
description: "Dial-in number: length is less than 16."
type: string
type: object
type: array
global_dial_in_numbers:
description: List of global dial-in numbers.
items:
properties:
country:
description: Country code.
type: string
number:
description: "Dial-in number: length is less than 16."
type: string
type: object
type: array
listen_only_password:
description: "Listen-Only passcode: numeric value - length is less than 6."
maxLength: 6
type: string
participant_password:
description: "Participant passcode: numeric value - length is less than 6."
maxLength: 6
minLength: 1
type: string
title: PAC Accounts List
type: object
Pagination:
description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
PaginationToken:
description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
PaginationToken4IMChat:
description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.
type: string
page_size:
default: 30
description: "The amount of records returns within a single API call. "
maximum: 300
type: integer
type: object
PaginationToken4Qos:
description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
format: int64
type: integer
page_size:
default: 1
description: The number of items per page.
maximum: 10
type: integer
total_records:
description: The number of all records available across pages.
format: int64
type: integer
type: object
Panelist:
description: Panelist base object.
properties:
email:
description: Panelist's email.
format: email
type: string
name:
description: Panelist's full name.
type: string
type: object
PanelistList:
description: List of panelists.
properties:
panelists:
description: List of panelist objects.
items:
allOf:
- properties:
id:
description: Panelist's ID.
type: string
type: object
- description: Panelist base object.
properties:
email:
description: Panelist's email.
format: email
type: string
name:
description: Panelist's full name.
type: string
type: object
- properties:
join_url:
description: Join URL.
type: string
type: object
type: array
total_records:
description: Total records.
type: integer
title: Panelist List
type: object
PhonePlan:
description: Phone Plan Object
properties:
plan_base:
description: Additional phone base plans.
properties:
callout_countries:
description: 'Call-out countries: multiple values should separated by commas. For a list of allowed values, refer to the "ID" field in [this](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#tsp-call-out-countries) table.'
type: string
type:
description: Additional phone base plan type.
type: string
type: object
plan_calling:
description: Additional phone calling plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone calling plan type.
type: string
type: object
type: array
plan_number:
description: Additional phone number plans.
items:
properties:
hosts:
type: integer
type:
description: Additional phone number plan type.
type: string
type: object
type: array
title: PhonePlan
type: object
Poll:
description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
PollList:
allOf:
- properties:
polls:
description: Array of Polls
items:
allOf:
- properties:
id:
description: ID of Poll
type: string
status:
description: Status of Poll: `notstart` - Poll not started `started` - Poll started `ended` - Poll ended `sharing` - Sharing poll results
enum:
- notstart
- started
- ended
- sharing
type: string
x-enum-descriptions:
- Poll not start
- Poll started
- Poll ended
- Poll is sharing
- description: Poll
properties:
questions:
description: Array of Polls
items:
properties:
answers:
description: Answers to the questions
items:
type: string
type: array
name:
description: Question to be asked to the attendees.
type: string
type:
description: Poll Question & Answer type: `single` - Single choice `mutliple` - Multiple choice
enum:
- single
- multiple
type: string
x-enum-descriptions:
- single answer
- multiple answer
type: object
type: array
title:
description: Title for the poll.
type: string
title: Poll
type: object
type: array
total_records:
description: The number of all records available across pages
type: integer
description: Poll List
title: Poll List
type: object
Profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
QOSAudio:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
QOSParticipant:
description: Participant QOS.
properties:
device:
description: The type of device using which the participant joined the meeting.
type: string
domain:
description: Participant's PC domain.
type: string
harddisk_id:
description: Participant's hard disk ID.
type: string
ip_address:
description: Participant's IP address.
type: string
join_time:
description: The time at which participant joined the meeting.
format: date-time
type: string
leave_time:
description: The time at which participant left the meeting.
format: date-time
type: string
location:
description: Participant's location.
type: string
mac_addr:
description: Participant's MAC address.
type: string
pc_name:
description: Participant's PC name.
type: string
user_id:
description: Participant ID.
format: uuid
type: string
user_name:
description: Participant display name.
type: string
user_qos:
description: Quality of service provided to the user.
items:
properties:
as_device_from_crc:
description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_device_to_crc:
description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
as_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
audio_device_from_crc:
description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_device_to_crc:
description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_input:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
audio_output:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
cpu_usage:
properties:
system_max_cpu_usage:
description: System Maximum CPU Usage
type: string
zoom_avg_cpu_usage:
description: Zoom Average CPU Usage
type: string
zoom_max_cpu_usage:
description: Zoom Maximum CPU Usage
type: string
zoom_min_cpu_usage:
description: Zoom Minimum CPU Usage
type: string
type: object
date_time:
description: Date-time of QOS
format: date-time
type: string
video_device_from_crc:
description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_device_to_crc:
description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
video_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
type: object
type: array
version:
description: Participant's Zoom Client version.
type: string
title: Participant QOS
type: object
QOSParticipantList:
allOf:
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceed the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
format: int64
type: integer
page_size:
default: 1
description: The number of items per page.
maximum: 10
type: integer
total_records:
description: The number of all records available across pages.
format: int64
type: integer
type: object
- properties:
participants:
description: Array of user objects.
items:
description: Participant QOS.
properties:
device:
description: The type of device using which the participant joined the meeting.
type: string
domain:
description: Participant's PC domain.
type: string
harddisk_id:
description: Participant's hard disk ID.
type: string
ip_address:
description: Participant's IP address.
type: string
join_time:
description: The time at which participant joined the meeting.
format: date-time
type: string
leave_time:
description: The time at which participant left the meeting.
format: date-time
type: string
location:
description: Participant's location.
type: string
mac_addr:
description: Participant's MAC address.
type: string
pc_name:
description: Participant's PC name.
type: string
user_id:
description: Participant ID.
format: uuid
type: string
user_name:
description: Participant display name.
type: string
user_qos:
description: Quality of service provided to the user.
items:
properties:
as_device_from_crc:
description: QoS metrics on screen shares by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_device_to_crc:
description: QoS metrics on screen shares output being received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
as_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
as_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
audio_device_from_crc:
description: QoS metrics on audio being sent by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_device_to_crc:
description: QoS metrics on audio received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
audio_input:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
audio_output:
description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
cpu_usage:
properties:
system_max_cpu_usage:
description: System Maximum CPU Usage
type: string
zoom_avg_cpu_usage:
description: Zoom Average CPU Usage
type: string
zoom_max_cpu_usage:
description: Zoom Maximum CPU Usage
type: string
zoom_min_cpu_usage:
description: Zoom Minimum CPU Usage
type: string
type: object
date_time:
description: Date-time of QOS
format: date-time
type: string
video_device_from_crc:
description: QoS metrics on video input being sent from a Cloud Room Connector used by the participant to join the meeting.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_device_to_crc:
description: QoS metrics on video output received by a participant who joined the meeting via a Cloud Room Connector.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: The max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination.
type: string
type: object
video_input:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
video_output:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
type: object
type: array
version:
description: Participant's Zoom Client version.
type: string
title: Participant QOS
type: object
type: array
description: Participant QOS list.
title: Participant QOS List
type: object
QOSVideo:
allOf:
- description: Quality of Service object.
properties:
avg_loss:
description: "The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination. "
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network. The value of this field is expressed in kbps.
type: string
jitter:
description: "The variation in the delay of received packets. The value of this field is expressed in milliseconds. "
type: string
latency:
description: "The amount of time it takes for a packet to travel from one point to another. The value of this field is expressed in milliseconds. "
type: string
max_loss:
description: "Max loss: the max amount of packet loss, that is the max percentage of packets that fail to arrive at their destination."
type: string
title: QOS Object
type: object
- properties:
frame_rate:
description: The rate at which your video camera can produce unique images, or frames. Zoom supports a frame rate of up to 30fps.
type: string
resolution:
description: The number of pixels in each dimension that can be displayed by your video camera.
type: string
description: Quality of service object.
title: QOS Object
type: object
QoSPhone:
description: Quality of Service object.
properties:
avg_loss:
description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
type: string
bitrate:
description: The number of bits per second that can be transmitted along a digital network.
type: string
jitter:
description: The variation in the delay of received packets.
type: string
max_loss:
description: The max amount of packet loss, i.e., the max percentage of packets that fail to arrive at their destination.
type: string
mos:
description: Mean Opinion Score(MOS) measures voice quality on a scale of 1 to 5. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
type: string
network_delay:
description: The amount of time it takes for a VoIP packet to travel from one point to another.
type: string
title: QoS Phone
type: object
Recording:
description: Recording file object.
properties:
deleted_time:
description: The time at which recording was deleted. Returned in the response only for trash query.
type: string
download_url:
description: |+
The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
**Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
type: string
file_size:
description: The recording file size.
type: number
file_type:
description: |-
The recording file type. The value of this field could be one of the following:
`MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
`TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
`id`, `status`, `file_size`, `recording_type`, and `play_url`.
type: string
id:
description: The recording file ID. Included in the response of general query.
type: string
meeting_id:
description: "The meeting ID. "
type: string
play_url:
description: The URL using which a recording file can be played.
type: string
recording_end:
description: The recording end time. Response in general query.
type: string
recording_start:
description: The recording start time.
type: string
recording_type:
description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
type: string
status:
description: The recording status.
enum:
- completed
type: string
type: object
RecordingList:
allOf:
- properties:
recording_files:
description: List of recording file.
items:
allOf:
- description: Recording file object.
properties:
deleted_time:
description: The time at which recording was deleted. Returned in the response only for trash query.
type: string
download_url:
description: |+
The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
**Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
type: string
file_size:
description: The recording file size.
type: number
file_type:
description: |-
The recording file type. The value of this field could be one of the following:
`MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
`TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
`id`, `status`, `file_size`, `recording_type`, and `play_url`.
type: string
id:
description: The recording file ID. Included in the response of general query.
type: string
meeting_id:
description: "The meeting ID. "
type: string
play_url:
description: The URL using which a recording file can be played.
type: string
recording_end:
description: The recording end time. Response in general query.
type: string
recording_start:
description: The recording start time.
type: string
recording_type:
description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
type: string
status:
description: The recording status.
enum:
- completed
type: string
type: object
title: Recording file List
type: array
description: List of recording file.
title: Recording file List
type: object
RecordingMeeting:
allOf:
- properties:
account_id:
description: Unique Identifier of the user account.
type: string
duration:
description: Meeting duration.
type: integer
host_id:
description: ID of the user set as host of meeting.
type: string
id:
description: Meeting ID - also known as the meeting number.
type: string
recording_count:
description: Number of recording files returned in the response of this API call.
type: string
start_time:
description: The time at which the meeting started.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_size:
description: Total size of the recording.
type: string
type:
description: |-
Type of the meeting that was recorded.
Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
type: string
uuid:
description: Unique Meeting Identifier. Each instance of the meeting will have its own UUID.
type: string
- allOf:
- properties:
recording_files:
description: List of recording file.
items:
allOf:
- description: Recording file object.
properties:
deleted_time:
description: The time at which recording was deleted. Returned in the response only for trash query.
type: string
download_url:
description: |+
The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
**Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
type: string
file_size:
description: The recording file size.
type: number
file_type:
description: |-
The recording file type. The value of this field could be one of the following:
`MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
`TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
`id`, `status`, `file_size`, `recording_type`, and `play_url`.
type: string
id:
description: The recording file ID. Included in the response of general query.
type: string
meeting_id:
description: "The meeting ID. "
type: string
play_url:
description: The URL using which a recording file can be played.
type: string
recording_end:
description: The recording end time. Response in general query.
type: string
recording_start:
description: The recording start time.
type: string
recording_type:
description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
type: string
status:
description: The recording status.
enum:
- completed
type: string
type: object
title: Recording file List
type: array
description: List of recording file.
title: Recording file List
type: object
description: The recording meeting object.
type: object
RecordingMeetingList:
allOf:
- description: DateTime Object.
properties:
from:
description: Start Date.
format: date
type: string
to:
description: End Date.
format: date
type: string
type: object
- description: Pagination object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The number of all records available across pages.
type: integer
type: object
- properties:
meetings:
description: List of recordings.
items:
allOf:
- allOf:
- properties:
account_id:
description: Unique Identifier of the user account.
type: string
duration:
description: Meeting duration.
type: integer
host_id:
description: ID of the user set as host of meeting.
type: string
id:
description: Meeting ID - also known as the meeting number.
type: string
recording_count:
description: Number of recording files returned in the response of this API call.
type: string
start_time:
description: The time at which the meeting started.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
total_size:
description: Total size of the recording.
type: string
type:
description: |-
Type of the meeting that was recorded.
Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
type: string
uuid:
description: Unique Meeting Identifier. Each instance of the meeting will have its own UUID.
type: string
- allOf:
- properties:
recording_files:
description: List of recording file.
items:
allOf:
- description: Recording file object.
properties:
deleted_time:
description: The time at which recording was deleted. Returned in the response only for trash query.
type: string
download_url:
description: |+
The URL using which the recording file can be downloaded. **To access a private or password protected cloud recording of a user in your account, you can use a [Zoom JWT App Type](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL as shown in the example.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ JWT Token }}`
**Similarly, if the user has installed your OAuth app that contains recording scope(s), you can also use the user's [OAuth access token](https://marketplace.zoom.us/docs/guides/auth/oauth) to download the Cloud Recording.**
Example: `https://api.zoom.us/recording/download/{{ Download Path }}?access_token={{ OAuth Access Token }}`
type: string
file_size:
description: The recording file size.
type: number
file_type:
description: |-
The recording file type. The value of this field could be one of the following:
`MP4`: Video file of the recording. `M4A` Audio-only file of the recording. `TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.
`TRANSCRIPT`: Transcription file of the recording in VTT format. `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting. `CC`: File containing closed captions of the recording in VTT file format. `CSV`: File containing polling data in csv format.
A recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:
`id`, `status`, `file_size`, `recording_type`, and `play_url`.
type: string
id:
description: The recording file ID. Included in the response of general query.
type: string
meeting_id:
description: "The meeting ID. "
type: string
play_url:
description: The URL using which a recording file can be played.
type: string
recording_end:
description: The recording end time. Response in general query.
type: string
recording_start:
description: The recording start time.
type: string
recording_type:
description: The recording type. The value of this field can be one of the following: `shared_screen_with_speaker_view(CC)` `shared_screen_with_speaker_view` `shared_screen_with_gallery_view` `speaker_view` `gallery_view` `shared_screen` `audio_only` `audio_transcript` `chat_file` `active_speaker` `poll`
type: string
status:
description: The recording status.
enum:
- completed
type: string
type: object
title: Recording file List
type: array
description: List of recording file.
title: Recording file List
type: object
description: The recording meeting object.
type: object
title: Recording List
type: array
description: List of recordings.
title: Recording List
type: object
RecordingRegistrantList:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
registrants:
description: List of Registrant objects
items:
allOf:
- properties:
id:
type: string
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
type: array
description: List of Recording Registration
title: Recording Registration List
type: object
RecordingRegistrantQuestions:
description: Recording Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions
items:
properties:
answers:
description: Answer choices for the question. Can not be used with Short answer type.
items:
type: string
type: array
required:
description: State whether registrants are required to answer custom questions or not.
type: boolean
title:
description: Title of the question.
type: string
type:
description: The type of registration question and answers.
enum:
- short
- single
- multiple
type: string
x-enum-descriptions:
- Short Answer
- Single Answer
- Multiple Answer
type: object
type: array
questions:
description: Array of Registrant Questions
items:
properties:
field_name:
description: Field name.
enum:
- last_name
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Last Name
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: State whether the field is required to be answered by the registrant or not.
type: boolean
type: object
type: array
title: Recording Registrant Questions
type: object
RecordingRegistrantStatus:
description: Registrant Status
properties:
action:
enum:
- approve
- deny
type: string
x-enum-descriptions:
- Approve registrant
- Deny registrant
registrants:
description: List of registrants
items:
properties:
id:
type: string
maximum: 30
type: array
required:
- action
type: object
RecordingSettings:
properties:
approval_type:
description: |-
Approval type for the registration.
`0`- Automatically approve the registration when a user registers.
`1` - Manually approve or deny the registration of a user.
`2` - No registration required to view the recording.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Registrants can watch the recording directly after registration
- Registrants will receive emails then watch the recording after you approve the registration
- Disabled
authentication_domains:
description: Authentication domains.
type: string
authentication_option:
description: Authentication Options.
type: string
on_demand:
description: Determine whether registration isrequired to view the recording.
type: boolean
password:
description: |-
Enable password protection for the recording by setting a password. The password must have a minimum of **eight** characters with a mix of numbers, letters and special characters.
**Note:** If the account owner or the admin has set minimum password strength requirements for recordings via Account Settings, the password value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
minLength: 8
type: string
recording_authentication:
description: Only authenticated users can view.
type: boolean
send_email_to_host:
description: Send an email to host when someone registers to view the recording. This applies for On-demand recordings only.
type: boolean
share_recording:
description: Determine how the meeting recording is shared.
enum:
- publicly
- internally
- none
type: string
x-enum-descriptions:
- Publicly
- Internally(account members only)
- None
show_social_share_buttons:
description: Show social share buttons on registration page. This applies for On-demand recordings only.
type: boolean
topic:
description: Name of the recording.
type: string
viewer_download:
description: Determine whether a viewer can download the recording file or not.
type: boolean
title: Recording settings
type: object
Recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
Registrant:
description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
RegistrantList:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
registrants:
description: List of registrant objects.
items:
allOf:
- properties:
id:
description: Registrant ID.
type: string
type: object
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
- properties:
create_time:
description: The time at which the registrant registered.
format: date-time
type: string
join_url:
description: The URL using which an approved registrant can join the webinar.
format: string
type: string
status:
description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
type: string
type: object
type: array
description: List of users.
title: Registration List
type: object
RegistrantStatus:
properties:
action:
description: Registrant Status: `approve` - Approve registrant. `cancel` - Cancel previously approved registrant's registration. `deny` - Deny registrant.
enum:
- approve
- cancel
- deny
type: string
x-enum-descriptions:
- Approve registrant
- Cancel previously approved registrant
- Deny registrant
registrants:
description: List of registrants.
items:
properties:
email:
type: string
id:
type: string
type: object
maximum: 30
type: array
required:
- action
type: object
RoleList:
allOf:
- properties:
roles:
description: List of Roles objects
items:
allOf:
- properties:
description:
description: Role Description
type: string
id:
description: Role Id
type: string
name:
description: Role Name
type: string
total_members:
description: Total members in this role
type: integer
type: array
total_records:
description: The number of all records available across pages
type: integer
description: List of Roles
title: Role List
type: object
RoleMembersAdd:
description: Add Role Members
properties:
members:
description: List of Role's members
items:
properties:
email:
description: User email address. Must have id or email, if given id, the email is ignored.
type: string
id:
description: User ID
type: string
maximum: 30
type: array
title: Add Role Members
type: object
RoleMembersList:
description: List of a Role Members
properties:
members:
description: List of a Role Members
items:
allOf:
- properties:
department:
description: Member Department
type: string
email:
description: Member Email
type: string
first_name:
description: Member First Name
type: string
id:
description: Member ID
type: string
last_name:
description: Member Last Name
type: string
type:
description: Member Type
type: integer
type: object
type: array
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned within a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
title: Role Members List
type: object
Session:
description: Base object for sessions.
properties:
agenda:
description: Meeting description.
type: string
duration:
description: Meeting duration (minutes). Used for scheduled meetings only.
type: integer
password:
description: "Password to join the meeting. Password may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters."
type: string
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
description: Meeting settings.
properties:
allow_multiple_devices:
description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_exception:
description: The participants added here will receive unique meeting invite links and bypass authentication.
items:
properties:
email:
description: Email address of the participant.
format: email
type: string
name:
description: Name of the participant.
type: string
type: object
type: array
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Meeting authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
global_dial_in_numbers:
description: Global Dial-in Countries/Regions
items:
properties:
city:
description: City of the number, if any. For example, Chicago.
type: string
country:
description: Country code. For example, BR.
type: string
country_name:
description: Full name of country. For example, Brazil.
type: string
number:
description: Phone number. For example, +1 2332357613.
type: string
type:
description: "Type of number. "
enum:
- toll
- tollfree
type: string
type: object
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
type: boolean
language_interpretation:
properties:
enable:
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: "`true`- Only authenticated users can join meetings."
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_confirmation_email:
description: Send confirmation email to registrants upon successful registration.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
Show social share buttons on the meeting registration page.
This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
use_pmi:
default: false
description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
default: false
description: Enable waiting room
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
start_time:
description: Meeting start time. When using a format like "yyyy-MM-dd'T'HH:mm:ss'Z'", always use GMT time. When using a format like "yyyy-MM-dd'T'HH:mm:ss", you should use local time and specify the time zone. This is only used for scheduled meetings and recurring meetings with a fixed time.
format: date-time
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: array
type:
default: 2
description: Meeting Type: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
SessionUpdate:
description: Base object for sessions.
properties:
agenda:
description: Meeting description.
maxLength: 2000
type: string
duration:
description: Meeting duration (minutes). Used for scheduled meetings only.
type: integer
password:
description: |-
Meeting passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *] and can have a maximum of 10 characters.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
allOf:
- description: Meeting settings.
properties:
allow_multiple_devices:
description: Allow attendees to join the meeting from multiple devices. This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
alternative_hosts:
description: "Alternative host's emails or IDs: multiple values are separated by a semicolon."
type: string
alternative_hosts_email_notification:
default: true
description: Flag to determine whether to send email notifications to alternative hosts, default value is true.
type: boolean
approval_type:
default: 2
description: |-
Enable registration and set approval for the registration. Note that this feature requires the host to be of **Licensed** user type. **Registration cannot be enabled for a basic user.**
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
approved_or_denied_countries_or_regions:
description: |
Approve or block users from specific regions/countries from joining this meeting.
properties:
approved_list:
description: "List of countries/regions from where participants can join this meeting. "
items:
type: string
type: array
denied_list:
description: "List of countries/regions from where participants can not join this meeting. "
items:
type: string
type: array
enable:
description: |-
`true`: Setting enabled to either allow users or block users from specific regions to join your meetings.
`false`: Setting disabled.
type: boolean
method:
description: |-
Specify whether to allow users from specific regions to join this meeting; or block users from specific regions from joining this meeting.
`approve`: Allow users from specific regions/countries to join this meeting. If this setting is selected, the approved regions/countries must be included in the `approved_list`.
`deny`: Block users from specific regions/countries from joining this meeting. If this setting is selected, the approved regions/countries must be included in the `denied_list`
enum:
- approve
- deny
type: string
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting. `both` - Both Telephony and VoIP. `telephony` - Telephony only. `voip` - VoIP only.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_exception:
description: The participants added here will receive unique meeting invite links and bypass authentication.
items:
properties:
email:
description: Email address of the participant.
format: email
type: string
name:
description: Name of the participant.
type: string
type: object
type: array
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Meeting authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
breakout_room:
description: Setting to [pre-assign breakout rooms](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4).
properties:
enable:
description: Set the value of this field to `true` if you would like to enable the [breakout room pre-assign](https://support.zoom.us/hc/en-us/articles/360032752671-Pre-assigning-participants-to-breakout-rooms#h_36f71353-4190-48a2-b999-ca129861c1f4) option.
type: boolean
rooms:
description: Create room(s).
items:
properties:
name:
description: Name of the breakout room.
type: string
participants:
description: Email addresses of the participants who are to be assigned to the breakout room.
items:
type: string
type: array
type: object
type: array
type: object
close_registration:
default: false
description: Close registration after event date
type: boolean
cn_meeting:
default: false
description: Host meeting in China.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the user.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the user.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
encryption_type:
description: |-
Choose between enhanced encryption and [end-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871) when starting or a meeting. When using end-to-end encryption, several features (e.g. cloud recording, phone/SIP/H.323 dial-in) will be **automatically disabled**.
The value of this field can be one of the following:
`enhanced_encryption`: Enhanced encryption. Encryption is stored in the cloud if you enable this option.
`e2ee`: [End-to-end encryption](https://support.zoom.us/hc/en-us/articles/360048660871). The encryption key is stored in your local device and can not be obtained by anyone else. Enabling this setting also **disables** the following features: join before host, cloud recording, streaming, live transcription, breakout rooms, polling, 1:1 private chat, and meeting reactions.
enum:
- enhanced_encryption
- e2ee
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the meeting.
type: string
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
global_dial_in_numbers:
description: Global Dial-in Countries/Regions
items:
properties:
city:
description: City of the number, if any. For example, Chicago.
type: string
country:
description: Country code. For example, BR.
type: string
country_name:
description: Full name of country. For example, Brazil.
type: string
number:
description: Phone number. For example, +1 2332357613.
type: string
type:
description: "Type of number. "
enum:
- toll
- tollfree
type: string
type: object
type: array
host_video:
description: Start video when the host joins the meeting.
type: boolean
in_meeting:
default: false
description: Host meeting in India.
type: boolean
jbh_time:
description: |-
If the value of "join_before_host" field is set to true, this field can be used to indicate time limits within which a participant may join a meeting before a host. The value of this field can be one of the following:
* `0`: Allow participant to join anytime.
* `5`: Allow participant to join 5 minutes before meeting start time.
* `10`: Allow participant to join 10 minutes before meeting start time.
enum:
- 0
- 5
- 10
type: integer
join_before_host:
default: false
description: Allow participants to join the meeting before the host starts the meeting. Only used for scheduled or recurring meetings.
type: boolean
language_interpretation:
properties:
enable:
type: boolean
interpreters:
description: Information associated with the interpreter.
items:
properties:
email:
description: Email address of the interpreter.
format: email
type: string
languages:
description: |-
Languages for interpretation. The string must contain two [country Ids](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) separated by a comma.
For example, if the language is to be interpreted from English to Chinese, the value of this field should be "US,CN".
type: string
type: object
type: array
type: object
meeting_authentication:
description: "`true`- Only authenticated users can join meetings."
type: boolean
mute_upon_entry:
default: false
description: Mute participants upon entry.
type: boolean
participant_video:
description: Start video when participants join the meeting.
type: boolean
registrants_confirmation_email:
description: Send confirmation email to registrants upon successful registration.
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registration_type:
default: 1
description: Registration type. Used for recurring meeting with fixed time only. `1` Attendees register once and can attend any of the occurrences. `2` Attendees need to register for each occurrence to attend. `3` Attendees register once and can choose one or more occurrences to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: |-
Show social share buttons on the meeting registration page.
This setting only works for meetings that require [registration](https://support.zoom.us/hc/en-us/articles/211579443-Setting-up-registration-for-a-meeting).
type: boolean
use_pmi:
default: false
description: Use a personal meeting ID. Only used for scheduled meetings and recurring meetings with no fixed time.
type: boolean
waiting_room:
default: false
description: Enable waiting room
type: boolean
watermark:
default: false
description: Add watermark when viewing a shared screen.
type: boolean
type: object
- properties:
registrants_confirmation_email:
description: Send confirmation Email to Registrants
type: boolean
type: object
start_time:
description: Meeting start time. When using a format like "yyyy-MM-dd'T'HH:mm:ss'Z'", always use GMT time. When using a format like "yyyy-MM-dd'T'HH:mm:ss", you should use local time and specify the time zone. Only used for scheduled meetings and recurring meetings with a fixed time.
format: date-time
type: string
template_id:
description: |-
Unique identifier of the meeting template.
Use this field if you would like to [schedule the meeting from a meeting template](https://support.zoom.us/hc/en-us/articles/360036559151-Meeting-templates#h_86f06cff-0852-4998-81c5-c83663c176fb). You can retrieve the value of this field by calling the [List meeting templates]() API.
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 2
description: Meeting Types: `1` - Instant meeting. `2` - Scheduled meeting. `3` - Recurring meeting with no fixed time. `8` - Recurring meeting with a fixed time.
enum:
- 1
- 2
- 3
- 8
type: integer
x-enum-descriptions:
- Instant Meeting
- Scheduled Meeting
- Recurring Meeting with no fixed time
- Recurring Meeting with fixed time
type: object
SessionWebinar:
description: Base webinar object for sessions.
properties:
agenda:
description: Webinar description.
type: string
duration:
description: Webinar duration (minutes). Used for scheduled webinars only.
type: integer
password:
description: "Webinar Passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters."
type: string
recurrence:
description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
properties:
end_date_time:
description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
description: |-
Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |-
Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
type: integer
type:
description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
description: |+
Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
type: string
required:
- type
title: Recurrence Webinar
type: object
settings:
description: Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the webinar.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Webinar authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: "`true`- Only authenticated users can join Webinar."
type: boolean
notify_registrants:
description: Send notification email to registrants when the host updates a webinar.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_confirmation_email:
description: Send confirmation email to registrants
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
start_time:
description: |-
Webinar start time. We support two formats for `start_time` - local time and GMT.
To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`.
To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
format: date-time
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
type: string
topic:
description: Webinar topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 5
description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
enum:
- 5
- 6
- 9
type: integer
x-enum-descriptions:
- Webinar
- Recurring Webinar with no fixed time
- Recurring Webinar with fixed time
type: object
SessionWebinarUpdate:
description: Base webinar object for sessions.
properties:
agenda:
description: Webinar description.
type: string
duration:
description: Webinar duration (minutes). Used for scheduled webinar only.
type: integer
password:
description: |+
[Webinar passcode](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords). By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ * !] and can have a maximum of 10 characters.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
If "**Require a passcode when scheduling new meetings**" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
allOf:
- description: Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the webinar.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Webinar authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: "`true`- Only authenticated users can join Webinar."
type: boolean
notify_registrants:
description: Send notification email to registrants when the host updates a webinar.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_confirmation_email:
description: Send confirmation email to registrants
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
- properties:
registrants_confirmation_email:
description: Send confirmation email to registrants.
type: boolean
type: object
start_time:
description: Webinar start time, in the format "yyyy-MM-dd'T'HH:mm:ss'Z'." Should be in GMT time. In the format "yyyy-MM-dd'T'HH:mm:ss." This should be in local time and the timezone should be specified. Only used for scheduled webinars and recurring webinars with a fixed time.
format: date-time
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
type: string
topic:
description: Webinar topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 5
description: Webinar Types: `5` - webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
enum:
- 5
- 6
- 9
type: integer
x-enum-descriptions:
- Webinar
- Recurring Webinar with no fixed time
- Recurring Webinar with fixed time
type: object
SettingsUpdateTelephony:
properties:
audio_conference_info:
default: ""
description: Third party audio conference info.
maxLength: 2048
type: string
show_international_numbers_link:
description: Show the international numbers link on the invitation email.
type: boolean
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Third party audio conference.
type: boolean
title: "Telephony update settings: Meeting settings"
type: object
TSP:
description: List of TSP accounts.
properties:
conference_code:
description: "Conference code: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
dial_in_numbers:
description: List of dial in numbers.
items:
properties:
code:
description: Country code.
maxLength: 6
type: string
country_label:
description: Country Label, if passed, will display in place of code.
maxLength: 10
type: string
number:
description: "Dial-in number: length is less than 16."
maxLength: 16
minLength: 1
type: string
type:
description: |-
Dial-in number types: `toll` - Toll number. `tollfree` -Toll free number.
`media_link` - Media link.
enum:
- toll
- tollfree
- media_link
type: string
x-enum-descriptions:
- Toll number
- Toll free number
- Media link phone number
type: object
type: array
leader_pin:
description: "Leader PIN: numeric value, length is less than 16."
maxLength: 16
minLength: 1
type: string
tsp_bridge:
description: Telephony bridge
enum:
- US_TSP_TB
- EU_TSP_TB
type: string
required:
- conference_code
- leader_pin
title: TSP Accounts List
type: object
TrackingField:
description: Tracking Field
properties:
field:
description: Label/ Name for the tracking field.
type: string
recommended_values:
description: Array of recommended values
items:
type: string
type: array
required:
description: Tracking Field Required
type: boolean
visible:
description: Tracking Field Visible
type: boolean
title: Tracking Field
type: object
TrackingFieldList:
allOf:
- properties:
total_records:
description: The number of all records available across pages
type: integer
tracking_fields:
description: Array of Tracking Fields
items:
allOf:
- properties:
id:
description: ID of Tracking Field
type: string
- description: Tracking Field
properties:
field:
description: Label/ Name for the tracking field.
type: string
recommended_values:
description: Array of recommended values
items:
type: string
type: array
required:
description: Tracking Field Required
type: boolean
visible:
description: Tracking Field Visible
type: boolean
title: Tracking Field
type: object
type: array
description: Tracking Field List
title: Tracking Field List
type: object
User:
description: The user object represents a specific user on Zoom.
properties:
created_at:
description: User create time.
format: date-time
type: string
dept:
description: Department.
type: string
email:
default: john.doe@email.com
description: User's email address.
type: string
first_name:
description: User's first name.
maxLength: 64
type: string
last_client_version:
description: User last login client version.
type: string
last_login_time:
description: User last login time.
format: date-time
type: string
last_name:
description: User's last name.
maxLength: 64
type: string
pmi:
description: Personal meeting ID.
format: int64
type: integer
role_name:
description: User's [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) name.
type: string
timezone:
description: The time zone of the user.
type: string
type:
description: User's plan type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
enum:
- 1
- 2
- 3
- 99
type: integer
use_pmi:
default: false
description: Use Personal Meeting ID for instant meetings.
type: boolean
required:
- email
- type
type: object
UserAssistantsList:
description: List of user's assistants.
properties:
assistants:
description: List of User's assistants.
items:
properties:
email:
description: Assistant's email address.
type: string
id:
description: Assistant's user ID.
type: string
type: object
maximum: 30
type: array
title: User assistants List
type: object
UserList:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
users:
description: List of user objects.
items:
allOf:
- properties:
id:
description: User ID.
type: string
type: object
- description: The user object represents a specific user on Zoom.
properties:
created_at:
description: User create time.
format: date-time
type: string
dept:
description: Department.
type: string
email:
default: john.doe@email.com
description: User's email address.
type: string
first_name:
description: User's first name.
maxLength: 64
type: string
last_client_version:
description: User last login client version.
type: string
last_login_time:
description: User last login time.
format: date-time
type: string
last_name:
description: User's last name.
maxLength: 64
type: string
pmi:
description: Personal meeting ID.
format: int64
type: integer
role_name:
description: User's [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) name.
type: string
timezone:
description: The time zone of the user.
type: string
type:
description: User's plan type: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
enum:
- 1
- 2
- 3
- 99
type: integer
use_pmi:
default: false
description: Use Personal Meeting ID for instant meetings.
type: boolean
required:
- email
- type
type: object
- properties:
group_ids:
items:
type: string
type: array
im_group_ids:
items:
type: string
type: array
type: object
type: array
description: List of users.
title: User List
type: object
UserPermissions:
description: ""
properties:
permissions:
description: List of user permissions.
items:
type: string
type: array
type: object
UserSchedulersList:
description: List of user's schedulers.
properties:
schedulers:
description: List of users for whom the current user can schedule meetings.
items:
properties:
email:
description: Email address of the scheduler.
type: string
id:
description: Unique Identifier (User ID) of the Scheduler.
type: string
pmi:
description: PMI of the meeting host in long (int64) format.
format: int64
type: integer
type: object
maximum: 30
type: array
title: User schedulers List
type: object
UserSettings:
properties:
email_notification:
description: ""
properties:
alternative_host_reminder:
default: false
description: When an alternative host is set or removed from a meeting.
type: boolean
cancel_meeting_reminder:
default: false
description: When a meeting is cancelled.
type: boolean
jbh_reminder:
default: false
description: When attendees join meeting before host.
type: boolean
schedule_for_reminder:
default: false
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
title: "User settings: Notification settings"
type: object
feature:
description: ""
properties:
cn_meeting:
description: Host meeting in China.
type: boolean
in_meeting:
description: Host meeting in India.
type: boolean
large_meeting:
description: Large meeting feature.
type: boolean
large_meeting_capacity:
description: "Large meeting capacity: can be 500 or 1000, depending on if the user has a large meeting capacity plan subscription or not."
type: integer
meeting_capacity:
description: User’s meeting capacity.
type: integer
webinar:
description: Webinar feature.
type: boolean
webinar_capacity:
description: "Webinar capacity: can be 100, 500, 1000, 3000, 5000 or 10000, depending on if the user has a webinar capacity plan subscription or not."
type: integer
zoom_phone:
description: Zoom phone feature.
type: boolean
title: "User settings: Feature settings"
type: object
in_meeting:
description: ""
properties:
allow_live_streaming:
description: Allow live streaming.
type: boolean
annotation:
default: false
description: Allow participants to use annotation tools.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_saving_chat:
default: false
description: Auto save all in-meeting chats.
type: boolean
breakout_room:
default: false
description: Allow host to split meeting participants into separate breakout rooms.
type: boolean
chat:
default: false
description: Enable chat during meeting for all participants.
type: boolean
closed_caption:
default: false
description: Enable closed captions.
type: boolean
co_host:
default: false
description: Allow the host to add co-hosts.
type: boolean
custom_data_center_regions:
description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting your real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
custom_live_streaming_service:
description: Allow custom live streaming.
type: boolean
custom_service_instructions:
description: Custom service instructions.
type: string
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["DE", "NL", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- HK
- AU
- IN
- TY
- CN
- US
- CA
- DE
- NL
- LA
items:
type: string
type: array
e2e_encryption:
description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
type: boolean
entry_exit_chime:
default: all
description: Play sound when participants join or leave: `host` - When host joins or leaves. `all` - When any participant joins or leaves. `none` - No join or leave sound.
enum:
- host
- all
- none
type: string
x-enum-descriptions:
- when host joins/leaves
- when any participant joins/leaves
- no join/leave sound
far_end_camera_control:
default: false
description: Allow another user to take control of the camera.
type: boolean
feedback:
default: false
description: Enable option to send feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the user or not.
type: boolean
group_hd:
default: false
description: Enable group HD video.
type: boolean
non_verbal_feedback:
default: false
description: Enable non-verbal feedback through screens.
type: boolean
polling:
default: false
description: Add polls to the meeting controls.
type: boolean
private_chat:
default: false
description: Enable 1:1 private chat between participants during meetings.
type: boolean
record_play_voice:
description: Record and play their own voice.
type: boolean
remote_control:
default: false
description: Enable remote control during screensharing.
type: boolean
remote_support:
default: false
description: Allow host to provide 1:1 remote support to a participant.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the user or not.
type: boolean
screen_sharing:
description: |
Allow host and participants to share their screen or content during meetings
type: boolean
share_dual_camera:
default: false
description: Share dual camera (deprecated).
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
virtual_background:
default: false
description: Enable virtual background.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow user to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
waiting_room:
default: false
description: Enable Waiting room - if enabled, attendees can only join after host approves.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
workplace_by_facebook:
description: Allow livestreaming by host through Workplace by Facebook.
type: boolean
title: "User settings: Meeting settings"
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
description: ""
properties:
ask_host_to_confirm_disclaimer:
description: Ask host to confirm the disclaimer.
type: boolean
ask_participants_to_consent_disclaimer:
description: |-
This field can be used if `recording_disclaimer` is set to true. This field indicates whether or not you would like to ask participants for consent when a recording starts. The value can be one of the following:
* `true`: Ask participants for consent when a recording starts.
* `false`: Do not ask participants for consent when a recording starts.
type: boolean
auto_delete_cmr:
default: false
description: Auto delete cloud recordings.
type: boolean
auto_delete_cmr_days:
description: A specified number of days of auto delete cloud recordings.
maximum: 60
minimum: 1
type: integer
auto_recording:
default: local
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record on local
- Record on cloud
- Disabled
cloud_recording:
default: false
description: Cloud recording.
type: boolean
host_pause_stop_recording:
default: false
description: Host can pause/stop the auto recording in the cloud.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Local recording.
type: boolean
record_audio_file:
default: false
description: Record an audio only file.
type: boolean
record_gallery_view:
default: false
description: Record the gallery view.
type: boolean
record_speaker_view:
default: false
description: Record the active speaker view.
type: boolean
recording_audio_transcript:
description: Audio transcript.
type: boolean
recording_disclaimer:
description: |
Show a disclaimer to participants before a recording starts
type: boolean
recording_password_requirement:
description: This object represents the minimum passcode requirements set for recordings via Account Recording Settings.
properties:
have_letter:
description: Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).
type: boolean
have_number:
description: Indicates whether or not passcode must contain at least one number(1, 2, 3..).
type: boolean
have_special_character:
description: "Indicates whether or not passcode must contain at least one special character(!, @, #..)."
type: boolean
length:
description: Minimum required length for the passcode.
maximum: 10
type: integer
only_allow_numeric:
description: Indicates whether or not passcode must contain only numeric characters.
type: boolean
type: object
save_chat_text:
default: false
description: Save chat text from the meeting.
type: boolean
show_timestamp:
default: false
description: Show timestamp on video.
type: boolean
title: "User settings: Recording settings"
type: object
schedule_meeting:
description: ""
properties:
audio_type:
default: voip
description: Determine how participants can join the audio portion of the meeting: `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - Third party audio conference.
enum:
- both
- telephony
- voip
- thirdParty
type: string
x-enum-descriptions:
- Telephony and VoIP
- Audio PSTN telephony only
- VoIP only
- 3rd party audio conference
default_password_for_scheduled_meetings:
description: |
Passcode for already scheduled meetings
type: string
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.
\ "
type: boolean
force_pmi_jbh_password:
description: Require a passcode for personal meetings if attendees can join before host.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Join the meeting before host arrives.
type: boolean
meeting_password_requirement:
description: Account wide meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
participants_video:
description: Start meetings with participants video on.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
pmi_password:
description: |
PMI passcode
type: string
pstn_password_protected:
description: Generate and require passcode for participants joining by phone.
type: boolean
require_password_for_instant_meetings:
description: |
Require a passcode for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: |
Require a passcode for Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
enum:
- jbh_only
- all
- none
type: string
x-enum-descriptions:
- Only meetings with Join Before Host enabled
- All meetings using PMI
- Disabled
require_password_for_scheduled_meetings:
description: |
Require a passcode for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: |
Require a passcode when scheduling new meetings.This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
use_pmi_for_instant_meetings:
description: |
Use Personal Meeting ID (PMI) when starting an instant meeting
type: boolean
use_pmi_for_scheduled_meetings:
description: |
Use Personal Meeting ID (PMI) when scheduling a meeting
type: boolean
title: "User settings: Meeting settings"
type: object
telephony:
properties:
audio_conference_info:
default: ""
description: Third party audio conference info.
maxLength: 2048
type: string
show_international_numbers_link:
description: Show the international numbers link on the invitation email.
type: boolean
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
allowed_values:
description: Telephony region options provided by Zoom to select from.
items:
type: string
type: array
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Third party audio conference.
type: boolean
title: "User settings: Meeting settings"
type: object
tsp:
description: "Account Settings: TSP."
properties:
call_out:
description: Call Out
type: boolean
call_out_countries:
description: Call Out Countries/Regions
items: {}
type: array
show_international_numbers_link:
description: Show international numbers link on the invitation email
type: boolean
title: "User settings: TSP settings"
type: object
title: User settings
type: object
UserSettingsEmailNotification:
description: ""
properties:
alternative_host_reminder:
default: false
description: When an alternative host is set or removed from a meeting.
type: boolean
cancel_meeting_reminder:
default: false
description: When a meeting is cancelled.
type: boolean
jbh_reminder:
default: false
description: When attendees join meeting before host.
type: boolean
schedule_for_reminder:
default: false
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
title: "User settings: Notification settings"
type: object
UserSettingsFeature:
description: ""
properties:
cn_meeting:
description: Host meeting in China.
type: boolean
in_meeting:
description: Host meeting in India.
type: boolean
large_meeting:
description: Large meeting feature.
type: boolean
large_meeting_capacity:
description: "Large meeting capacity: can be 500 or 1000, depending on if the user has a large meeting capacity plan subscription or not."
type: integer
meeting_capacity:
description: User’s meeting capacity.
type: integer
webinar:
description: Webinar feature.
type: boolean
webinar_capacity:
description: "Webinar capacity: can be 100, 500, 1000, 3000, 5000 or 10000, depending on if the user has a webinar capacity plan subscription or not."
type: integer
zoom_phone:
description: Zoom phone feature.
type: boolean
title: "User settings: Feature settings"
type: object
UserSettingsFeatureUpdate:
description: ""
properties:
large_meeting:
description: Enable [large meeting](https://support.zoom.us/hc/en-us/articles/201362823-What-is-a-Large-Meeting-) feature for the user.
type: boolean
large_meeting_capacity:
description: Set the meeting capacity for the user if the user has **Large meeting** feature enabled. The value for the field can be either 500 or 1000.
type: integer
meeting_capacity:
description: Set a user's meeting capacity. User’s meeting capacity denotes the maximum number of participants that can join a meeting scheduled by the user.
type: integer
webinar:
description: Enable Webinar feature for the user.
type: boolean
webinar_capacity:
description: Set the Webinar capacity for a user who has the Webinar feature enabled. The value of this field can be 100, 500, 1000, 3000, 5000 or 10000.
type: integer
zoom_phone:
description: Zoom phone feature.
type: boolean
title: "User settings: Feature settings"
type: object
UserSettingsInMeeting:
description: ""
properties:
allow_live_streaming:
description: Allow live streaming.
type: boolean
annotation:
default: false
description: Allow participants to use annotation tools.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_saving_chat:
default: false
description: Auto save all in-meeting chats.
type: boolean
breakout_room:
default: false
description: Allow host to split meeting participants into separate breakout rooms.
type: boolean
chat:
default: false
description: Enable chat during meeting for all participants.
type: boolean
closed_caption:
default: false
description: Enable closed captions.
type: boolean
co_host:
default: false
description: Allow the host to add co-hosts.
type: boolean
custom_data_center_regions:
description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting your real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
custom_live_streaming_service:
description: Allow custom live streaming.
type: boolean
custom_service_instructions:
description: Custom service instructions.
type: string
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["DE", "NL", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- HK
- AU
- IN
- TY
- CN
- US
- CA
- DE
- NL
- LA
items:
type: string
type: array
e2e_encryption:
description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
type: boolean
entry_exit_chime:
default: all
description: Play sound when participants join or leave: `host` - When host joins or leaves. `all` - When any participant joins or leaves. `none` - No join or leave sound.
enum:
- host
- all
- none
type: string
x-enum-descriptions:
- when host joins/leaves
- when any participant joins/leaves
- no join/leave sound
far_end_camera_control:
default: false
description: Allow another user to take control of the camera.
type: boolean
feedback:
default: false
description: Enable option to send feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the user or not.
type: boolean
group_hd:
default: false
description: Enable group HD video.
type: boolean
non_verbal_feedback:
default: false
description: Enable non-verbal feedback through screens.
type: boolean
polling:
default: false
description: Add polls to the meeting controls.
type: boolean
private_chat:
default: false
description: Enable 1:1 private chat between participants during meetings.
type: boolean
record_play_voice:
description: Record and play their own voice.
type: boolean
remote_control:
default: false
description: Enable remote control during screensharing.
type: boolean
remote_support:
default: false
description: Allow host to provide 1:1 remote support to a participant.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the user or not.
type: boolean
screen_sharing:
description: |
Allow host and participants to share their screen or content during meetings
type: boolean
share_dual_camera:
default: false
description: Share dual camera (deprecated).
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
virtual_background:
default: false
description: Enable virtual background.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow user to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
waiting_room:
default: false
description: Enable Waiting room - if enabled, attendees can only join after host approves.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
workplace_by_facebook:
description: Allow livestreaming by host through Workplace by Facebook.
type: boolean
title: "User settings: Meeting settings"
type: object
UserSettingsRecording:
description: ""
properties:
ask_host_to_confirm_disclaimer:
description: Ask host to confirm the disclaimer.
type: boolean
ask_participants_to_consent_disclaimer:
description: |-
This field can be used if `recording_disclaimer` is set to true. This field indicates whether or not you would like to ask participants for consent when a recording starts. The value can be one of the following:
* `true`: Ask participants for consent when a recording starts.
* `false`: Do not ask participants for consent when a recording starts.
type: boolean
auto_delete_cmr:
default: false
description: Auto delete cloud recordings.
type: boolean
auto_delete_cmr_days:
description: A specified number of days of auto delete cloud recordings.
maximum: 60
minimum: 1
type: integer
auto_recording:
default: local
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record on local
- Record on cloud
- Disabled
cloud_recording:
default: false
description: Cloud recording.
type: boolean
host_pause_stop_recording:
default: false
description: Host can pause/stop the auto recording in the cloud.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Local recording.
type: boolean
record_audio_file:
default: false
description: Record an audio only file.
type: boolean
record_gallery_view:
default: false
description: Record the gallery view.
type: boolean
record_speaker_view:
default: false
description: Record the active speaker view.
type: boolean
recording_audio_transcript:
description: Audio transcript.
type: boolean
recording_disclaimer:
description: |
Show a disclaimer to participants before a recording starts
type: boolean
recording_password_requirement:
description: This object represents the minimum passcode requirements set for recordings via Account Recording Settings.
properties:
have_letter:
description: Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).
type: boolean
have_number:
description: Indicates whether or not passcode must contain at least one number(1, 2, 3..).
type: boolean
have_special_character:
description: "Indicates whether or not passcode must contain at least one special character(!, @, #..)."
type: boolean
length:
description: Minimum required length for the passcode.
maximum: 10
type: integer
only_allow_numeric:
description: Indicates whether or not passcode must contain only numeric characters.
type: boolean
type: object
save_chat_text:
default: false
description: Save chat text from the meeting.
type: boolean
show_timestamp:
default: false
description: Show timestamp on video.
type: boolean
title: "User settings: Recording settings"
type: object
UserSettingsScheduleMeeting:
description: ""
properties:
audio_type:
default: voip
description: Determine how participants can join the audio portion of the meeting: `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - Third party audio conference.
enum:
- both
- telephony
- voip
- thirdParty
type: string
x-enum-descriptions:
- Telephony and VoIP
- Audio PSTN telephony only
- VoIP only
- 3rd party audio conference
default_password_for_scheduled_meetings:
description: |
Passcode for already scheduled meetings
type: string
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.
\ "
type: boolean
force_pmi_jbh_password:
description: Require a passcode for personal meetings if attendees can join before host.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Join the meeting before host arrives.
type: boolean
meeting_password_requirement:
description: Account wide meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
participants_video:
description: Start meetings with participants video on.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
pmi_password:
description: |
PMI passcode
type: string
pstn_password_protected:
description: Generate and require passcode for participants joining by phone.
type: boolean
require_password_for_instant_meetings:
description: |
Require a passcode for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: |
Require a passcode for Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
enum:
- jbh_only
- all
- none
type: string
x-enum-descriptions:
- Only meetings with Join Before Host enabled
- All meetings using PMI
- Disabled
require_password_for_scheduled_meetings:
description: |
Require a passcode for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: |
Require a passcode when scheduling new meetings.This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
use_pmi_for_instant_meetings:
description: |
Use Personal Meeting ID (PMI) when starting an instant meeting
type: boolean
use_pmi_for_scheduled_meetings:
description: |
Use Personal Meeting ID (PMI) when scheduling a meeting
type: boolean
title: "User settings: Meeting settings"
type: object
UserSettingsTSP:
description: "Account Settings: TSP."
properties:
call_out:
description: Call Out
type: boolean
call_out_countries:
description: Call Out Countries/Regions
items: {}
type: array
show_international_numbers_link:
description: Show international numbers link on the invitation email
type: boolean
title: "User settings: TSP settings"
type: object
UserSettingsTelephony:
properties:
audio_conference_info:
default: ""
description: Third party audio conference info.
maxLength: 2048
type: string
show_international_numbers_link:
description: Show the international numbers link on the invitation email.
type: boolean
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
allowed_values:
description: Telephony region options provided by Zoom to select from.
items:
type: string
type: array
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Third party audio conference.
type: boolean
title: "User settings: Meeting settings"
type: object
UserSettingsUpdate:
properties:
email_notification:
description: ""
properties:
alternative_host_reminder:
default: false
description: When an alternative host is set or removed from a meeting.
type: boolean
cancel_meeting_reminder:
default: false
description: When a meeting is cancelled.
type: boolean
jbh_reminder:
default: false
description: When attendees join meeting before host.
type: boolean
schedule_for_reminder:
default: false
description: Notify the host there is a meeting is scheduled, rescheduled, or cancelled.
type: boolean
title: "User settings: Notification settings"
type: object
feature:
description: ""
properties:
large_meeting:
description: Enable [large meeting](https://support.zoom.us/hc/en-us/articles/201362823-What-is-a-Large-Meeting-) feature for the user.
type: boolean
large_meeting_capacity:
description: Set the meeting capacity for the user if the user has **Large meeting** feature enabled. The value for the field can be either 500 or 1000.
type: integer
meeting_capacity:
description: Set a user's meeting capacity. User’s meeting capacity denotes the maximum number of participants that can join a meeting scheduled by the user.
type: integer
webinar:
description: Enable Webinar feature for the user.
type: boolean
webinar_capacity:
description: Set the Webinar capacity for a user who has the Webinar feature enabled. The value of this field can be 100, 500, 1000, 3000, 5000 or 10000.
type: integer
zoom_phone:
description: Zoom phone feature.
type: boolean
title: "User settings: Feature settings"
type: object
in_meeting:
description: ""
properties:
allow_live_streaming:
description: Allow live streaming.
type: boolean
annotation:
default: false
description: Allow participants to use annotation tools.
type: boolean
attendee_on_hold:
default: false
description: |-
Allow host to put attendee on hold.
**This field has been deprecated and is no longer supported.**
type: boolean
auto_saving_chat:
default: false
description: Auto save all in-meeting chats.
type: boolean
breakout_room:
default: false
description: Allow host to split meeting participants into separate breakout rooms.
type: boolean
chat:
default: false
description: Enable chat during meeting for all participants.
type: boolean
closed_caption:
default: false
description: Enable closed captions.
type: boolean
co_host:
default: false
description: Allow the host to add co-hosts.
type: boolean
custom_data_center_regions:
description: If set to `true`, you can [select data center regions](https://support.zoom.us/hc/en-us/articles/360042411451-Selecting-data-center-regions-for-hosted-meetings-and-webinars) to use for hosting your real-time meeting and webinar traffic. These regions can be provided in the `data_center_regions` field. If set to `false`, the regions cannot be customized and the default regions will be used.
type: boolean
custom_live_streaming_service:
description: Allow custom live streaming.
type: boolean
custom_service_instructions:
description: Custom service instructions.
type: string
data_center_regions:
description: |
If you have set the value of `custom_data_center_regions` to `true`, specify the data center regions that you would like to opt in to (country codes from among: ["DE", "NL", "HK", "AU", "IN", "LA", "TY", "CN", "US", "CA"]).
enum:
- HK
- AU
- IN
- TY
- CN
- US
- CA
- DE
- NL
- LA
items:
type: string
type: array
e2e_encryption:
description: Zoom requires encryption for all data between the Zoom cloud, Zoom client, and Zoom Room. Require encryption for 3rd party endpoints (H323/SIP).
type: boolean
entry_exit_chime:
default: all
description: Play sound when participants join or leave: `host` - When host joins or leaves. `all` - When any participant joins or leaves. `none` - No join or leave sound.
enum:
- host
- all
- none
type: string
x-enum-descriptions:
- when host joins/leaves
- when any participant joins/leaves
- no join/leave sound
far_end_camera_control:
default: false
description: Allow another user to take control of the camera.
type: boolean
feedback:
default: false
description: Enable option to send feedback to Zoom at the end of the meeting.
type: boolean
file_transfer:
description: Indicates whether [in-meeting file transfer](https://support.zoom.us/hc/en-us/articles/209605493-In-meeting-file-transfer) setting has been enabled for the user or not.
type: boolean
group_hd:
default: false
description: Enable group HD video.
type: boolean
non_verbal_feedback:
default: false
description: Enable non-verbal feedback through screens.
type: boolean
polling:
default: false
description: Add polls to the meeting controls.
type: boolean
private_chat:
default: false
description: Enable 1:1 private chat between participants during meetings.
type: boolean
record_play_voice:
description: Record and play their own voice.
type: boolean
remote_control:
default: false
description: Enable remote control during screensharing.
type: boolean
remote_support:
default: false
description: Allow host to provide 1:1 remote support to a participant.
type: boolean
request_permission_to_unmute:
description: Indicates whether the [**Request permission to unmute participants**](https://support.zoom.us/hc/en-us/articles/203435537-Muting-and-unmuting-participants-in-a-meeting#h_01EGK4XFWS1SJGZ71MYGKF7260) option has been enabled for the user or not.
type: boolean
screen_sharing:
description: |
Allow host and participants to share their screen or content during meetings
type: boolean
share_dual_camera:
default: false
description: Share dual camera (deprecated).
type: boolean
show_meeting_control_toolbar:
description: Always show meeting controls during a meeting.
type: boolean
virtual_background:
default: false
description: Enable virtual background.
type: boolean
virtual_background_settings:
description: Settings to manage virtual background.
properties:
allow_upload_custom:
description: Allow user to upload custom backgrounds.
type: boolean
allow_videos:
description: Allow use of videos for virtual backgrounds.
type: boolean
enable:
description: Enable virtual background.
type: boolean
files:
items:
properties:
id:
description: Unique identifier of the file.
type: string
is_default:
description: Indicates whether or not this file is the default virtual background file.
type: boolean
name:
description: File name.
type: string
size:
description: File size.
type: string
type:
description: File type.
type: string
type: object
type: array
type: object
waiting_room:
default: false
description: Enable Waiting room - if enabled, attendees can only join after host approves.
type: boolean
who_can_share_screen:
description: |
Indicates who can share their screen or content during meetings. The value can be one of the following:
`host`: Only host can share the screen.
`all`: Both hosts and attendees can share their screen during meetings. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
who_can_share_screen_when_someone_is_sharing:
description: |
Indicates who is allowed to start sharing screen when someone else in the meeting is sharing their screen. The value can be one of the following:
`host`: Only a host can share the screen when someone else is sharing.
`all`: Anyone in the meeting is allowed to start sharing their screen when someone else is sharing. For Webinar, the hosts and panelists can start screen sharing, but not the attendees.
enum:
- host
- all
type: string
workplace_by_facebook:
description: Allow livestreaming by host through Workplace by Facebook.
type: boolean
title: "User settings: Meeting settings"
type: object
profile:
properties:
recording_storage_location:
properties:
allowed_values:
description: |-
Users can choose the country to store their recorded content. Content can include meeting, webinar, and phone recordings, as well as voicemail, transcripts, and custom greeting prompts. See [Managing the Communications Content storage location](https://support.zoom.us/hc/en-us/articles/360050781131) for details.
Provide abbreviated country codes as the value for this field. See the [Countries abbreviation list](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) for details.
items:
type: string
type: array
value:
description: Abbreviated country code.
type: string
type: object
title: Profile
type: object
recording:
description: ""
properties:
ask_host_to_confirm_disclaimer:
description: Ask host to confirm the disclaimer.
type: boolean
ask_participants_to_consent_disclaimer:
description: |-
This field can be used if `recording_disclaimer` is set to true. This field indicates whether or not you would like to ask participants for consent when a recording starts. The value can be one of the following:
* `true`: Ask participants for consent when a recording starts.
* `false`: Do not ask participants for consent when a recording starts.
type: boolean
auto_delete_cmr:
default: false
description: Auto delete cloud recordings.
type: boolean
auto_delete_cmr_days:
description: A specified number of days of auto delete cloud recordings.
maximum: 60
minimum: 1
type: integer
auto_recording:
default: local
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record on local
- Record on cloud
- Disabled
cloud_recording:
default: false
description: Cloud recording.
type: boolean
host_pause_stop_recording:
default: false
description: Host can pause/stop the auto recording in the cloud.
type: boolean
ip_address_access_control:
description: |
Setting to allow cloud recording access only from specific IP address ranges.
properties:
enable:
description: |+
If set to `true`, the cloud recordings of this account can only be accessed by the IP addresses defined in the `ip_addresses_or_ranges` property.
type: boolean
ip_addresses_or_ranges:
description: |+
IP addresses or ranges that have access to the cloud recordings. Separate multiple IP ranges with comma. Use n.n.n.n, n.n.n.n/n or n.n.n.n - n.n.n.n syntax where n is a number.
Example: `46.33.24.184, 48.99.100.2/25` or `200.181.108.17 - 220.181.108.157`
type: string
type: object
local_recording:
description: Local recording.
type: boolean
record_audio_file:
default: false
description: Record an audio only file.
type: boolean
record_gallery_view:
default: false
description: Record the gallery view.
type: boolean
record_speaker_view:
default: false
description: Record the active speaker view.
type: boolean
recording_audio_transcript:
description: Audio transcript.
type: boolean
recording_disclaimer:
description: |
Show a disclaimer to participants before a recording starts
type: boolean
recording_password_requirement:
description: This object represents the minimum passcode requirements set for recordings via Account Recording Settings.
properties:
have_letter:
description: Indicates whether or not passcode must contain at least one alphabetical letter (a, b, c..).
type: boolean
have_number:
description: Indicates whether or not passcode must contain at least one number(1, 2, 3..).
type: boolean
have_special_character:
description: "Indicates whether or not passcode must contain at least one special character(!, @, #..)."
type: boolean
length:
description: Minimum required length for the passcode.
maximum: 10
type: integer
only_allow_numeric:
description: Indicates whether or not passcode must contain only numeric characters.
type: boolean
type: object
save_chat_text:
default: false
description: Save chat text from the meeting.
type: boolean
show_timestamp:
default: false
description: Show timestamp on video.
type: boolean
title: "User settings: Recording settings"
type: object
schedule_meeting:
description: ""
properties:
audio_type:
default: voip
description: Determine how participants can join the audio portion of the meeting: `both` - Telephony and VoIP. `telephony` - Audio PSTN telephony only. `voip` - VoIP only. `thirdParty` - Third party audio conference.
enum:
- both
- telephony
- voip
- thirdParty
type: string
x-enum-descriptions:
- Telephony and VoIP
- Audio PSTN telephony only
- VoIP only
- 3rd party audio conference
default_password_for_scheduled_meetings:
description: |
Passcode for already scheduled meetings
type: string
embed_password_in_join_link:
description: "If the value is set to `true`, the meeting passcode will be encrypted and included in the join meeting link to allow participants to join with just one click without having to enter the passcode.
\ "
type: boolean
force_pmi_jbh_password:
description: Require a passcode for personal meetings if attendees can join before host.
type: boolean
host_video:
description: Start meetings with host video on.
type: boolean
join_before_host:
description: Join the meeting before host arrives.
type: boolean
meeting_password_requirement:
description: Account wide meeting/webinar [passcode requirements](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604).
properties:
consecutive_characters_length:
enum:
- 0
- 4
- 5
- 6
- 7
- 8
type: integer
have_letter:
description: |
If set to `true`, the passcode must contain at least 1 letter (such as a,b,c...).
type: boolean
have_number:
description: If set to `true`, the passcode must contain at least 1 number (such as 1,2,3...).
type: boolean
have_special_character:
description: If set to `true`, the passcode must have at least 1 special character (!,@,#...).
type: boolean
have_upper_and_lower_characters:
description: If set to `true`, the passcode must include both uppercase and lowercase characters.
type: boolean
length:
description: The minimum length that the meeting/webinar passcode needs to have.
type: integer
only_allow_numeric:
description: If set to `true`, the passcode must only contain numbers and no other characters.
type: boolean
weak_enhance_detection:
description: If set to `true`, users will be informed if the provided passcode is weak.
type: boolean
type: object
participants_video:
description: Start meetings with participants video on.
type: boolean
personal_meeting:
description: |+
Personal Meeting Setting.
`true`: Indicates that the **"Enable Personal Meeting ID"** setting is turned on. Users can choose to use personal meeting ID for their meetings.
`false`: Indicates that the **"Enable Personal Meeting ID"** setting is [turned off](https://support.zoom.us/hc/en-us/articles/201362843-Personal-meeting-ID-PMI-and-personal-link#h_aa0335c8-3b06-41bc-bc1f-a8b84ef17f2a). If this setting is disabled, meetings that were scheduled with PMI will be invalid. Scheduled meetings will need to be manually updated.
For Zoom Phone only:If a user has been assigned a desk phone, **"Elevate to Zoom Meeting"** on desk phone will be disabled.
type: boolean
pmi_password:
description: |
PMI passcode
type: string
pstn_password_protected:
description: Generate and require passcode for participants joining by phone.
type: boolean
require_password_for_instant_meetings:
description: |
Require a passcode for instant meetings. If you use PMI for your instant meetings, this option will be disabled. This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
require_password_for_pmi_meetings:
description: |
Require a passcode for Personal Meeting ID (PMI). This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
enum:
- jbh_only
- all
- none
type: string
x-enum-descriptions:
- Only meetings with Join Before Host enabled
- All meetings using PMI
- Disabled
require_password_for_scheduled_meetings:
description: |
Require a passcode for meetings which have already been scheduled
type: boolean
require_password_for_scheduling_new_meetings:
description: |
Require a passcode when scheduling new meetings.This setting is always enabled for free accounts and Pro accounts with a single host and cannot be modified for these accounts.
type: boolean
use_pmi_for_instant_meetings:
description: |
Use Personal Meeting ID (PMI) when starting an instant meeting
type: boolean
use_pmi_for_scheduled_meetings:
description: |
Use Personal Meeting ID (PMI) when scheduling a meeting
type: boolean
title: "User settings: Meeting settings"
type: object
telephony:
properties:
audio_conference_info:
default: ""
description: Third party audio conference info.
maxLength: 2048
type: string
show_international_numbers_link:
description: Show the international numbers link on the invitation email.
type: boolean
telephony_regions:
description: Indicates where most of the participants call into or call from duriing a meeting.
properties:
selection_values:
description: Telephony regions selected by the account to indicate where most of the participants call into or call from during a meeting.
items:
type: string
type: array
type: object
third_party_audio:
description: Third party audio conference.
type: boolean
title: "Telephony update settings: Meeting settings"
type: object
tsp:
description: "Account Settings: TSP."
properties:
call_out:
description: Call Out
type: boolean
call_out_countries:
description: Call Out Countries/Regions
items: {}
type: array
show_international_numbers_link:
description: Show international numbers link on the invitation email
type: boolean
title: "User settings: TSP settings"
type: object
title: User settings
type: object
UserUpdate:
description: The user update object represents a user on Zoom.
properties:
cms_user_id:
description: Kaltura user ID.
type: string
company:
description: User's company.
maxLength: 255
type: string
custom_attributes:
description: Custom attribute(s) of the user.
properties:
key:
description: Identifier for the custom attribute.
type: string
name:
description: Name of the custom attribute.
type: string
value:
description: Value of the custom attribute.
type: string
type: object
dept:
description: "Department for user profile: use for report."
type: string
first_name:
description: User's first name. Cannot contain more than 5 Chinese characters.
maxLength: 64
type: string
group_id:
description: Provide unique identifier of the group that you would like to add a [pending user](https://support.zoom.us/hc/en-us/articles/201363183-Managing-users#h_13c87a2a-ecd6-40ad-be61-a9935e660edb) to. The value of this field can be retrieved from [List Groups](https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups) API.
type: string
host_key:
description: Host key. It should be a 6-10 digit number.
maxLength: 10
minLength: 6
type: string
job_title:
description: User's job title.
maxLength: 128
type: string
language:
description: language
type: string
last_name:
description: User's last name. Cannot contain more than 5 Chinese characters.
maxLength: 64
type: string
location:
description: User's location.
maxLength: 256
type: string
manager:
description: The manager for the user.
format: email
type: string
phone_country:
description: |-
**Note:** This field has been **deprecated** and will not be supported in the future. Use the **country** field of the **phone_numbers** object instead to select the country for the phone number.
[Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `phone_number` field is a Brazil based number, the value of the `phone_country` field should be `BR`.
type: string
phone_number:
description: |-
**Note:** This field has been **deprecated** and will not be supported in the future. Use the **phone_numbers** field instead to assign phone number(s) to a user.
Phone number of the user. To update a phone number, you must also provide the `phone_country` field.
type: string
phone_numbers:
properties:
code:
description: Country code of the phone number. For example, for United States phone numbers, the value of this field should be "+1".
type: string
country:
description: "[Country ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) of the phone number. For example, if the phone number provided in the `number` field is a Brazil based number, the value of the `country` field should be `BR`."
type: string
number:
description: Phone number of the user.
type: string
type: object
pmi:
description: "Personal meeting ID: length must be 10."
maxLength: 10
minLength: 10
type: integer
timezone:
description: The time zone ID for a user profile. For this parameter value please refer to the ID value in the [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list.
type: string
type:
description: User types: `1` - Basic. `2` - Licensed. `3` - On-prem. `99` - None (this can only be set with `ssoCreate`).
enum:
- 1
- 2
- 3
- 99
type: integer
use_pmi:
default: false
description: Use Personal Meeting ID for instant meetings.
type: boolean
vanity_name:
description: Personal meeting room name.
type: string
type: object
Webinar:
allOf:
- description: Base webinar object for sessions.
properties:
agenda:
description: Webinar description.
type: string
duration:
description: Webinar duration (minutes). Used for scheduled webinars only.
type: integer
password:
description: "Webinar Passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ *]. Max of 10 characters."
type: string
recurrence:
description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
properties:
end_date_time:
description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
description: |-
Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |-
Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
type: integer
type:
description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
description: |+
Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
type: string
required:
- type
title: Recurrence Webinar
type: object
settings:
description: Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the webinar.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Webinar authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: "`true`- Only authenticated users can join Webinar."
type: boolean
notify_registrants:
description: Send notification email to registrants when the host updates a webinar.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_confirmation_email:
description: Send confirmation email to registrants
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
start_time:
description: |-
Webinar start time. We support two formats for `start_time` - local time and GMT.
To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`.
To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
format: date-time
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
type: string
topic:
description: Webinar topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 5
description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
enum:
- 5
- 6
- 9
type: integer
x-enum-descriptions:
- Webinar
- Recurring Webinar with no fixed time
- Recurring Webinar with fixed time
type: object
description: Webinar object.
type: object
WebinarInfo:
description: Webinar object.
properties:
agenda:
description: Webinar agenda.
type: string
created_at:
description: Create time.
format: date-time
type: string
duration:
description: Webinar duration.
type: integer
join_url:
description: URL to join the Webinar. This URL should only be shared with the users who should be invited to the Webinar.
type: string
occurrences:
description: Array of occurrence objects.
items:
description: Occurence object. This object is only returned for Recurring Webinars.
properties:
duration:
description: Duration.
type: integer
occurrence_id:
description: "Occurrence ID: Unique Identifier that identifies an occurrence of a recurring webinar. [Recurring webinars](https://support.zoom.us/hc/en-us/articles/216354763-How-to-Schedule-A-Recurring-Webinar) can have a maximum of 50 occurrences."
type: string
start_time:
description: Start time.
format: date-time
type: string
status:
description: Occurrence status.
type: string
type: object
type: array
password:
description: |+
Webinar passcode.
If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
properties:
end_date_time:
description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
description: |-
Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |-
Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
type: integer
type:
description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
description: |+
Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
type: string
required:
- type
title: Recurrence Webinar
type: object
settings:
description: Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the webinar.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Webinar authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: "`true`- Only authenticated users can join Webinar."
type: boolean
notify_registrants:
description: Send notification email to registrants when the host updates a webinar.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_confirmation_email:
description: Send confirmation email to registrants
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
start_time:
description: Webinar start time in GMT/UTC.
format: date-time
type: string
start_url:
description: |-
type: string
timezone:
description: Time zone to format start_time.
type: string
topic:
description: Webinar topic.
maxLength: 200
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 5
description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
enum:
- 5
- 6
- 9
type: integer
x-enum-descriptions:
- Webinar
- Recurring Webinar with no fixed time
- Recurring Webinar with fixed time
type: object
WebinarInstances:
allOf:
- properties:
webinars:
description: List of ended webinar instances.
items:
allOf:
- properties:
start_time:
description: Start time.
format: date-time
type: string
uuid:
description: Webinar UUID.
type: string
type: object
type: array
description: List of webinars.
title: Webinar instances
type: object
WebinarList:
allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
webinars:
description: List of webinar objects.
items:
allOf:
- properties:
agenda:
description: Webinar Description. The length of agenda gets truncated to 250 characters when you list all webinars for a user. To view the complete agenda, retrieve details for a single webinar [here](https://marketplace.zoom.us/docs/api-reference/zoom-api/webinars/webinar).
type: string
created_at:
description: Time of webinar creation.
format: date-time
type: string
duration:
description: Meeting duration.
type: integer
host_id:
description: ID of the host of the webinar.
type: string
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
join_url:
description: Join URL of the webinar (using which others can join the webinar).
type: string
start_time:
description: Scheduled start time of the Webinar.
format: date-time
type: string
timezone:
description: "[Timezone ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) for the Webinar."
type: string
topic:
description: Meeting topic.
type: string
type:
description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
type: string
uuid:
description: Unique identifier of a Webinar. Each webinar instance will generate its own UUID. Once a Webinar ends, the value of uuid for the same webinar will be different from when it was scheduled.
type: string
type: object
type: array
description: List of webinars.
title: User List
type: object
WebinarMetric:
description: Webinar metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the Webinar.
items:
properties:
key:
description: Custom key associated with the Webinar.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the Webinar.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: "Webinar duration, formatted as hh:mm:ss, for example: `10:00` for ten minutes."
type: string
email:
description: User email.
type: string
end_time:
description: Webinar end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not TSP was used for the Webinar.
type: boolean
has_pstn:
description: Indicates whether or not PSTN was used for the Webinar.
type: boolean
has_recording:
description: Indicates whether or not recording was used for the Webinar.
type: boolean
has_screen_share:
description: Indicates whether or not screen sharing was used for the Webinar.
type: boolean
has_sip:
description: Indicates whether or not SIP was used for the Webinar.
type: boolean
has_video:
description: Indicates whether or not video was used for the Webinar.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used for the Webinar.
type: boolean
host:
description: User display name.
type: string
id:
description: Webinar ID in "**long**" format(represented as int64 data type in JSON), also known as the webinar number.
format: int64
type: integer
participants:
description: Webinar participant count.
type: integer
start_time:
description: Webinar start time.
format: date-time
type: string
topic:
description: Webinar topic.
type: string
user_type:
description: User type.
type: string
uuid:
description: Webinar UUID.
format: uuid
type: string
title: Webinar Metrics
type: object
WebinarPanelist:
description: Webinar panelist.
properties:
panelists:
description: List of panelist objects.
items:
allOf:
- description: Panelist base object.
properties:
email:
description: Panelist's email.
format: email
type: string
name:
description: Panelist's full name.
type: string
type: object
maximum: 30
type: array
type: object
WebinarPanelistList:
allOf:
- description: List of panelists.
properties:
panelists:
description: List of panelist objects.
items:
allOf:
- properties:
id:
description: Panelist's ID.
type: string
type: object
- description: Panelist base object.
properties:
email:
description: Panelist's email.
format: email
type: string
name:
description: Panelist's full name.
type: string
type: object
- properties:
join_url:
description: Join URL.
type: string
type: object
type: array
total_records:
description: Total records.
type: integer
title: Panelist List
type: object
description: Webinar panelist.
type: object
WebinarRegistrant:
allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: Webinar registrant.
type: object
WebinarRegistrantList:
allOf:
- allOf:
- description: Pagination Object.
properties:
next_page_token:
description: The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: |-
**Deprecated**: This field has been deprecated. Please use the "next_page_token" field for pagination instead of this field.
The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
type: object
- properties:
registrants:
description: List of registrant objects.
items:
allOf:
- properties:
id:
description: Registrant ID.
type: string
type: object
- allOf:
- description: Registrant base object.
properties:
address:
description: Registrant's address.
type: string
city:
description: Registrant's city.
type: string
comments:
description: A field that allows registrants to provide any questions or comments that they might have.
type: string
country:
description: Registrant's country. The value of this field must be in two-letter abbreviated form and must match the ID field provided in the [Countries](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries) table.
type: string
custom_questions:
description: Custom questions.
items:
description: Custom Question.
properties:
title:
type: string
value:
type: string
type: object
type: array
email:
description: A valid email address of the registrant.
maxLength: 128
type: string
first_name:
description: Registrant's first name.
maxLength: 64
type: string
industry:
description: Registrant's Industry.
type: string
job_title:
description: Registrant's job title.
type: string
last_name:
description: Registrant's last name.
maxLength: 64
type: string
no_of_employees:
description: Number of Employees: `1-20` `21-50` `51-100` `101-500` `500-1,000` `1,001-5,000` `5,001-10,000` `More than 10,000`
type: string
org:
description: Registrant's Organization.
type: string
phone:
description: Registrant's Phone number.
type: string
purchasing_time_frame:
description: |-
This field can be included to gauge interest of webinar attendees towards buying your product or service.
Purchasing Time Frame: `Within a month` `1-3 months` `4-6 months` `More than 6 months` `No timeframe`
type: string
role_in_purchase_process:
description: "Role in Purchase Process: `Decision Maker` `Evaluator/Recommender` `Influencer` `Not involved` "
type: string
state:
description: Registrant's State/Province.
type: string
zip:
description: Registrant's Zip/Postal Code.
type: string
required:
- email
- first_name
type: object
description: " Registrant."
type: object
- properties:
create_time:
description: The time at which the registrant registered.
format: date-time
type: string
join_url:
description: The URL using which an approved registrant can join the webinar.
format: string
type: string
status:
description: "The status of the registrant's registration. `approved`: User has been successfully approved for the webinar. `pending`: The registration is still pending. `denied`: User has been denied from joining the webinar."
type: string
type: object
type: array
description: List of users.
title: Registration List
type: object
description: List of users.
title: Registration List
type: object
WebinarRegistrantQuestions:
description: Webinar Registrant Questions
properties:
custom_questions:
description: Array of Registrant Custom Questions.
items:
properties:
answers:
description: An array of answer choices. Can't be used for short answer type.
items:
type: string
type: array
required:
description: State whether or not the custom question is required to be answered by a registrant.
type: boolean
title:
description: Custom question.
type: string
type:
description: The question-answer type.
enum:
- short
- single_radio
- single_dropdown
- multiple
type: string
x-enum-descriptions:
- Short Answer
- Single Radio Answer
- Single Dropdown Answer
- Multiple Answer
type: array
questions:
description: Array of registration fields whose values should be provided by registrants during registration.
items:
properties:
field_name:
description: Field name
enum:
- last_name
- address
- city
- country
- zip
- state
- phone
- industry
- org
- job_title
- purchasing_time_frame
- role_in_purchase_process
- no_of_employees
- comments
type: string
x-enum-descriptions:
- Last Name
- Address
- City
- Country/Region
- Zip/Postal Code
- State/Province
- Phone
- Industry
- Organization
- Job Title
- Purchasing Time Frame
- Role in Purchase Process
- Number of Employees
- Questions & Comments
required:
description: State whether the selected fields are required or optional.
type: boolean
type: array
title: Webinar Registrant Questions
type: object
WebinarSettings:
description: Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the webinar.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Webinar authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: "`true`- Only authenticated users can join Webinar."
type: boolean
notify_registrants:
description: Send notification email to registrants when the host updates a webinar.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_confirmation_email:
description: Send confirmation email to registrants
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
WebinarUpdate:
allOf:
- description: Base webinar object for sessions.
properties:
agenda:
description: Webinar description.
type: string
duration:
description: Webinar duration (minutes). Used for scheduled webinar only.
type: integer
password:
description: |+
[Webinar passcode](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords). By default, passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ * !] and can have a maximum of 10 characters.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling either the [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings) or the [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
If "**Require a passcode when scheduling new meetings**" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
maxLength: 10
type: string
recurrence:
description: "Recurrence object. Use this object only for a meeting with type `8` i.e., a recurring meeting with fixed time. "
properties:
end_date_time:
description: Select the final date on which the meeting will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the meeting should recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
default: 1
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state which day in a month, the meeting should recur. The value range is from 1 to 31.
For instance, if you would like the meeting to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the meeting to recur every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring meeting of type** `3` to state the week of the month when the meeting should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the meeting should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: |-
Use this field **only if you're scheduling a recurring meeting of type** `3` to state a specific day in a week when the monthly meeting should recur. To use this field, you must also use the `monthly_week` field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |+
Define the interval at which the meeting should recur. For instance, if you would like to schedule a meeting that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily meeting, the maximum interval you can set is `90` days. For a weekly meeting the maximum interval that you can set is of `12` weeks. For a monthly meeting, there is a maximum of `3` months.
type: integer
type:
description: Recurrence meeting types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
default: "1"
description: |-
This field is required **if you're scheduling a recurring meeting of type** `2` to state which day(s) of the week the meeting should repeat.
The value for this field could be a number between `1` to `7` in string format. For instance, if the meeting should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the meeting to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the meeting should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- "1"
- "2"
- "3"
- "4"
- "5"
- "6"
- "7"
type: string
required:
- type
type: object
settings:
allOf:
- description: Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: "`0` - Automatically approve. `1` - Manually approve. `2` - No registration required."
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the webinar.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: If user has configured ["Sign Into Zoom with Specified Domains"](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f) option, this will list the domains that are authenticated.
type: string
authentication_name:
description: Authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars#h_5c0df2e1-cfd2-469f-bb4a-c77d7c0cca6f).
type: string
authentication_option:
description: Webinar authentication option id.
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed in users can join this meeting.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed in users with specified domains can join meetings.
**This field is deprecated and will not be supported in the future.**
As an alternative, use the "meeting_authentication", "authentication_option" and "authentication_domains" fields to understand the [authentication configurations](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) set for the Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: "`true`- Only authenticated users can join Webinar."
type: boolean
notify_registrants:
description: Send notification email to registrants when the host updates a webinar.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_confirmation_email:
description: Send confirmation email to registrants
type: boolean
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
- properties:
registrants_confirmation_email:
description: Send confirmation email to registrants.
type: boolean
type: object
start_time:
description: Webinar start time, in the format "yyyy-MM-dd'T'HH:mm:ss'Z'." Should be in GMT time. In the format "yyyy-MM-dd'T'HH:mm:ss." This should be in local time and the timezone should be specified. Only used for scheduled webinars and recurring webinars with a fixed time.
format: date-time
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [time zone](#timezones) list for supported time zones and their formats.
type: string
topic:
description: Webinar topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
type: object
type: array
type:
default: 5
description: Webinar Types: `5` - webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
enum:
- 5
- 6
- 9
type: integer
x-enum-descriptions:
- Webinar
- Recurring Webinar with no fixed time
- Recurring Webinar with fixed time
type: object
description: Webinar object
type: object
ZoomRoom:
description: Zoom room.
properties:
account_type:
description: Zoom room email type.
type: string
calender_name:
description: Zoom calendar name.
type: string
camera:
description: Zoom room camera.
type: string
device_ip:
description: Zoom room device IP.
type: string
email:
description: Zoom room email.
type: string
health:
type: string
id:
description: Zoom room ID.
type: string
issues:
description: Zoom Room issues.
items:
type: string
type: array
last_start_time:
description: Zoom room last start time.
type: string
location:
description: Zoom room location.
type: string
microphone:
description: Zoom room microphone.
type: string
room_name:
description: Zoom room name.
type: string
speaker:
description: Zoom room speaker.
type: string
status:
description: Zoom room status.
type: string
title: Zoom Room
type: object
ZoomRoomList:
allOf:
- description: Pagination Object.
properties:
next_page_token:
type: string
page_count:
description: The number of pages returned for the request made.
type: integer
page_number:
default: 1
description: The page number of the current results.
type: integer
page_size:
default: 30
description: The number of records returned with a single API call.
maximum: 300
type: integer
total_records:
description: The total number of all the records available across pages.
type: integer
- properties:
zoom_rooms:
description: Array of Zoom Rooms
items:
description: Zoom room.
properties:
account_type:
description: Zoom room email type.
type: string
calender_name:
description: Zoom calendar name.
type: string
camera:
description: Zoom room camera.
type: string
device_ip:
description: Zoom room device IP.
type: string
email:
description: Zoom room email.
type: string
health:
type: string
id:
description: Zoom room ID.
type: string
issues:
description: Zoom Room issues.
items:
type: string
type: array
last_start_time:
description: Zoom room last start time.
type: string
location:
description: Zoom room location.
type: string
microphone:
description: Zoom room microphone.
type: string
room_name:
description: Zoom room name.
type: string
speaker:
description: Zoom room speaker.
type: string
status:
description: Zoom room status.
type: string
title: Zoom Room
type: object
type: array
description: Zoom Room List
title: Zoom Room List
type: object
authenticationusersettings:
oneOf:
- description: Set/ update [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars).
The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
properties:
authentication_option:
description: Meeting Authentication Options
properties:
action:
description: |-
Specify the action that you would like to take via this API request:
* `add` : Choose this value if you are adding an authentication option.
* `update`: Choose this value if you are updating an existing authentication option.
* `delete`: Choose this value if you are deleting an existing authentication option.
enum:
- update
- delete
- add
type: string
default_option:
description: Specify whether you would like to set this authentication option as the default option or not.
type: boolean
domains:
description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to join your meetings or webinars. "
type: string
id:
description: |2-
Authentication ID. You can get the ID from Get User Settings API with query parameter `option` set to `meeting_authentication`.
Use this field or the `name` field to identify the associated authentication option that you would like to update.
type: string
name:
description: Unique name for the authentication option.
type: string
type:
description: |2-
Authentication type. Specify one of the following authentication types for the authentication profile:
* `enforce_login`: This option allows any users to join the meeting or webinar, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can join the meeting or webinar. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
enum:
- enforce_login
- enforce_login_with_domains
type: string
type: object
meeting_authentication:
description: 'If set to "true", only authenticated users can join meetings. The method for authentication can be defined in the "authentication_option". '
type: boolean
- description: Set/Update [authentication profile for Cloud Recordings](https://support.zoom.us/hc/en-us/articles/360037756671-Authentication-Profiles-for-Cloud-Recordings).
properties:
authentication_option:
description: Specify the authentication options for this account.
properties:
action:
description: |-
Specify the action that you would like to take via this API request:
* `update`: Choose this value if you are updating an existing authentication option.
* `show` : Choose this value if you would like this option to be one of the authentication options that the host can use for sharing the recording settings.
* `hide`: Choose this value if you would like this option to not be made available to the host for recording sharing settings.
enum:
- update
- delete
- add
type: string
default_option:
description: Specify whether you would like to set this authentication option as the default option or not.
type: boolean
domains:
description: "If you chose `enforce_login_with_domains` as the authentication type, specify the domain(s) that you want to allow to view the recordings. "
type: string
id:
description: |2-
Authentication ID. You can get the ID from Get User Settings API with query parameter `option` set to `recording_authentication`.
Use this field or the `name` field to identify the associated authentication option that you would like to update or delete.
type: string
name:
description: Unique name for the authentication option.
type: string
type:
description: |+
Specify one authentication type that is to be associated with this authentication configuration:
* `internally`: This option allows you specify a rule that only signed in users within your account can view the recording.
* `enforce_login`: This option allows any users to view the recording, as long as they are signed into their Zoom account.
* `enforce_login_with_domains`: This option, allows you to specify a rule so that only those Zoom users whose email addresses contain a certain domain, can view the recording. You can either add multiple domains using a comma in between and/or use a wildcard for listing domains.
enum:
- internally
- enforce_login
- enforce_login_with_domains
type: string
type: object
recording_authentication:
description: |-
If set to `true`, only authenticated users can view the cloud recordings.
The authentication profile **must first be set at the account level via the account settings**, and later can be disabled after enabling on the preferred level - i.e. user level using user settings or at group level via group settings (if you do not want the settings to be enabled on the entire account).
type: boolean
title: UserSettingsAuthenticationUpdate
type: object
create_webinar:
description: Base webinar object for sessions.
properties:
agenda:
description: Webinar description.
type: string
duration:
description: Webinar duration (minutes). Used for scheduled webinars only.
type: integer
password:
description: |+
Webinar passcode. Passcode may only contain the following characters: [a-z A-Z 0-9 @ - _ * !]. Max of 10 characters.
If "Require a passcode when scheduling new meetings" setting has been **enabled** **and** [locked](https://support.zoom.us/hc/en-us/articles/115005269866-Using-Tiered-Settings#locked) for the user, the passcode field will be autogenerated for the Webinar in the response even if it is not provided in the API request.
**Note:** If the account owner or the admin has configured [minimum passcode requirement settings](https://support.zoom.us/hc/en-us/articles/360033559832-Meeting-and-webinar-passwords#h_a427384b-e383-4f80-864d-794bf0a37604), the passcode value provided here must meet those requirements.
If the requirements are enabled, you can view those requirements by calling [Get Account Settings](https://marketplace.zoom.us/docs/api-reference/zoom-api/accounts/accountsettings) API.
type: string
recurrence:
description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
properties:
end_date_time:
description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
description: |-
Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |-
Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
type: integer
type:
description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
description: |+
Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
type: string
required:
- type
title: Recurrence Webinar
type: object
settings:
description: Create Webinar settings.
properties:
allow_multiple_devices:
description: Allow attendees to join from multiple devices.
type: boolean
alternative_hosts:
description: Alternative host emails or IDs. Multiple values separated by comma.
type: string
approval_type:
default: 2
description: |-
The default value is `2`. To enable registration required, set the approval type to `0` or `1`. Values include:
`0` - Automatically approve. `1` - Manually approve. `2` - No registration required.
enum:
- 0
- 1
- 2
type: integer
x-enum-descriptions:
- Automatically Approve
- Manually Approve
- No Registration Required
attendees_and_panelists_reminder_email_notification:
description: Send reminder email to attendees and panelists.
properties:
enable:
description: |-
* `true`: Send reminder email to attendees and panelists.
* `false`: Do not send reminder email to attendees and panelists.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 hour before webinar. `2` - Send 1 day before webinar. `3` - Send 1 hour and 1 day before webinar. `4` - Send 1 week before webinar. `5` - Send 1 hour and 1 week before webinar. `6` - Send 1 day and 1 week before webinar. `7` - Send 1 hour, 1 day and 1 week before webinar."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 hour before webinar.
- Send 1 day before webinar.
- Send 1 hour and 1 day before webinar.
- Send 1 week before webinar.
- Send 1 hour and 1 week before webinar.
- Send 1 day and 1 week before webinar.
- Send 1 hour, 1 day and 1 week before webinar.
type: object
audio:
default: both
description: Determine how participants can join the audio portion of the meeting.
enum:
- both
- telephony
- voip
type: string
x-enum-descriptions:
- Both Telephony and VoIP
- Telephony only
- VoIP only
authentication_domains:
description: Meeting authentication domains. This option, allows you to specify the rule so that Zoom users, whose email address contains a certain domain, can join the Webinar. You can either provide multiple domains, using a comma in between and/or use a wildcard for listing domains.
type: string
authentication_option:
description: Specify the authentication type for users to join a Webinar with`meeting_authentication` setting set to `true`. The value of this field can be retrieved from the `id` field within `authentication_options` array in the response of [Get User Settings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usersettings).
type: string
auto_recording:
default: none
description: Automatic recording: `local` - Record on local. `cloud` - Record on cloud. `none` - Disabled.
enum:
- local
- cloud
- none
type: string
x-enum-descriptions:
- Record to local device
- Record to cloud
- No Recording
close_registration:
description: Close registration after event date.
type: boolean
contact_email:
description: Contact email for registration
type: string
contact_name:
description: Contact name for registration
type: string
email_language:
description: |-
Set the email language to one of the following:
`en-US`,`de-DE`,`es-ES`,`fr-FR`,`jp-JP`,`pt-PT`,`ru-RU`,`zh-CN`, `zh-TW`, `ko-KO`, `it-IT`, `vi-VN`.
type: string
enforce_login:
description: |-
Only signed-in users can join this meeting.
**This field is deprecated and will not be supported in future.**
Instead of this field, use the "meeting_authentication", "authentication_option" and/or "authentication_domains" fields to establish the authentication mechanism for this Webinar.
type: boolean
enforce_login_domains:
description: |-
Only signed-in users with specified domains can join meetings.
**This field is deprecated and will not be supported in future.**
Instead of this field, use the "authentication_domains" field for this Webinar.
type: string
follow_up_absentees_email_notification:
description: Send follow-up email to absentees.
properties:
enable:
description: |-
* `true`: Send follow-up email to absentees.
* `false`: Do not send follow-up email to absentees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 days after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 days after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
follow_up_attendees_email_notification:
description: Send follow-up email to attendees.
properties:
enable:
description: |-
* `true`: Send follow-up email to attendees.
* `false`: Do not send follow-up email to attendees.
type: boolean
type:
description: "`0` - No plan. `1` - Send 1 day after the scheduled end date. `2` - Send 2 days after the scheduled end date. `3` - Send 3 days after the scheduled end date. `4` - Send 4 days after the scheduled end date. `5` - Send 5 days after the scheduled end date. `6` - Send 6 days after the scheduled end date. `7` - Send 7 days after the scheduled end date."
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Send 1 day after the scheduled end date.
- Send 2 days after the scheduled end date.
- Send 3 days after the scheduled end date.
- Send 4 days after the scheduled end date.
- Send 5 days after the scheduled end date.
- Send 6 days after the scheduled end date.
- Send 7 days after the scheduled end date.
type: object
global_dial_in_countries:
description: List of global dial-in countries
items:
type: string
type: array
hd_video:
default: false
description: Default to HD video.
type: boolean
host_video:
description: Start video when host joins webinar.
type: boolean
meeting_authentication:
description: Only [authenticated](https://support.zoom.us/hc/en-us/articles/360037117472-Authentication-Profiles-for-Meetings-and-Webinars) users can join meeting if the value of this field is set to `true`.
type: boolean
on_demand:
default: false
description: Make the webinar on-demand
type: boolean
panelists_invitation_email_notification:
description: |-
* `true`: Send invitation email to panelists.
* `false`: Do not send invitation email to panelists.
type: boolean
panelists_video:
description: Start video when panelists join webinar.
type: boolean
post_webinar_survey:
description: Zoom will open a survey page in attendees' browsers after leaving the webinar
type: boolean
practice_session:
default: false
description: Enable practice session.
type: boolean
question_and_answer:
description: "[Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar."
properties:
allow_anonymous_questions:
description: |-
* `true`: Allow participants to send questions without providing their name to the host, co-host, and panelists..
* `false`: Do not allow anonymous questions.
type: boolean
answer_questions:
description: |-
Indicate whether you want attendees to be able to view answered questions only or view all questions.
* `only`: Attendees are able to view answered questions only.
* `all`: Attendees are able to view all questions submitted in the Q&A.
enum:
- only
- all
type: string
attendees_can_comment:
description: |-
* `true`: Attendees can answer questions or leave a comment in the question thread.
* `false`: Attendees can not answer questions or leave a comment in the question thread
type: boolean
attendees_can_upvote:
description: |-
* `true`: Attendees can click the thumbs up button to bring popular questions to the top of the Q&A window.
* `false`: Attendees can not click the thumbs up butoon on questions.
type: boolean
enable:
description: |-
* `true`: Enable [Q&A](https://support.zoom.us/hc/en-us/articles/203686015-Using-Q-A-as-the-webinar-host#:~:text=Overview,and%20upvote%20each%20other's%20questions.) for webinar.
* `false`: Disable Q&A for webinar.
type: boolean
type: object
registrants_email_notification:
description: Send email notifications to registrants about approval, cancellation, denial of the registration. The value of this field must be set to true in order to use the `registrants_confirmation_email` field.
type: boolean
registrants_restrict_number:
default: 0
description: Restrict number of registrants for a webinar. By default, it is set to `0`. A `0` value means that the restriction option is disabled. Provide a number higher than 0 to restrict the webinar registrants by the that number.
maximum: 20000
minimum: 0
type: integer
registration_type:
default: 1
description: Registration types. Only used for recurring webinars with a fixed time. `1` - Attendees register once and can attend any of the webinar sessions. `2` - Attendees need to register for each session in order to attend. `3` - Attendees register once and can choose one or more sessions to attend.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Attendees register once and can attend any of the occurrences
- Attendees need to register for each occurrence to attend
- Attendees register once and can choose one or more occurrences to attend
show_share_button:
description: Show social share buttons on the registration page.
type: boolean
survey_url:
description: Survey url for post webinar survey
type: string
type: object
start_time:
description: |-
Webinar start time. We support two formats for `start_time` - local time and GMT.
To set time as GMT the format should be `yyyy-MM-dd`T`HH:mm:ssZ`.
To set time using a specific timezone, use `yyyy-MM-dd`T`HH:mm:ss` format and specify the timezone [ID](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) in the `timezone` field OR leave it blank and the timezone set on your Zoom account will be used. You can also set the time as UTC as the timezone field.
The `start_time` should only be used for scheduled and / or recurring webinars with fixed time.
format: date-time
type: string
timezone:
description: Time zone to format start_time. For example, "America/Los_Angeles". For scheduled meetings only. Please reference our [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones) list for supported time zones and their formats.
type: string
topic:
description: Webinar topic.
type: string
tracking_fields:
description: Tracking fields
items:
properties:
field:
description: Tracking fields type
type: string
value:
description: Tracking fields value
type: string
required:
- field
type: object
type: array
type:
default: 5
description: Webinar Types: `5` - Webinar. `6` - Recurring webinar with no fixed time. `9` - Recurring webinar with a fixed time.
enum:
- 5
- 6
- 9
type: integer
x-enum-descriptions:
- Webinar
- Recurring Webinar with no fixed time
- Recurring Webinar with fixed time
type: object
listmeetingmetrics:
description: Meeting metric details.
properties:
custom_keys:
description: Custom keys and values assigned to the meeting.
items:
properties:
key:
description: Custom key associated with the meeting.
maxLength: 64
type: string
value:
description: Value of the custom key associated with the meeting.
maxLength: 256
type: string
type: object
maxItems: 10
type: array
dept:
description: Department of the host.
type: string
duration:
description: "Meeting duration. Formatted as hh:mm:ss, for example: `16:08` for 16 minutes and 8 seconds."
type: string
email:
description: Email address of the host.
type: string
end_time:
description: Meeting end time.
format: date-time
type: string
has_3rd_party_audio:
description: Indicates whether or not [third party audio](https://support.zoom.us/hc/en-us/articles/202470795-3rd-Party-Audio-Conference) was used in the meeting.
type: boolean
has_pstn:
description: Indicates whether or not the PSTN was used in the meeting.
type: boolean
has_recording:
description: "Indicates whether or not the recording feature was used in the meeting. "
type: boolean
has_screen_share:
description: Indicates whether or not screenshare feature was used in the meeting.
type: boolean
has_sip:
description: Indicates whether or not someone joined the meeting using SIP.
type: boolean
has_video:
description: Indicates whether or not video was used in the meeting.
type: boolean
has_voip:
description: Indicates whether or not VoIP was used in the meeting.
type: boolean
host:
description: Host display name.
type: string
id:
description: '[Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in "**long**" format(represented as int64 data type in JSON), also known as the meeting number.'
format: int64
type: integer
in_room_participants:
description: The number of Zoom Room participants in the meeting.
type: integer
participants:
description: Meeting participant count.
type: integer
start_time:
description: Meeting start time.
format: date-time
type: string
topic:
description: Meeting topic.
type: string
tracking_fields:
description: Tracking fields and values assigned to the meeting.
items:
properties:
field:
description: Label of the tracking field.
maxLength: 64
type: string
value:
description: Value of the tracking field.
maxLength: 256
type: string
type: object
type: array
user_type:
description: License type of the user.
type: string
uuid:
description: Meeting UUID. Please double encode your UUID when using it for API calls if the UUID begins with a '/'or contains '//' in it.
format: uuid
type: string
title: Metrics
type: object
recurrence-webinar:
description: "Recurrence object. Use this object only for a webinar of type `9` i.e., a recurring webinar with fixed time. "
properties:
end_date_time:
description: Select a date when the webinar will recur before it is canceled. Should be in UTC time, such as 2017-11-25T12:00:00Z. (Cannot be used with "end_times".)
format: date-time
type: string
end_times:
default: 1
description: Select how many times the webinar will recur before it is canceled. (Cannot be used with "end_date_time".)
maximum: 365
type: integer
monthly_day:
description: |-
Use this field **only if you're scheduling a recurring webinar of type** `3` to state which day in a month, the webinar should recur. The value range is from 1 to 31.
For instance, if you would like the webinar to recur on 23rd of each month, provide `23` as the value of this field and `1` as the value of the `repeat_interval` field. Instead, if you would like the webinar to recur once every three months, on 23rd of the month, change the value of the `repeat_interval` field to `3`.
type: integer
monthly_week:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state the week of the month when the webinar should recur. If you use this field, **you must also use the `monthly_week_day` field to state the day of the week when the webinar should recur.** `-1` - Last week of the month. `1` - First week of the month. `2` - Second week of the month. `3` - Third week of the month. `4` - Fourth week of the month.
enum:
- -1
- 1
- 2
- 3
- 4
type: integer
x-enum-descriptions:
- Last week
- First week
- Second week
- Third week
- Fourth week
monthly_week_day:
description: Use this field **only if you're scheduling a recurring webinar of type** `3` to state a specific day in a week when the monthly webinar should recur. To use this field, you must also use the `monthly_week` field. `1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-enum-descriptions:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
repeat_interval:
description: |-
Define the interval at which the webinar should recur. For instance, if you would like to schedule a Webinar that recurs every two months, you must set the value of this field as `2` and the value of the `type` parameter as `3`.
For a daily webinar, the maximum interval you can set is `90` days. For a weekly webinar, the maximum interval that you can set is `12` weeks. For a monthly webinar, the maximum interval that you can set is `3` months.
type: integer
type:
description: Recurrence webinar types: `1` - Daily. `2` - Weekly. `3` - Monthly.
enum:
- 1
- 2
- 3
type: integer
x-enum-descriptions:
- Daily
- Weekly
- Monthly
weekly_days:
description: |+
Use this field **only if you're scheduling a recurring webinar of type** `2` to state which day(s) of the week the webinar should repeat. The value for this field could be a number between `1` to `7` in string format. For instance, if the Webinar should recur on Sunday, provide `"1"` as the value of this field.
**Note:** If you would like the webinar to occur on multiple days of a week, you should provide comma separated values for this field. For instance, if the Webinar should recur on Sundays and Tuesdays provide `"1,3"` as the value of this field.
`1` - Sunday. `2` - Monday. `3` - Tuesday. `4` - Wednesday. `5` - Thursday. `6` - Friday. `7` - Saturday.
type: string
required:
- type
title: Recurrence Webinar
type: object
tsp-global-dial-in:
properties:
audio_url:
description: The global dial-in URL for a TSP enabled account. The URL must be valid with a max-length of 512 characters.
maxLength: 512
type: string
title: TSP Global Dial-In URL Setting
type: object
securitySchemes:
Bearer:
in: header
name: Authorization
type: apiKey
Client_Credentials:
description: Client Credentials Flow for ChatBots
flows:
clientCredentials:
scopes: {}
tokenUrl: https://api.zoom.us/oauth/token
type: oauth2
OAuth:
flows:
authorizationCode:
authorizationUrl: https://zoom.us/oauth/authorize
scopes: {}
tokenUrl: https://zoom.us/oauth/token
type: oauth2
x-stoplight:
docs:
includeDownloadLink: true
showModels: false