Reports 2 endpoints

GET /report/webinars/{webinarId}/qa

Retrieve a report on questions asked by participants and answered by panelists, co-hosts and hosts from past webinars.

Prerequisites:

  • Pro or a higher plan with the Webinar add-on enabled.

Scopes: report:read:admin

Granular Scopes: report:read:webinar_qna:admin

Rate Limit Label: HEAVY

operationId: Reports_getWebinarQAReport

Parameters

Name In Required Type Description
webinarId path required string

The webinar’s ID or universally unique ID (UUID).

  • If you provide a webinar ID, the API will return a response for the latest webinar instance.
  • If you provide a webinar UUID that begins with a / character or contains the // characters, you must double-encode the webinar UUID before making an API request.

Responses

200

HTTP Status Code: 200 Webinar Q&A report returned. Only available for Paid or ZMP account: {accountId}. A report can’t be generated for this account because this account is not subscribed to a webinar plan.

400

HTTP Status Code: 400

Bad Request

Error Code: 200

No permission.

404

HTTP Status Code: 404

Not Found

Error Code: 1001

User does not exist: {userId}.


Error Code: 3001

Webinar {webinarId} not found or has expired.

GET /report/webinars/{webinarId}/qa
GET /report/webinars/{webinarId}/survey

Retrieve a report on past webinar survey.

Prerequisites:

  • Pro or a higher plan with Webinar add-on enabled.

Scopes: report:read:admin

Granular Scopes: report:read:webinar_survey:admin

Rate Limit Label: HEAVY

operationId: Reports_getWebinarSurveyReport

Parameters

Name In Required Type Description
webinarId path required string

The webinar’s ID or universally unique ID (UUID).

  • If you provide a webinar ID, the API returns a response for the latest webinar instance.
  • If you provide a webinar UUID that begins with a / character or contains the // characters, you must double-encode the webinar UUID before making an API request.

Responses

200

HTTP Status Code: 200

Webinar survey report returned.

Missing webinar subscription plan.

Only available for Paid or ZMP account: {accountId}.

400

HTTP Status Code: 400

Bad Request

Error Code: 1010

User does not belong to this account:{accountId}.


Error Code: 12702

Can not access a webinar a year ago.


Error Code: 200

No permission.

404

HTTP Status Code: 404

Not Found

Error Code: 3001

Webinar {webinarId} not found or has expired.

GET /report/webinars/{webinarId}/survey

Sipphone 4 endpoints

GET /sip_phones

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

Scopes: sip_phone:read:admin

Rate Limit Label: Medium

operationId: SipPhone_list

Parameters

Name In Required Type Description
page_number query optional integer

Deprecated. We will no longer support this field in a future release. Instead, use the next_page_token for pagination.

search_key query optional string

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.

page_size query optional integer

The number of records returned within a single API call.

next_page_token query optional string

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.

Responses

200

HTTP Status Code: 200

SIP Phones listed successfully.

Error Code: 200

Permission missing: Enable SIP Phone Integration by contacting a Zoom Admin first.

400

HTTP Status Code: 400

Bad Request

GET /sip_phones
POST /sip_phones

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

Scopes: sip_phone:write:admin

Rate Limit Label: Light

operationId: SipPhone_enableUserSipPhone

Request Body

application/json
schema SipPhoneEnableUserSipPhoneRequest
Property Type Required
domain string required
password string required
user_name string required
user_email string required
voice_mail string required
proxy_server string required
proxy_server2 string optional
proxy_server3 string optional
register_server string required
register_server2 string optional
register_server3 string optional
authorization_name string required
transport_protocol string optional
transport_protocol2 string optional
transport_protocol3 string optional
registration_expire_time integer optional

Responses

201

HTTP Status Code: 201

SIP Phone Created.

400

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

HTTP Status Code: 404

Not Found

Error Code: 1001

User {userId} not exist or not belong to this account.

POST /sip_phones
DELETE /sip_phones/{phoneId}

Use this API to delete a Zoom account’s SIP phone.

Prerequisites:

  • Currently only supported on Cisco and Avaya PBX systems.
  • The user must enable SIP Phone Integration by contacting the Zoom Sales team.

Scopes: sip_phone:write:admin

Rate Limit Label: Light

operationId: SipPhone_deletePhone

Parameters

Name In Required Type Description
phoneId path required string

The SIP phone ID. It can be retrieved from the List SIP Phones API.

Responses

200

Error Code: 200
Permission missing: Enable SIP Phone Integration by contacting a Zoom Admin first.

204

HTTP Status Code: 204

SIP Phone deleted.

DELETE /sip_phones/{phoneId}
PATCH /sip_phones/{phoneId}

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

Scopes: sip_phone:write:admin

Rate Limit Label: Light

operationId: SipPhone_updateSpecificPhone

Parameters

Name In Required Type Description
phoneId path required string

The SIP phone ID. This can be retrieved from the List SIP Phones API.

Request Body

application/json
schema SipPhoneUpdateSpecificPhoneRequest
Property Type Required
domain string required
password string required
user_name string required
voice_mail string required
proxy_server string required
proxy_server2 string required
proxy_server3 string required
register_server string required
register_server2 string required
register_server3 string required
authorization_name string required
transport_protocol string optional
transport_protocol2 string optional
transport_protocol3 string optional
registration_expire_time integer optional

Responses

200

Error Code: 200

Permission missing: Enable SIP Phone Integration by contacting a Zoom Admin first.

204

HTTP Status Code: 204

SIP Phone information updated successfully.

400

HTTP Status Code: 400

Bad Request

PATCH /sip_phones/{phoneId}

Tsp 8 endpoints

GET /tsp

Get information on Telephony Service Provider on an account level.

Prerequisites:

  • A Pro or a higher plan.

Scopes: tsp:read:admin

Rate Limit Label: Light

operationId: Tsp_getAccountInfo

Responses

200

HTTP Status Code: 200

TSP account detail returned successfully.

GET /tsp
PATCH /tsp

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

operationId: Tsp_updateAccountTspInformation

Request Body

TSP Account

application/json
schema TspUpdateAccountTspInformationRequest
Property Type Required
enable boolean optional
tsp_bridge string optional
tsp_enabled boolean optional
tsp_provider string optional
dial_in_number_unrestricted boolean optional
modify_credential_forbidden boolean optional
master_account_setting_extended boolean optional

Responses

204

HTTP Status Code: 204 No Content

TSP Account updated.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

Invalid parameter: tsp_bridge.

PATCH /tsp
GET /users/{userId}/tsp

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

operationId: Tsp_listUserTspAccounts

Parameters

Name In Required Type Description
userId path required

The user ID or email address of the user. For user-level apps, pass the me value.

Responses

200

HTTP Status Code: 200 OK

TSP account list returned successfully.

400

HTTP Status Code: 400

Bad Request

Error Code: 2024

Account has not enabled TSP.

404

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.

GET /users/{userId}/tsp
POST /users/{userId}/tsp

Add a user’s TSP account.

Scopes: tsp:write:admin,tsp:write

Rate Limit Label: Light

operationId: Tsp_addUserTspAccount

Parameters

Name In Required Type Description
userId path required

The user ID or email address of the user. For user-level apps, pass the me value.

Request Body

TSP account.

application/json
schema TspAddUserTspAccountRequest
Property Type Required
leader_pin string required
tsp_bridge string optional
conference_code string required
dial_in_numbers array optional
code string optional
type string optional
number string optional
country_label string optional

Responses

201

HTTP Status Code: 201

TSP account added.

400

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

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.

POST /users/{userId}/tsp
PATCH /users/{userId}/tsp/settings

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. <p></p>

Scopes: tsp:write:admin,tsp:write

Rate Limit Label: Light

operationId: Tsp_setGlobalDialInUrl

Parameters

Name In Required Type Description
userId path required string

The userId or email address of the user.

Request Body

Global dial-in URL of the user.

application/json
schema TspSetGlobalDialInUrlRequest
Property Type Required
audio_url string optional

Responses

204

Status Code: 204 No Content

URL set successfully.

400

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

HTTP Status Code: 404

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.

PATCH /users/{userId}/tsp/settings
DELETE /users/{userId}/tsp/{tspId}

Delete a user’s TSP account.

Scopes: tsp:write:admin,tsp:write

Rate Limit Label: Light

operationId: Tsp_deleteUserTspAccount

Parameters

Name In Required Type Description
userId path required

The user ID or email address of the user. For user-level apps, pass the me value.

tspId path required string

TSP account ID.

Responses

204

Status Code: 204 No Content

TSP account deleted.

400

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

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.

DELETE /users/{userId}/tsp/{tspId}
GET /users/{userId}/tsp/{tspId}

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

operationId: Tsp_getUserTspAccount

Parameters

Name In Required Type Description
userId path required

The user ID or email address of the user. For user-level apps, pass the me value.

tspId path required string

TSP account ID.

Responses

200

HTTP Status Code: 200

TSP account retrieved successfully.

400

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

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.

GET /users/{userId}/tsp/{tspId}
PATCH /users/{userId}/tsp/{tspId}

Update a user’s TSP account.

Scopes: tsp:write:admin,tsp:write

Rate Limit Label: Light

operationId: Tsp_updateUserTspAccount

Parameters

Name In Required Type Description
userId path required

The user ID or email address of the user. For user-level apps, pass the me value.

tspId path required string

TSP account ID.

Request Body

TSP account.

application/json
schema TspUpdateUserTspAccountRequest
Property Type Required
leader_pin string required
tsp_bridge string optional
conference_code string required
dial_in_numbers array optional
code string optional
type string optional
number string optional
country_label string optional

Responses

204

HTTP Status Code:204 No Content

TSP account updated.

400

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

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.

PATCH /users/{userId}/tsp/{tspId}

Trackingfield 5 endpoints

GET /tracking_fields

Use this API to list all the tracking fields on your Zoom account. Tracking fields let you analyze usage by various fields within an organization.

Prerequisites:

  • A Business, Education, API or higher plan.

Scopes: tracking_fields:read:admin

Rate Limit Label: Medium

operationId: TrackingField_list

Responses

200

HTTP Status Code: 200

List of Tracking Fields returned.

GET /tracking_fields
POST /tracking_fields

Use this API to create a new tracking field. Tracking fields let you analyze usage by various fields within an organization. When scheduling a meeting, tracking fields will be included in the meeting options.

Prerequisites:

  • A Business, Education, API or higher plan.

Scopes: tracking_fields:write:admin

Rate Limit Label: Light

operationId: TrackingField_createField

Request Body

Tracking Field

application/json
schema TrackingFieldCreateFieldRequest
Property Type Required
field string optional
visible boolean optional
required boolean optional
recommended_values array optional

Responses

201

HTTP Status Code: 201

Tracking Field created

POST /tracking_fields
DELETE /tracking_fields/{fieldId}

Use this API to delete a tracking field.

Prerequisites:

  • A Business, Education, API or higher plan.

Scopes: tracking_fields:write:admin

Rate Limit Label: Light

operationId: TrackingField_deleteField

Parameters

Name In Required Type Description
fieldId path required string

The Tracking Field ID

Responses

204

HTTP Status Code: 204

Tracking Field deleted

404

HTTP Status Code: 404

Not Found

DELETE /tracking_fields/{fieldId}
GET /tracking_fields/{fieldId}

Use this API to return information about a tracking field.

Prerequisites:

  • A Business, Education, API or higher plan.

Scopes: tracking_fields:read:admin

Rate Limit Label: Light

operationId: TrackingField_get

Parameters

Name In Required Type Description
fieldId path required string

The Tracking Field ID

Responses

200

HTTP Status Code: 200

Tracking Field object returned

404

HTTP Status Code: 404

Not Found

GET /tracking_fields/{fieldId}
PATCH /tracking_fields/{fieldId}

Use this API to update a tracking field.

Prerequisites:

  • A Business, Education, API or higher plan.

Scopes: tracking_fields:write:admin

Rate Limit Label: Light

operationId: TrackingField_update

Parameters

Name In Required Type Description
fieldId path required string

The Tracking Field ID

Request Body

application/json
schema TrackingFieldUpdateRequest
Property Type Required
field string optional
visible boolean optional
required boolean optional
recommended_values array optional

Responses

204

HTTP Status Code: 204

Tracking Field updated

404

HTTP Status Code: 404

Not Found

PATCH /tracking_fields/{fieldId}

Webinars 31 endpoints

DELETE /live_webinars/{webinarId}/chat/messages/{messageId}

Deletes a message in a live webinar based on ID.

Prerequisites:

  • Have Zoom enable the DLP for the in-meeting chat feature to use this API.

Scopes: webinar:write,webinar:write:admin

Rate Limit Label: MEDIUM

operationId: Webinars_deleteMessageById

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

messageId path required string

The live webinar chat message’s unique identifier (UUID), in base64-encoded format.

file_ids query optional string

The live webinar chat file’s universally unique identifier (UUID), in base64-encoded format. Separate multiple values with commas.

Responses

204

HTTP Status Code: 204

Webinar chat message deleted.

400

HTTP Status Code: 400

Bad Request

Error Code: 200

  • Only available for paid accounts. * DLP is not enabled.
404

HTTP Status Code: 404

Not Found

Error Code: 3001

Webinar {webinarId} does not exist.

DELETE /live_webinars/{webinarId}/chat/messages/{messageId}
GET /past_webinars/{webinarId}/absentees

List absentees of a webinar.

Scopes: webinar:read:admin,webinar:read

Granular Scopes: webinar:read:list_absentees,webinar:read:list_absentees:admin

Rate Limit Label: HEAVY

operationId: Webinars_listAbsentees

Parameters

Name In Required Type Description
webinarId path required string

The webinar’s ID or universally unique ID (UUID).

  • If you provide a webinar ID, the API will return a response for the latest webinar instance.
  • If you provide a webinar UUID that begins with a / character or contains the // characters, you must double encode the webinar UUID before making an API request.
occurrence_id query optional string

The meeting or webinar occurrence ID.

page_size query optional integer

The number of records returned within a single API call.

next_page_token query optional string

Use the next page token to paginate through large result sets. A next page token is returned whenever the set of available results exceeds the current page size. This token’s expiration period is 15 minutes.

Responses

200

HTTP Status Code: 200

Success.
Error Code: 200

Webinar plan subscription is missing. Enable webinar for this user once the subscription is added:{userId}.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

The request could not be completed because you have provided an invalid occurrence ID: {occurrenceId}


Error Code: 1010

User does not belong to this account:{accountId}.


Error Code: 3000

This Webinar has not registration required: {webinarUUID}

404

HTTP Status Code: 404

Not Found

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.

GET /past_webinars/{webinarId}/absentees
GET /past_webinars/{webinarId}/instances

List past webinar instances.

Scopes: webinar:read:admin,webinar:read

Granular Scopes: webinar:read:list_past_instances,webinar:read:list_past_instances:admin

Rate Limit Label: LIGHT

operationId: Webinars_listPastInstances

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

Responses

200

HTTP Status Code: 200

List of past webinar instances returned.

404

HTTP Status Code: 404

Not Found

GET /past_webinars/{webinarId}/instances
GET /past_webinars/{webinarId}/participants

Retrieve a list of all the participants who attended a webinar hosted in the past.

Prerequisites:

  • A Pro or higher plan with a webinar add-on.

Scopes: webinar:read:admin,webinar:read

Granular Scopes: webinar:read:list_past_participants:admin,webinar:read:list_past_participants

Rate Limit Label: MEDIUM

operationId: Webinars_listParticipants

Parameters

Name In Required Type Description
webinarId path required string

The webinar’s ID or universally unique ID (UUID).

  • If you provide a webinar ID, the API returns a response for the latest webinar instance.
  • If you provide a webinar UUID that begins with a / character or contains the // characters, you must double encode the webinar UUID before making an API request.
page_size query optional integer

The number of records returned within a single API call.

next_page_token query optional string

Use the next page token to paginate through large result sets. A next page token is returned whenever the set of available results exceeds the current page size. This token’s expiration period is 15 minutes.

Responses

200

HTTP Status Code: 200 OK

Participants list returned.

400

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

HTTP Status Code: 404

Not Found

Error Code: 3001

Webinar does not exist.

GET /past_webinars/{webinarId}/participants
GET /past_webinars/{webinarId}/polls

The polling feature for webinar lets you create single-choice or multiple-choice polling questions for your webinars. This API endpoint retrieves the results for webinar polls of a specific webinar.

Prerequisites:

Scopes: webinar:read:admin,webinar:read

Granular Scopes: webinar:read:list_past_polls,webinar:read:list_past_polls:admin

Rate Limit Label: MEDIUM

operationId: Webinars_listPollResults

Parameters

Name In Required Type Description
webinarId path required string

The webinar’s ID or universally unique ID (UUID).

  • If you provide a webinar ID, the API returns a response for the latest webinar instance.
  • If you provide a webinar UUID that begins with a / character or contains the // characters, you must double encode the webinar UUID before making an API request.

Responses

200

HTTP Status Code: 200 OK

Polls returned successfully.

401

HTTP Status Code: 401

Unauthorized

Error Code: 1010

User does not belong to this account:{accountId}.

404

HTTP Status Code: 404

Not Found

Error Code: 3001

Webinar ID is invalid or not end.

This webinar id does not belong to you:{webinarId}.

GET /past_webinars/{webinarId}/polls
GET /past_webinars/{webinarId}/qa

List the Q&A of a specific past webinar.

The question & answer (Q&A) feature for webinars lets attendees ask questions during the webinar and for the panelists, co-hosts and host to answer their questions.

Prerequisites

Scopes: webinar:read:admin,webinar:read

Granular Scopes: webinar:read:past_qa,webinar:read:past_qa:admin

Rate Limit Label: MEDIUM

operationId: Webinars_listPastWebinarQa

Parameters

Name In Required Type Description
webinarId path required string

The webinar’s ID or universally unique ID (UUID).

  • If you provide a webinar ID, the API returns a response for the latest webinar instance.
  • If you provide a webinar UUID that begins with a / character or contains the // characters, you must double encode the webinar UUID before making an API request.

Responses

200

HTTP Status Code: 200 OK

Q&A returned successfully.

401

HTTP Status Code: 401

Unauthorized

Error Code: 1010

User does not belong to this account:{accountId}.

404

HTTP Status Code: 404

Not Found

Error Code: 3001

Webinar ID is invalid or not end.

This webinar id does not belong to you:{webinarId}.

GET /past_webinars/{webinarId}/qa
GET /users/{userId}/webinar_templates

Display a list of a user’s webinar templates. For user-level apps, pass the me value instead of the userId parameter. When you schedule a webinar, save the settings for that webinar as a template for scheduling future webinars. To use a template when scheduling a webinar, use the id value in this API response in the template_id field of the Create a webinar API. Prerequisites: * A Pro or a higher account with the Zoom Webinar plan.

Scopes: webinar:read:admin,webinar:read

Granular Scopes: webinar:read:list_templates,webinar:read:list_templates:admin

operationId: Webinars_listWebinarTemplates

Parameters

Name In Required Type Description
userId path required string

The user’s ID. To get a user’s ID, use the List users API. For user-level apps, pass the me value instead of the user ID value.

Responses

200

HTTP Status Code: 200 OK List of existing templates returned.

400

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.
GET /users/{userId}/webinar_templates
POST /users/{userId}/webinar_templates

Use this API to create a webinar template from an existing webinar.

Scopes: webinar:write:admin,webinar:write

Rate Limit Label: Medium

operationId: Webinars_createWebinarTemplate

Parameters

Name In Required Type Description
userId path required string

The user ID retrievable from the List users API.

Request Body

application/json
schema WebinarsCreateWebinarTemplateRequest
Property Type Required
name string optional
overwrite boolean optional
webinar_id integer optional
save_recurrence boolean optional

Responses

201

HTTP Status Code: 201

Webinar template created.

400

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: {userId}.

Error Code: 300

You can only create up to 40 webinar templates.

Error Code: 3000

  • Cannot access meeting info.
  • Webinar template name already exists: {templateName}.

Error Code: 3001

Webinar does not exist: {webinarId}.

404

HTTP Status Code: 404

Not Found

Error Code: 1001

  • User does not exist.
  • User {userId} does not exist or does not belong to this account.
POST /users/{userId}/webinar_templates
GET /users/{userId}/webinars

List all the webinars scheduled by or on behalf a webinar host. For user-level apps, pass the me value instead of the userId parameter.

Zoom users with a webinar plan have access to creating and managing webinars. Webinars let a host broadcast a Zoom meeting to up to 10,000 attendees.

Note This API only returns a user’s unexpired webinars.

Prerequisites

  • A Pro or higher plan with the webinar add-on.

Scopes: webinar:read:admin,webinar:read

Granular Scopes: webinar:read:list_webinars,webinar:read:list_webinars:admin

Rate Limit Label: MEDIUM

operationId: Webinars_listWebinars

Parameters

Name In Required Type Description
userId path required string

The user’s user ID or email address. For user-level apps, pass the me value.

type query optional string

The type of webinar.

  • scheduled - All valid previous (unexpired) webinars, live webinars, and upcoming scheduled webinars.
  • upcoming - All upcoming webinars, including live webinars.
page_size query optional integer

The number of records returned within a single API call.

page_number query optional integer

Deprecated We will no longer support this field in a future release. Instead, use the next_page_token for pagination.

Responses

200

HTTP Status Code: 200

List of webinar objects returned.

404

HTTP Status Code: 404

Not Found

Error Code: 1001

User {userId} not exist or not belong to this account.

GET /users/{userId}/webinars
POST /users/{userId}/webinars

Schedule a webinar for a user who is a webinar host. For user-level apps, pass the me value instead of the userId parameter.

Webinars allow a host to broadcast a Zoom meeting to up to 10,000 attendees.

Rate limit:
Up to a maximum of 100 requests per day. The rate limit is applied to the userId of the webinar host used to make the request.

Prerequisites:

Scopes: webinar:write,webinar:write:admin

Granular Scopes: webinar:write:webinar,webinar:write:webinar:admin

Rate Limit Label: LIGHT

operationId: Webinars_createWebinar

Parameters

Name In Required Type Description
userId path required string

The user ID or email address of the user. For user-level apps, pass the me value.

Request Body

application/json
schema WebinarsCreateWebinarRequest
Property Type Required
type integer optional
topic string optional
agenda string optional
duration integer optional
password string optional
settings object optional
audio string optional
hd_video boolean optional
on_demand boolean optional
host_video boolean optional
survey_url string optional
contact_name string optional
add_watermark boolean optional
approval_type integer optional
contact_email string optional
enforce_login boolean optional
auto_recording string optional
email_language string optional
panelists_video boolean optional
practice_session boolean optional
alternative_hosts string optional
registration_type integer optional
show_share_button boolean optional
close_registration boolean optional
add_audio_watermark boolean optional
post_webinar_survey boolean optional
…21 more object optional
timezone string optional
recurrence object optional
type integer required
end_times integer optional
monthly_day integer optional
weekly_days string optional
monthly_week integer optional
end_date_time string optional
repeat_interval integer optional
monthly_week_day integer optional
start_time string optional
is_simulive boolean optional
template_id string optional
schedule_for string optional
record_file_id string optional
tracking_fields array optional
field string required
value string optional

Responses

201

HTTP Status Code: 201

Webinar created.

400

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: {userId}.

Error Code: 300

The value that you entered for the schedule_for field is invalid. Enter a valid value and try again.

Error Code: 300

Can not schedule simulive webinar for others.

Error Code: 300

Account hasn’t enabled Simulive Webinar.

Error Code: 300

Record file does not exist.

Error Code: 3000

You cannot schedule a meeting for {userId}.

404

HTTP Status Code: 404

Not Found

Error Code: 1001

User does not exist: {userId}.

429

HTTP Status Code: 429

Too Many Requests

Error Code: 429

A maximum of ({rateLimitNumber}) webinars can be created and updated for a single user in one day.

POST /users/{userId}/webinars
DELETE /webinars/{webinarId}

Delete a webinar.

Prerequisites:

  • Pro or higher plan with the webinar add-on.

Scopes: webinar:write,webinar:write:admin

Granular Scopes: webinar:delete:webinar,webinar:delete:webinar:admin

Rate Limit Label: LIGHT

operationId: Webinars_removeWebinar

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

occurrence_id query optional string

The meeting or webinar occurrence ID.

cancel_webinar_reminder query optional boolean

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.

Responses

204

HTTP Status Code: 204

Webinar deleted.

400

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

HTTP Status Code: 404

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.

DELETE /webinars/{webinarId}
GET /webinars/{webinarId}

Get details for a scheduled Zoom Webinar.

Prerequisites:

  • Pro or higher plan with a Webinar add-on.

Scopes: webinar:read:admin,webinar:read

Granular Scopes: webinar:read:webinar,webinar:read:webinar:admin

Rate Limit Label: LIGHT

operationId: Webinars_getDetails

Parameters

Name In Required Type Description
webinarId path required string

The webinar’s ID or universally unique ID (UUID).

occurrence_id query optional string

Unique identifier for an occurrence of a recurring webinar. Recurring webinars can have a maximum of 50 occurrences. When you create a recurring Webinar using Create a webinar API, you can retrieve the Occurrence ID from the response of the API call.

show_previous_occurrences query optional boolean

Set the value of this field to true if you would like to view Webinar details of all previous occurrences of a recurring Webinar.

Responses

200

HTTP Status Code: 200

Success

400

HTTP Status Code: 400

Bad Request

Error Code: 300

Invalid webinar ID.

Error Code: 200

Webinar plan is missing. You must subscribe to the webinar plan and enable webinars for this user to perform this action.

404

HTTP Status Code: 404

Not Found

Error Code: 3001

Webinar does not exist: {webinarId}.

GET /webinars/{webinarId}
PATCH /webinars/{webinarId}

Make updates to a scheduled webinar.

100 requests per day. The rate limit is applied to the userId of the webinar host used to make the request.

Prerequisites

  • A Pro or higher plan with a webinar add-on.

Scopes: webinar:write,webinar:write:admin

Granular Scopes: webinar:update:webinar,webinar:update:webinar:admin

Rate Limit Label: LIGHT

operationId: Webinars_updateScheduledWebinar

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

occurrence_id query optional string

Webinar occurrence ID. Support change of agenda, start time, duration, and settings host_video, panelist_video, hd_video, watermark, auto_recording.

Request Body

Webinar.

application/json
schema WebinarsUpdateScheduledWebinarRequest
Property Type Required
type integer optional
topic string optional
agenda string optional
duration integer optional
password string optional
settings object optional
audio string optional
hd_video boolean optional
on_demand boolean optional
host_video boolean optional
survey_url string optional
contact_name string optional
add_watermark boolean optional
approval_type integer optional
contact_email string optional
enforce_login boolean optional
auto_recording string optional
email_language string optional
panelists_video boolean optional
practice_session boolean optional
alternative_hosts string optional
registration_type integer optional
show_share_button boolean optional
close_registration boolean optional
notify_registrants boolean optional
add_audio_watermark boolean optional
…24 more object optional
timezone string optional
recurrence object optional
type integer required
end_times integer optional
monthly_day integer optional
weekly_days string optional
monthly_week integer optional
end_date_time string optional
repeat_interval integer optional
monthly_week_day integer optional
start_time string optional
is_simulive boolean optional
schedule_for string optional
record_file_id string optional
tracking_fields array optional
field string optional
value string optional

Responses

204

HTTP Status Code: 204

Webinar updated.

400

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.
  • Users in “{0}” have been blocked from joining meetings and webinars. To unblock them, go to the “Settings” page in the Zoom web portal and update the “Block users in specific domains from joining meetings and webinars” setting.

    Error Code: 3000

    You cannot update or delete simulive webinars that have started using this method.

    Error Code: 300

    The value that you entered for the schedule_for field is invalid. Enter a valid value and try again.

    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: {userId}.
404

HTTP Status Code: 404

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.

PATCH /webinars/{webinarId}
POST /webinars/{webinarId}/batch_registrants

Register up to 30 registrants at once for a scheduled webinar that requires registration.

Prerequisites:

  • The webinar host must be a licensed user.
  • The webinar should be type 5, a scheduled webinar. Other types of webinars are not supported by this API.

Scopes: webinar:write,webinar:write:admin

Granular Scopes: webinar:write:batch_registrants,webinar:write:batch_registrants:admin

Rate Limit Label: HEAVY

operationId: Webinars_createBatchRegistrants

Parameters

Name In Required Type Description
webinarId path required string

The webinar’s unique identifier.

Request Body

application/json
schema WebinarsCreateBatchRegistrantsRequest
Property Type Required
registrants array optional
email string required
last_name string optional
first_name string required
auto_approve boolean optional

Responses

201

HTTP Status Code: 200 OK

Registrants added.

400

HTTP Status Code: 400

Bad Request

Error Code: 200

Webinar plan is missing. You must subscribe to the Webinar plan and enable webinars for the “{0}” user to perform this action.

Error Code: 300

This API can only be used for scheduled webinars (type 5). Batch registration is not supported for other webinar types.

Error Code: 3038

The webinar is over. You cannot register now. If you have any questions, contact the Webinar host.

Error Code: 3000

Registration not enabled for this webinar: {0}

Error Code: 3000

You have reached the limit for the number of attendees you can add. Contact Zoom Support for more information.

Error Code: 3000

The Zoom REST API does not support paid registration.

404

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

429

HTTP Status Code: 429

Too Many Requests

POST /webinars/{webinarId}/batch_registrants
GET /webinars/{webinarId}/branding

Use this API to get the webinar’s Session Branding information. Session branding lets hosts visually customize a webinar by setting a webinar wallpaper that displays behind video tiles. Session branding also lets hosts set the Virtual Background for and apply name tags to hosts, alternative hosts, panelists, interpreters, and speakers.

Prerequisites:

  • A Pro or higher plan with the Webinar add-on.
  • The Webinar Session Branding setting enabled.

Scopes: webinar:read,webinar:read:admin

Rate Limit Label: Light

operationId: Webinars_getSessionBranding

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

Responses

200

HTTP Status Code: 200

Webinar session branding returned.

400

HTTP Status Code: 400

Bad Request

Error Code: 1010

User does not belong to this account: {accountId}

Error Code: 3000

You cannot enable session branding for this webinar.

404

HTTP Status Code: 404

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.

GET /webinars/{webinarId}/branding
DELETE /webinars/{webinarId}/branding/name_tags

Use this API to delete a webinar’s Session Branding name tag.

Prerequisites:

  • The Webinar Session Branding setting enabled.

Scopes: webinar:write,webinar:write:admin

Rate Limit Label: Light

operationId: Webinars_deleteBrandingNameTag

Parameters

Name In Required Type Description
name_tag_ids query optional string

A comma-separated list of the name tag IDs to delete.

webinarId path required integer

The webinar’s ID.

Responses

204

HTTP Status Code: 204

  • No content.
  • Name tag(s) deleted.
400

HTTP Status Code: 400

Bad Request

Error Code: 300

Invalid parameter: name_tag_ids

Error Code: 3000

This webinar does not have session branding enabled.

404

HTTP Status Code: 404

Not Found

DELETE /webinars/{webinarId}/branding/name_tags
POST /webinars/{webinarId}/branding/name_tags

Use this API to create a webinar’s Session Branding name tag. There’s a limit of 20 name tags per webinar. Prerequisites:

  • The Webinar Session Branding setting enabled.

Scopes: webinar:write,webinar:write:admin

Rate Limit Label: Medium

operationId: Webinars_createBrandingNameTag

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

Request Body

application/json
schema WebinarsCreateBrandingNameTagRequest
Property Type Required
name string required
is_default boolean optional
text_color string required
accent_color string required
background_color string required
set_default_for_all_panelists boolean optional

Responses

201

HTTP Status Code: 201

Name tag created.

400

HTTP Status Code: 400

Bad Request

Error Code: 3000

This webinar does not have session branding enabled.

You have reached the limit for the number of name tags you can add for this webinar. The limit is 20.

404

HTTP Status Code: 404

Not Found

POST /webinars/{webinarId}/branding/name_tags
PATCH /webinars/{webinarId}/branding/name_tags/{nameTagId}

Use this API to update a webinar’s Session Branding name tag. Prerequisites:

  • The Webinar Session Branding setting enabled.

Scopes: webinar:write,webinar:write:admin

Rate Limit Label: Medium

operationId: Webinars_updateBrandingNameTag

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

nameTagId path required string

The name tag’s ID.

Request Body

application/json
schema WebinarsUpdateBrandingNameTagRequest
Property Type Required
name string optional
is_default boolean optional
text_color string optional
accent_color string optional
background_color string optional
set_default_for_all_panelists boolean optional

Responses

204

HTTP Status Code: 204

  • No content.
  • Name tag updated.
400

HTTP Status Code: 400

Bad Request

Error Code: 3000

This webinar does not have session branding enabled.

404

HTTP Status Code: 404

Not Found

PATCH /webinars/{webinarId}/branding/name_tags/{nameTagId}
DELETE /webinars/{webinarId}/branding/virtual_backgrounds

Use this API to delete a webinar’s session branding Virtual Background.

Prerequisites:

  • The Webinar Session Branding setting enabled.

Scopes: webinar:write,webinar:write:admin

Rate Limit Label: Light

operationId: Webinars_deleteBrandingVirtualBackground

Parameters

Name In Required Type Description
ids query optional string

A comma-separated list of the Virtual Background file IDs to delete.

webinarId path required integer

The webinar’s ID.

Responses

204

HTTP Status Code: 204

  • No content.
  • Virtual Background file(s) deleted.
400

HTTP Status Code: 400

Bad Request

Error Code: 1010

User does not belong to this account: {accountId}

Error Code: 300

Invalid parameter: ids

Error Code: 3000

This webinar does not have session branding enabled.

404

HTTP Status Code: 404

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.

DELETE /webinars/{webinarId}/branding/virtual_backgrounds
PATCH /webinars/{webinarId}/branding/virtual_backgrounds

Use this API to set a webinar’s default session branding Virtual Background.

Prerequisites:

  • The Webinar Session Branding setting enabled.

Scopes: webinar:write,webinar:write:admin

Rate Limit Label: Light

operationId: Webinars_setDefaultBrandingVirtualBackground

Parameters

Name In Required Type Description
id query optional string

The Virtual Background file ID to update.

set_default_for_all_panelists query optional boolean

Whether to set the Virtual Background file as the new default for all panelists. This includes panelists not currently assigned a default Virtual Background.

webinarId path required integer

The webinar’s ID.

Responses

204

HTTP Status Code: 204

  • No content.
  • Virtual Background updated.
400

HTTP Status Code: 400

Bad Request

Error Code: 1010

User does not belong to this account: {accountId}

Error Code: 300

Invalid parameter: {id}

Error Code: 3000

This webinar does not have session branding enabled.

404

HTTP Status Code: 404

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.

PATCH /webinars/{webinarId}/branding/virtual_backgrounds
POST /webinars/{webinarId}/branding/virtual_backgrounds

Use this API to upload a webinar’s session branding Virtual Background. Hosts and panelists can select and use these Virtual Backgrounds during the webinar. Branding Virtual Background files have the following restrictions:

  • A webinar cannot exceed more than 10 Virtual Background files.
  • You can only upload image files that are in JPG/JPEG, GIF or PNG format.
  • The Virtual Background file size cannot exceed 15 megabytes (MB).

Prerequisites:

  • The Webinar Session Branding setting enabled.

Scopes: webinar:write,webinar:write:admin

Rate Limit Label: Medium

operationId: Webinars_uploadBrandingVirtualBackground

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

Request Body

multipart/form-data
schema WebinarsUploadBrandingVirtualBackgroundRequest
Property Type Required
file string required
default boolean optional
set_default_for_all_panelists boolean optional

Responses

201

HTTP Status Code: 201

Virtual Background uploaded.

400

HTTP Status Code: 400

Bad Request

Error Code: 3000

This webinar does not have session branding enabled.

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 webinar.
  • Only JPG/JPEG, GIF, or PNG image files can be uploaded.
404

HTTP Status Code: 404

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.

POST /webinars/{webinarId}/branding/virtual_backgrounds
DELETE /webinars/{webinarId}/branding/wallpaper

Use this API to delete a webinar’s session branding wallpaper file.

Prerequisites:

  • The Webinar Session Branding setting enabled.

Scopes: webinar:write,webinar:write:admin

Rate Limit Label: Light

operationId: Webinars_deleteBrandingWallpaper

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

Responses

204

HTTP Status Code: 204

  • No content.
  • Webinar wallpaper deleted.
400

HTTP Status Code: 400

Bad Request

Error Code: 1010

User does not belong to this account: {accountId}

Error Code: 300

Invalid parameter: {id}

Error Code: 3000

This webinar does not have session branding enabled.

404

HTTP Status Code: 404

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.

DELETE /webinars/{webinarId}/branding/wallpaper
POST /webinars/{webinarId}/branding/wallpaper

Use this API to upload a webinar’s session branding wallpaper file. Webinar branding wallpaper files have the following requirements:

  • A webinar can only have one wallpaper file.
  • You can only upload image files that are in JPG/JPEG, GIF, or PNG format.
  • Image files must be 16:9 ratio. The recommended image size is 1920 x 1080 pixels (px).
  • The wallpaper file size cannot exceed 15 megabytes (MB).

Prerequisites:

  • The Webinar Session Branding setting enabled.

Scopes: webinar:write,webinar:write:admin

Rate Limit Label: Medium

operationId: Webinars_uploadBrandingWallpaper

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

Request Body

multipart/form-data
schema WebinarsUploadBrandingWallpaperRequest
Property Type Required
file string required

Responses

201

HTTP Status Code: 201

Webinar wallpaper uploaded.

400

HTTP Status Code: 400

Bad Request

Error Code: 3000

This webinar does not have session branding enabled.

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 webinar.
  • Only JPG/JPEG, GIF, or PNG image files can be uploaded.
404

HTTP Status Code: 404

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.

POST /webinars/{webinarId}/branding/wallpaper
POST /webinars/{webinarId}/invite_links

Create a batch of invitation links for a webinar.

Prerequisites:

  • Business, Education or API Plan with the Webinar add-on.

Scopes: webinar:write,webinar:write:admin

Granular Scopes: webinar:write:invite_links,webinar:write:invite_links:admin

Rate Limit Label: LIGHT

operationId: Webinars_createInviteLinks

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

Request Body

Webinar invite link object.

application/json
schema WebinarsCreateInviteLinksRequest
Property Type Required
ttl integer optional
attendees array optional
name string required

Responses

201

HTTP Status Code: 201

Webinar Invite Links Created

400

HTTP Status Code: 400

Bad Request

Error Code: 300

  • Webinar Id does not exist.
  • Invalid Webinar Id.


    Error Code: 3001

    Webinar does not exist: {webinarId}.


    Error Code: 1001

    User does not exist: {userId}.


    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: {userId}.
POST /webinars/{webinarId}/invite_links
GET /webinars/{webinarId}/jointoken/live_streaming

Use this API to get a webinar’s archive token to allow live streaming. The join token allows a recording bot implemented using Zoom meeting SDK to connect to a Zoom meeting "hosted by the issuer of the token", and can call the streaming method automatically. It supports both regular live streaming, and raw streaming.

Prerequisites:

  • A Pro or higher plan with a Webinar Add-on.
  • The Allow livestreaming of webinars user setting enabled in the Zoom web portal.

Scopes: webinar_token:read:admin:live_streaming,webinar_token:read:live_streaming

Rate Limit Label: Light

operationId: Webinars_joinTokenLiveStreaming

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

Responses

200

HTTP Status Code: 200

Webinar live streaming token returned.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

Invalid webinar ID.

Error Code: 124

This API only supports OAuth2 authorization.

Error Code: 3000

Not allowed to start live streaming. To use this feature, enable the “Allow livestreaming of webinars” setting in the “Settings” page of the Zoom web portal.

404

HTTP Status Code: 404

Not Found

Error Code: 300

Webinar ID does not exist.

Error Code: 3001

Webinar does not exist: {webinarId}

GET /webinars/{webinarId}/jointoken/live_streaming
GET /webinars/{webinarId}/jointoken/local_archiving

Use this API to get a webinar’s archive token to allow local archiving. The archive token allows a meeting SDK app or bot to get archive permission to access the webinar’s raw audio and video media stream in real-time.

Prerequisites:

  • A Pro or higher plan with a Webinar Add-on.
  • The Archive meetings and webinars account setting enabled in the Zoom web portal.

Scopes: webinar_token:read:admin:local_archiving

Rate Limit Label: Light

operationId: Webinars_getMeetingArchiveTokenForLocalArchiving

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

Responses

200

HTTP Status Code: 200

Webinar local archiving token returned.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

Invalid webinar ID.

Error Code: 124

This API only supports OAuth2 authorization.

Error Code: 3000

Not allowed to start local archiving. To use this feature, enable the “Archive meetings and webinars” setting in the “Settings” page of the Zoom web portal.

404

HTTP Status Code: 404

Not Found

Error Code: 300

Webinar ID does not exist.

Error Code: 3001

Webinar does not exist: {webinarId}

GET /webinars/{webinarId}/jointoken/local_archiving
GET /webinars/{webinarId}/jointoken/local_recording

Use this API to get a webinar’s join token to allow for local recording. The join token lets a recording bot implemented using Zoom Meeting SDK to connect to a Zoom webinar. The recording bot can then automatically start locally recording. This supports both regular and raw local recording types.

Prerequisites:

  • A Pro or higher plan with a Webinar Add-on.
  • The Local recording user setting enabled in the Zoom web portal.

Scopes: webinar_token:read:admin:local_recording,webinar_token:read:local_recording

Rate Limit Label: Light

operationId: Webinars_getJoinTokenLocalRecording

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

Responses

200

HTTP Status Code: 200

Webinar local recording token returned.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

Invalid webinar ID.

Error Code: 124

This API only supports OAuth2 authorization.

Error Code: 3000

Not allowed to start local recording. To use this feature, enable the “Local Recording” setting in the “Settings” page of the Zoom web portal.

404

HTTP Status Code: 404

Not Found

Error Code: 300

Webinar ID does not exist.

Error Code: 3001

Webinar does not exist: {webinarId}

GET /webinars/{webinarId}/jointoken/local_recording
GET /webinars/{webinarId}/livestream

Get a webinar’s live stream configuration details, such as Stream URL, Stream Key and Page URL.

Zoom allows users to live stream a webinar to a custom platform.

Prerequisites:

  • Pro or higher plan with the webinar add-on.

  • Live streaming details must have been configured for the webinar.

Scopes: webinar:read:admin,webinar:read

Granular Scopes: webinar:read:livestream,webinar:read:livestream:admin

Rate Limit Label: LIGHT

operationId: Webinars_getLiveStreamDetails

Parameters

Name In Required Type Description
webinarId path required string

The webinar’s unique ID.

Responses

200

HTTP Status Code: 200 OK Live stream details returned.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

  • Webinar ID does not exist.
    * Invalid Webinar ID.


    Error Code: 3001

    Webinar {webinarId} does not exist.


    Error Code: 1001

    User {userId} does not exist.


    Error Code: 200
  • Webinar plan is missing. Subscribe to the webinar plan and enable webinars for user {userId} in order to perform this action.
    * The current user has not enabled the custom live streaming feature of the webinar.
GET /webinars/{webinarId}/livestream
PATCH /webinars/{webinarId}/livestream

Update a webinar’s live stream information.

Prerequisites:

  • Pro or higher plan with the webinar add-on.

  • Live streaming details must be configured for the webinar.

Scopes: webinar:write,webinar:write:admin

Granular Scopes: webinar:update:livestream,webinar:update:livestream:admin

Rate Limit Label: LIGHT

operationId: Webinars_updateLiveStream

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

Request Body

Webinar

application/json
schema WebinarsUpdateLiveStreamRequest
Property Type Required
page_url string required
resolution string optional
stream_key string required
stream_url string required

Responses

204

HTTP Status Code: 204

Meeting live stream updated.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

  • Webinar Id does not exist.
  • Invalid Webinar Id.


    Error Code: 3001

    Webinar does not exist: {webinarId}.


    Error Code: 1001

    User does not exist: {userId}.


    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: {userId}.
  • The current user has not enabled the custom live streaming feature of the webinar.
PATCH /webinars/{webinarId}/livestream
PATCH /webinars/{webinarId}/livestream/status

Let users live stream a webinar to a custom platform. Update the status of a webinar’s live stream.

Prerequisites:

  • Pro or higher plan with a Webinar Add-on.

  • Live streaming details must be configured for the webinar.

Scopes: webinar:write,webinar:write:admin

Granular Scopes: webinar:update:livestream_status,webinar:update:livestream_status:admin

Rate Limit Label: LIGHT

operationId: Webinars_updateLiveStreamStatus

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

Request Body

Webinar

application/json
schema WebinarsUpdateLiveStreamStatusRequest
Property Type Required
action string optional
settings object optional
display_name string optional
active_speaker_name boolean optional

Responses

204

HTTP Status Code: 204

Meeting live stream updated.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

  • Webinar Id does not exist.
  • Invalid Webinar Id.


    Error Code: 3001

    Webinar does not exist: {webinarId}.


    Error Code: 1001

    User does not exist: {userId}.


    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: {userId}.
  • The current user has not enabled the custom live streaming feature of the webinar.
  • Webinar {0} has not started.


    Error Code: 3000

    The current webinar is not configured with a custom streaming service.
PATCH /webinars/{webinarId}/livestream/status
DELETE /webinars/{webinarId}/panelists

Remove all the panelists from a webinar.

Prerequisites:

Scopes: webinar:write,webinar:write:admin

Granular Scopes: webinar:delete:panelist,webinar:delete:panelist:admin

Rate Limit Label: LIGHT

operationId: Webinars_removePanelists

Parameters

Name In Required Type Description
webinarId path required integer

The webinar’s ID.

Responses

204

HTTP Status Code: 204

Panelists removed.

400

HTTP Status Code: 400

Bad Request

Error Code: 1010

User does not belong to this account:{accountId}.

404

HTTP Status Code: 404

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.

DELETE /webinars/{webinarId}/panelists
Load more endpoints