openapi: 3.0.1
info:
title: 'Zoom webinar/'
description: Needs description.
contact:
name: Zoom Developers
url: https://zoom.us/developer
email: developer@zoom.us
license:
name: MIT
url: https://opensource.org/licenses/MIT
version: 1.0.0
externalDocs:
description: Zoom REST API Documentation
url: https://zoom.github.io/api
servers:
- url: https://api.zoom.us/v1
security:
- api_key: []
- api_secret: []
tags:
- name: Webinar
paths:
/webinar/attendees/list:
post:
tags:
- Webinar
description: |+
Get ended webinar attendees
operationId: webinarAttendeesList
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
type: object
properties:
id:
type: string
description: Webinar ID.
host_id:
type: string
description: >-
Webinar host user ID. Can be any user who enabled webinar
under this account.
uuid:
type: string
description: Webinar uuid. It can be fetched by /v1/webinar/uuid/list.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
attendees:
- first_name: Zoomie
last_name: Userton
email: email_address
join_time: '2015-09-18T09:41:39.000Z'
leave_time: '2015-09-18T09:42:12.000Z'
time_in_session: '8'
attended: 'Yes'
custom_questions:
ssssss: ' sssss'
which one do you like?: sss
questions:
country: US
address: 1234 Some Street
city: Zoomville
/webinar/create:
post:
tags:
- Webinar
description: |+
Create a webinar on Zoom, return the created webinar start and join URL.
operationId: webinarCreate
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- topic
- type
type: object
properties:
host_id:
type: string
description: >-
Webinar host user ID. Can be any user under this account.
Cannot be updated after creation.
topic:
type: string
description: Webinar topic. Max of 300 characters.
type:
type: string
description: >-
5 webinar, 6 recurrence webinar, 9 recurring webinar(With
Fixed Time)
default: '5'
start_time:
type: string
description: >-
Webinar start time in ISO datetime format. For scheduled
webinar only. Should be UTC time, such as
2012-11-25T12:00:00Z.
duration:
type: string
description: Webinar duration (minutes). For scheduled webinar only.
timezone:
type: string
description: >-
Timezone to format start_time, like "America/Los_Angeles".
For scheduled Webinar only. For this parameter value please
refer to the id value in timezone list JSON file.
password:
type: string
description: >-
Webinar password. Password may only contain the following
characters: [a-z A-Z 0-9 @ - _
default: ' 10 characters'
recurrence:
type: string
description: >-
Recurrence Webinar Settings. For recurring webinar with
fixed time only.
"type": Recurrence Webinar Type. 1
means Daily, 2 means Weekly, 3 means Monthly.
"repeat_interval": Recurrence Webinar Repeat Interval.
Defaults to 1. For a Daily Webinar, max of 90. For a Weekly
Webinar, max of 12. For a Monthly Webinar, max of 3.
"weekly_days": Recurrence Webinar Occurs on week days,
multiple value separated by comma. 1 means Sunday, 2 means
Monday, 3 means Tuesday, 4 means Wednesday, 5 means
Thursday, 6 means Friday, 7 means Saturday.
"monthly_day": Recurrence Webinar Occurs on a month day.
The value range is from 1 to 31.
"monthly_week":
Recurrence Webinar Occurs on the week of a month. -1 means
Last week, 1 means First week, 2 means Second week, 3 means
Third week, 4 means Fourth week.
"monthly_week_day":
Recurrence Webinar Occurs on the week day of a month. A
single value: 1 means Sunday, 2 means Monday, 3 means
Tuesday, 4 means Wednesday, 5 means Thursday, 6 means
Friday, 7 means Saturday.
"end_times": Recurrence
Webinar End occurrences times. Defaults to 1. Max of 50.
"end_date_time": Recurrence Webinar End Date. Should be
UTC time, such as 2012-11-25T12:00:00Z.
approval_type:
type: string
description: >-
Approval type. 0 means Automatically Approve. 1 means
Manually Approve. 2 means No Registration Required.
default: '2'
registration_type:
type: string
description: >-
Registration type. 1 means Attendees register once and can
attend any of the occurrences, 2 means Attendees need to
register for each occurrence to attend, 3 means Attendees
register once and can choose one or more occurrences to
attend. For recurring meeting with fixed time only.
default: '1'
agenda:
type: string
description: Webinar description.
option_audio:
type: string
description: Webinar audio options. Can be "both", "telephony", "voip".
default: both
option_host_video:
type: boolean
description: Start video when host join Webinar.
default: true
option_panelist_video:
type: boolean
description: Start video when panelist join Webinar.
default: true
option_practice_session:
type: boolean
description: Enable Practice Session.
default: false
option_enforce_login:
type: boolean
description: Only signed-in users can join this Webinar.
default: false
option_enforce_login_domains:
type: string
description: >-
Only signed-in users with specified domains can join
Webinar.
option_alternative_hosts:
type: string
description: Alternative hosts.
option_alternative_host_ids:
type: string
description: Alternative hosts IDs.
option_auto_record_type:
type: string
description: >-
Automatically record type. Can be "local", "cloud" or
"none".
default: local
panelists:
type: string
description: >-
Webinar Panelists, should be JSON format:
[{"name":"xxx","email":"test1@zoom.us"},
{"name":"xxx","email":"test2@zoom.us"}].
language:
type: string
description: >-
Language setting of email to panelists. This value should be
"en-US", "en", "zh-CN", "zh", "en-ES", "es", "fr-FR" or
"fr".
required: true
responses:
'200':
description: Success
content:
application/json:
example:
uuid: unique_id
id: '123456789'
host_id: unique_id
topic: create webinar via rest api
agenda: ''
status: 0
option_start_type: video
option_audio: both
option_enforce_login: false
'option_enforce_login_domains ': ''
option_alternative_hosts: ''
type: 5
start_time: ' 2015-02-08T12:50:30Z'
duration: 0
timezone: America/Los_Angeles
start_url: https://zoom.us/s/123456789?zak=xxxxxx
join_url: https://zoom.us/j/123456789
registration_url: ''
created_at: '2015-01-22T07:09:49.000Z'
/webinar/delete:
post:
tags:
- Webinar
description: |+
Delete a webinar on Zoom, return the deleted webinar ID.
operationId: webinarDelete
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
type: object
properties:
id:
type: string
description: Webinar ID.
host_id:
type: string
description: >-
webinar host user ID. Can be any user who enabled webinar
under this account.
occurrence_id:
type: string
description: Occurrence ID, could get this value from Webinar Get API.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
id: '123456789'
deleted_at: '2012-11-25T12:00:00.000Z'
/webinar/end:
post:
tags:
- Webinar
description: |+
End a Webinar on Zoom, return the deleted Webinar ID
operationId: webinarEnd
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
type: object
properties:
id:
type: string
description: Webinar ID.
host_id:
type: string
description: >-
Webinar host user ID. Can be any user who enabled webinar
under this account.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
id: '123456789'
ended_at: '2012-11-25T12:00:00.000Z'
/webinar/get:
post:
tags:
- Webinar
description: |+
Get a Webinar on Zoom via Webinar ID, return the Webinar info
operationId: webinarGet
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
type: object
properties:
id:
type: string
description: Webinar ID.
host_id:
type: string
description: >-
Webinar host user ID. Can be any user who enabled webinar
under this account.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
uuid: unique_id
id: '123456789'
start_url: https://zoom.us/s/123456789?zak=xxxxxx
join_url: https://zoom.us/j/123456789
registration_url: ''
created_at: '2012-11-25T12:00:00.000Z'
host_id: unique_id
topic: Topic for this meeting
type: 5
start_time: '2012-11-25T12:00:00.000Z'
duration: 30
timezone: America/Los_Angeles
agenda: ''
option_start_type: video
option_audio: both
option_enforce_login: false
'option_enforce_login_domains ': ''
option_alternative_hosts: ''
status: 0
occurrences:
- occurrence_id: '1483210260000'
start_time: '2017-01-01T02:51:00.000Z'
duration: 60
/webinar/list:
post:
tags:
- Webinar
description: |+
List all registrationless Webinars on Zoom
operationId: webinarList
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
type: object
properties:
host_id:
type: string
description: >-
Webinar host user ID. Can be any user who enabled webinar
under this account.
page_size:
type: string
description: >-
The amount of records returns within a single API call.
Defaults to 30. Max of 300 meetings.
default: '30'
page_number:
type: string
description: Current page number of returned records. Default to 1.
default: '1'
required: true
responses:
'200':
description: Success
content:
application/json:
example:
page_count: 5
total_records: 235
page_number: 1
page_size: 50
webinars:
- uuid: unique_id
id: '123456789'
start_url: https://zoom.us/s/123456789?zak=xxxxxx
join_url: https://zoom.us/j/123456789
created_at: '2012-11-25T12:00:00.000Z'
host_id: unique_id
topic: Topic for this meeting
type: 5
start_time: '2012-11-25T12:00:00.000Z'
duration: 30
timezone: America/Los_Angeles
agenda: ''
option_start_type: video
option_audio: both
option_enforce_login: false
'option_enforce_login_domains ': ''
option_alternative_hosts: ''
status: 0
/webinar/list/registration:
post:
tags:
- Webinar
description: |+
List all the upcoming registration-based Webinars on Zoom
operationId: webinarListRegistration
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
type: object
properties:
host_id:
type: string
description: >-
Webinar host user ID. Can be any user who enabled webinar
under this account.
page_size:
type: string
description: >-
The amount of records returns within a single API call.
Defaults to 30. Max of 300 meetings.
default: '30'
page_number:
type: string
description: Current page number of returned records. Default to 1.
default: '1'
required: true
responses:
'200':
description: Success
content:
application/json:
example:
page_count: 5
total_records: 235
page_number: 1
page_size: 50
webinars:
- uuid: unique_id
id: '123456789'
start_url: https://zoom.us/s/123456789?zak=xxxxxx
join_url: https://zoom.us/j/123456789
created_at: '2012-11-25T12:00:00.000Z'
host_id: unique_id
topic: Topic for this Webinar
type: 5
start_time: '2012-11-25T12:00:00.000Z'
duration: 30
timezone: America/Los_Angeles
agenda: ''
option_start_type: video
option_audio: both
status: 0
/webinar/panelists:
post:
tags:
- Webinar
description: |+
Get all the Webinar Panelists on Zoom
operationId: webinarPanelists
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
type: object
properties:
id:
type: string
description: Webinar ID.
host_id:
type: string
description: >-
Webinar host user ID. Can be any user who enabled webinar
under this account.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
total_records: 1
panelists:
- name: Zoomie Userton
email: email_address
join_url: >-
https://www.zoom.us/w/552681828?tk=TMnju_IjiU7Fx3eSkrajn2irvyMBNQ4XCW6cutSPntg.DQEAAAAAIPFBZBYwbzhKUUlXVVN3bW9Ed05QUmdvU2hBAA
/webinar/polls:
post:
tags:
- Webinar
description: |+
Get Ended Webinar Polls
operationId: webinarPolls
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
type: object
properties:
id:
type: string
description: Webinar ID.
host_id:
type: string
description: >-
Webinar host user ID. Can be any user who enabled webinar
under this account.
uuid:
type: string
description: Webinar uuid. It can be fetched by /v1/webinar/uuid/list.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
id: '123456789'
uuid: unique_id
start_time: '2017-02-09T07:15:48.000Z'
questions:
- name: Zoomie Userton
email: email_address
question_details:
- question: question?
answer: answer
/webinar/questions:
post:
tags:
- Webinar
description: |+
Get Ended Webinar Q&A
operationId: webinarQuestions
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
type: object
properties:
id:
type: string
description: Webinar ID.
host_id:
type: string
description: >-
Webinar host user ID. Can be any user who enabled webinar
under this account.
uuid:
type: string
description: Webinar uuid. It can be fetched by /v1/webinar/uuid/list.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
id: '123456789'
uuid: unique_id
start_time: '2017-02-09T07:15:48.000Z'
questions:
- name: Zoomie Userton
email: email_address
question_details:
- question: question?
answer: answer
/webinar/register:
post:
tags:
- Webinar
description: |+
Register for a webinar
operationId: webinarRegister
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- email
- first_name
- id
- last_name
type: object
properties:
id:
type: string
description: Webinar ID.
email:
type: string
description: A valid email address.
first_name:
type: string
description: User’s first name.
last_name:
type: string
description: User’s last name.
address:
type: string
description: Address.
city:
type: string
description: City.
country:
type: string
description: >-
Country. For this parameter value please refer to the id
value in country list JSON file
zip:
type: string
description: Zip/Postal Code.
state:
type: string
description: State/Province.
phone:
type: string
description: Phone.
industry:
type: string
description: Industry.
org:
type: string
description: Organization.
job_title:
type: string
description: Job Title.
purchasing_time_frame:
type: string
description: >-
Purchasing Time Frame, should be "Within a month", "1-3
months", "4-6 months", "More than 6 months", "No timeframe".
role_in_purchase_process:
type: string
description: >-
Role in Purchase Process, should be "Decision Maker",
"Evaluator/Recommender", "Influencer", "Not involved".
no_of_employees:
type: string
description: >-
Number of Employees, should be "1-20", "21-50", "51-100",
"101-250", "251-500", "501-1,000", "1,001-5,000",
"5,001-10,000", "More than 10,000".
comments:
type: string
description: Questions & Comments.
custom_questions:
type: string
description: >-
Custom Questions, should be JSON format:
[{"title":"field_name1","value":"xxx"},{"title":"field_name2","value":"xxx"}].
language:
type: string
description: >-
Language setting of email. This value should be "en-US",
"en", "zh-CN", "zh", "en-ES", "es", "fr-FR" or "fr".
occurrence_ids:
type: string
description: Occurrence IDs, could get this value from Webinar Get API.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
registrant_id: unique_id
id: '123456789'
topic: webinar registration
start_time: '2016-02-21T04:00:00.000Z'
join_url: >-
https://www.zoom.us/w/123456789?tk=2DsQiu6nZVsZVATrPLvXgqPvw8mmKyxgAGaDMizLv34.DQEAAAAAM9AWXhZ2Nm5vRjIyMlRoUzE3ZktWM3l4cHVRAA
/webinar/registrants/approve:
post:
tags:
- Webinar
description: |+
Approve pending registrants on Zoom Webinar.
operationId: webinarRegistrantsApprove
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
- registrant_ids
type: object
properties:
id:
type: string
description: Webinar ID.
host_id:
type: string
description: >-
Webinar host user ID. Can be any user who enabled webinar
under this account.
registrant_ids:
type: string
description: Pending approval registrant ids.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
id: '421431292'
updated_at: '2016-08-18T02:11:40.000Z'
/webinar/registrants/list:
post:
tags:
- Webinar
description: >+
List webinar registrants on Zoom, include pending approval registrants
and approved registrants.
operationId: webinarRegistrantsList
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
type: object
properties:
id:
type: string
description: Webinar ID.
host_id:
type: string
description: >-
Webinar host user ID. Can be any user who enabled webinar
under this account.
type:
type: string
description: >-
0 means pending approval registrants, 1 means approved
registrants.
default: '0'
page_size:
type: string
description: >-
The amount of records returns within a single API call.
Defaults to 30.
default: '30'
page_number:
type: string
description: Current page number of returned records. Default to 1.
default: '1'
required: true
responses:
'200':
description: Success
content:
application/json:
example:
page_count: 1
page_number: 1
page_size: 30
total_records: 1
type: 0
users:
- id: unique_id
first_name: Zoomie
last_name: Userton
email: email_address
registration_time: '2016-08-18T01:45:26.000Z'
/webinar/registration:
post:
tags:
- Webinar
description: |+
Gather Webinar registrants info
operationId: webinarRegistration
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
type: object
properties:
id:
type: string
description: Webinar ID.
host_id:
type: string
description: >-
Webinar host user ID. Can be any user who enabled webinar
under this account.
occurrence_id:
type: string
description: Occurrence ID, could get this value from Webinar Get API.
page_size:
type: string
description: >-
The amount of records returns within a single API call.
Defaults to 30.
default: '30'
page_number:
type: string
description: Current page number of returned records. Default to 1.
default: '1'
required: true
responses:
'200':
description: Success
content:
application/json:
example:
page_count: 1
page_number: 1
page_size: 30
total_records: 1
attendees:
- id: unique_id
first_name: Zoomie
last_name: Userton
create_time: '2015-08-23T03:03:48.000Z'
approval: approved
email: email_address
registration_url: >-
https://api.zoom.us/w/206388466?tk=n8-qbK4ocC73mPjIRlheMksYPxeWAhnktoUZq_xAqg8.DQEAAAAADE088hZKTXcxTllpelFjZXNfNDg0NlNKQ3lRAA
/webinar/registration/cancel:
post:
tags:
- Webinar
description: |+
Cancel Webinar Registration
operationId: webinarRegistrationCancel
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
- registrant_ids
type: object
properties:
id:
type: string
description: Webinar ID.
host_id:
type: string
description: >-
Webinar host user ID. Can be any user who enabled webinar
under this account.
occurrence_id:
type: string
description: Occurrence ID, could get this value from Webinar Get API.
registrant_ids:
type: string
description: >-
Webinar registrant IDs, separated by comma. Max of 15
registrants.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
id: '844495467'
updated_at: '2016-11-29T01:26:43.000Z'
/webinar/update:
post:
tags:
- Webinar
description: |+
Update Webinar info on Zoom via Webinar ID
operationId: webinarUpdate
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
type: object
properties:
id:
type: string
description: Webinar ID.
host_id:
type: string
description: >-
Webinar host user ID. Can be any user under this account.
Cannot be updated after creation.
topic:
type: string
description: Webinar topic. Max of 300 characters.
type:
type: string
description: >-
5 webinar, 6 recurrence webinar, 9 recurring webinar(With
Fixed Time)
default: '5'
start_time:
type: string
description: >-
Webinar start time in ISO datetime format. For scheduled
webinar only. Should be UTC time, such as
2012-11-25T12:00:00Z.
duration:
type: string
description: Webinar duration (minutes). For scheduled webinar only.
timezone:
type: string
description: >-
Timezone to format start_time, like "America/Los_Angeles".
For scheduled Webinar only. For this parameter value please
refer to the id value in timezone list JSON file.
password:
type: string
description: >-
Webinar password. Password may only contain the following
characters: [a-z A-Z 0-9 @ - _
default: ' 10 characters'
recurrence:
type: string
description: >-
Recurrence Webinar Settings. For recurring webinar with
fixed time only.
"type": Recurrence Webinar Type. 1
means Daily, 2 means Weekly, 3 means Monthly.
"repeat_interval": Recurrence Webinar Repeat Interval.
Defaults to 1. For a Daily Webinar, max of 90. For a Weekly
Webinar, max of 12. For a Monthly Webinar, max of 3.
"weekly_days": Recurrence Webinar Occurs on week days,
multiple value separated by comma. 1 means Sunday, 2 means
Monday, 3 means Tuesday, 4 means Wednesday, 5 means
Thursday, 6 means Friday, 7 means Saturday.
"monthly_day": Recurrence Webinar Occurs on a month day.
The value range is from 1 to 31.
"monthly_week":
Recurrence Webinar Occurs on the week of a month. -1 means
Last week, 1 means First week, 2 means Second week, 3 means
Third week, 4 means Fourth week.
"monthly_week_day":
Recurrence Webinar Occurs on the week day of a month. A
single value: 1 means Sunday, 2 means Monday, 3 means
Tuesday, 4 means Wednesday, 5 means Thursday, 6 means
Friday, 7 means Saturday.
"end_times": Recurrence
Webinar End occurrences times. Defaults to 1. Max of 50.
"end_date_time": Recurrence Webinar End Date. Should be
UTC time, such as 2012-11-25T12:00:00Z.
approval_type:
type: string
description: >-
Approval type. 0 means Automatically Approve. 1 means
Manually Approve. 2 means No Registration Required.
default: '2'
registration_type:
type: string
description: >-
Registration type. 1 means Attendees register once and can
attend any of the occurrences, 2 means Attendees need to
register for each occurrence to attend, 3 means Attendees
register once and can choose one or more occurrences to
attend. For recurring meeting with fixed time only.
default: '1'
agenda:
type: string
description: Webinar description.
option_audio:
type: string
description: Webinar audio options. Can be "both", "telephony", "voip".
default: both
option_host_video:
type: boolean
description: Start video when host join Webinar.
default: true
option_panelist_video:
type: boolean
description: Start video when panelist join Webinar.
default: true
option_practice_session:
type: string
description: Enable Practice Session.
option_enforce_login:
type: boolean
description: Only signed-in users can join this Webinar.
default: false
option_enforce_login_domains:
type: string
description: >-
Only signed-in users with specified domains can join
Webinar.
option_alternative_hosts:
type: string
description: Alternative hosts.
option_alternative_host_ids:
type: string
description: Alternative hosts IDs.
option_auto_record_type:
type: string
description: >-
Automatically record type. Can be "local", "cloud" or
"none".
default: local
panelists:
type: string
description: >-
Webinar Panelists, should be JSON format:
[{"name":"xxx","email":"test1@zoom.us"},
{"name":"xxx","email":"test2@zoom.us"}].
language:
type: string
description: >-
Language setting of email to panelists. This value should be
"en-US", "en", "zh-CN", "zh", "en-ES", "es", "fr-FR" or
"fr".
required: true
responses:
'200':
description: Success
content:
application/json:
example:
id: '123456789'
updated_at: '2012-11-25T12:00:00.000Z'
/webinar/uuid/list:
post:
tags:
- Webinar
description: |+
Get ended webinar UUID.
operationId: webinarUuidList
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- host_id
- id
type: object
properties:
id:
type: string
description: Webinar ID.
host_id:
type: string
description: >-
Webinar host user ID. Can be any user who enabled webinar
under this account.
required: true
responses:
'200':
description: Success
content:
application/json:
example:
webinars:
- uuid: unique_id
start_time: '2015-08-23T03:03:48.000Z'
components:
schemas: {}