Meetings 31 endpoints

PATCH /meetings/{meetingId}/livestream

Update a meeting’s livestream information. Zoom allows users to livestream a meeting to a custom platform.

Prerequisites:

  • Meeting host must have a Pro license.

Scopes: meeting:write:admin,meeting:write

Rate Limit Label: Light

operationId: Meetings_updateLivestream

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

Request Body

Meeting

application/json
schema MeetingsUpdateLivestreamRequest
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 livestream updated.

400

HTTP Status Code: 400

Bad Request

Error Code: 1010

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

Error Code: 3000

Cannot access webinar info.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 1001

User {userId} does not exist.

PATCH /meetings/{meetingId}/livestream
PATCH /meetings/{meetingId}/livestream/status

Zoom allows users to livestream a meeting to a custom platform. Update the status of a meeting’s livestream.

Prerequisites:

  • Meeting host must have a Pro license.

Scopes: meeting:write:admin,meeting:write

Granular Scopes: meeting:update:livestream_status,meeting:update:livestream_status:admin

Rate Limit Label: LIGHT

operationId: Meetings_livestreamStatusUpdate

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

Request Body

Meeting

application/json
schema MeetingsLivestreamStatusUpdateRequest
Property Type Required
action string optional
settings object optional
layout string optional
display_name string optional
close_caption string optional
active_speaker_name boolean optional

Responses

204

HTTP Status Code: 204
Meeting livestream updated.

400

HTTP Status Code: 400

Bad Request

Error Code: 3000

Cannot access webinar info.

Error Code: 3161

Your user account is not allowed meeting hosting and scheduling capabilities.

Error Code: 4400

End-to-end encrypted meetings currently do not support the livestreaming feature.

Error Code: 300

Invalid meeting ID.

Error Code: 4927

Meeting {meetingId} has not started.

404

HTTP Status Code: 404

Not Found

Error Code: 3001

Meeting does not exist: {meetingId}.

429

HTTP Status Code: 429

Too Many Requests

PATCH /meetings/{meetingId}/livestream/status
GET /meetings/{meetingId}/meeting_summary

Displays information about a meeting summary.

Prerequisites:

  • Host user type must be Pro or higher plan.
  • The Meeting Summary with AI Companion feature enabled in the host’s account.
  • E2ee meetings do not have summary feature enabled.

Scopes: meeting_summary:read:admin,meeting_summary:read

Granular Scopes: meeting:read:summary,meeting:read:summary:admin

Rate Limit Label: LIGHT

operationId: Meetings_getMeetingSummary

Parameters

Name In Required Type Description
meetingId path optional string

The meeting’s universally unique ID (UUID). When you provide a meeting UUID that begins with a / character or contains the // characters, you must double-encode the meeting UUID before making an API request.

Responses

200

HTTP Status Code: 200Meeting Poll object returned.

GET /meetings/{meetingId}/meeting_summary
GET /meetings/{meetingId}/polls

Polls allow the meeting host to survey attendees. List all polls of a meeting.

Prerequisites:

  • Host user type must be Pro or higher plan.
  • Meeting must be a scheduled meeting. Instant meetings do not have polling features enabled.

Scopes: meeting:read:admin,meeting:read

Rate Limit Label: Light

operationId: Meetings_listMeetingPolls

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

anonymous query optional boolean

Whether to query for polls with the Anonymous option enabled:

  • true — Query for polls with the Anonymous option enabled.
  • false — Do not query for polls with the Anonymous option enabled.

Responses

200

HTTP Status Code:

List polls of a Meeting returned

400

HTTP Status Code: 400

Bad Request

Error Code: 4400

Meeting polls disabled. To enable this feature, enable the “Meeting Polls/Quizzes” setting in the Zoom web portal’s “Settings” interface.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 404

Meeting Poll not found

GET /meetings/{meetingId}/polls
POST /meetings/{meetingId}/polls

Polls allow the meeting host to survey attendees. Create a poll for a meeting.

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.

Scopes: meeting:write:admin,meeting:write

Rate Limit Label: Light

operationId: Meetings_createPoll

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

Request Body

Meeting poll object

application/json
schema MeetingsCreatePollRequest
Property Type Required
title string optional
anonymous boolean optional
poll_type integer optional
questions array optional
name string optional
type string optional
answers array optional
prompts array optional
prompt_question string optional
prompt_right_answers array optional
right_answers array optional
case_sensitive boolean optional
answer_required boolean optional
rating_max_label string optional
rating_max_value integer optional
rating_min_label string optional
rating_min_value integer optional
show_as_dropdown boolean optional
answer_max_character integer optional
answer_min_character integer optional

Responses

201

HTTP Status Code: 201

Meeting Poll Created

400

HTTP Status Code: 400

Bad Request

Error Code: 4400

  • Meeting polls disabled. To enable this feature, enable the “Meeting Polls/Quizzes” setting in the Zoom web portal’s “Settings” interface.
  • Advanced meeting polls disabled. To enable this feature, enable the “Allow host to create advanced polls and quizzes” setting in the Zoom web portal’s “Settings” interface.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 404

Meeting not found

POST /meetings/{meetingId}/polls
DELETE /meetings/{meetingId}/polls/{pollId}

Polls allow the meeting host to survey attendees. Delete a meeting poll.

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.

Scopes: meeting:write:admin,meeting:write

Rate Limit Label: Light

operationId: Meetings_pollDelete

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

pollId path required string

The poll ID

Responses

204

HTTP Status Code: 204

Meeting Poll deleted

400

HTTP Status Code: 400

Bad Request

Error Code: 4400

Meeting polls disabled. To enable this feature, enable the “Meeting Polls/Quizzes” setting in the Zoom web portal’s “Settings” interface.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 404

Meeting Poll not found

DELETE /meetings/{meetingId}/polls/{pollId}
GET /meetings/{meetingId}/polls/{pollId}

Polls allow the meeting host to survey attendees. Retrieve information about a specific meeting poll.

Scopes: meeting:read:admin,meeting:read

Rate Limit Label: Light

operationId: Meetings_getPoll

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

pollId path required string

The poll ID

Responses

200

HTTP Status Code: 200

Meeting Poll object returned

400

HTTP Status Code: 400

Bad Request

Error Code: 4400

Meeting polls disabled. To enable this feature, enable the “Meeting Polls/Quizzes” setting in the Zoom web portal’s “Settings” interface.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 404

Meeting Poll not found.

GET /meetings/{meetingId}/polls/{pollId}
PUT /meetings/{meetingId}/polls/{pollId}

Polls allow the meeting host to survey attendees. Update information of a specific meeting poll

Scopes: meeting:write:admin,meeting:write

Rate Limit Label: Light

operationId: Meetings_updateMeetingPoll

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

pollId path required string

The poll ID

Request Body

Meeting Poll

application/json
schema MeetingsUpdateMeetingPollRequest
Property Type Required
title string optional
anonymous boolean optional
poll_type integer optional
questions array optional
name string optional
type string optional
answers array optional
prompts array optional
prompt_question string optional
prompt_right_answers array optional
right_answers array optional
case_sensitive boolean optional
answer_required boolean optional
rating_max_label string optional
rating_max_value integer optional
rating_min_label string optional
rating_min_value integer optional
show_as_dropdown boolean optional
answer_max_character integer optional
answer_min_character integer optional

Responses

204

HTTP Status Code: 204

Meeting Poll Updated

400

HTTP Status Code: 400

Bad Request

Error Code: 4400

  • Meeting polls disabled. To enable this feature, enable the “Meeting Polls/Quizzes” setting in the Zoom web portal’s “Settings” interface.
  • Advanced meeting polls disabled. To enable this feature, enable the “Allow host to create advanced polls and quizzes” setting in the Zoom web portal’s “Settings” interface.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 404

Meeting Poll not found

PUT /meetings/{meetingId}/polls/{pollId}
GET /meetings/{meetingId}/registrants

A host or a user with admin permission can require registration for a Zoom meeting. List users that have registered for a meeting.

Scopes: meeting:read:admin,meeting:read

Rate Limit Label: Medium

operationId: Meetings_listRegistrants

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

occurrence_id query optional string

The meeting or webinar occurrence ID.

status query optional string

Query by the registrant’s status.

  • pending - The registration is pending.
  • approved - The registrant is approved.
  • denied - The registration is denied.
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.

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

Successfully listed meeting registrants.

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.


Error Code: 3000

Cannot access meeting info.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 1001

Meeting host does not exist: {userId}.

GET /meetings/{meetingId}/registrants
POST /meetings/{meetingId}/registrants

Create and submit a user’s registration to a meeting. See Customizing webinar registration for details on how to set the requirements for these fields. Note that there is a maximum limit of 4,999 registrants per meeting and users will see an error if the meeting’s capacity is reached.

Prerequisites:

  • The host must be a Licensed user type.

Scopes: meeting:write:admin,meeting:write

Rate Limit Label: Light

operationId: Meetings_addRegistrant

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

occurrence_ids query optional string

A comma-separated list of meeting occurrence IDs. You can get this value with the Get a meeting API.

Request Body

application/json
schema MeetingsAddRegistrantRequest
Property Type Required
org string optional
zip string optional
city string optional
email string required
phone string optional
state string optional
address string optional
country string optional
comments string optional
industry string optional
language string optional
job_title string optional
last_name string optional
first_name string required
auto_approve boolean optional
no_of_employees string optional
custom_questions array optional
title string optional
value string optional
purchasing_time_frame string optional
role_in_purchase_process string optional

Responses

201

HTTP Status Code: 201

Meeting registration created.

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.

Error Code: 3043

Meeting has reached maximum attendee capacity.

Error Code: 3000

Cannot access meeting info.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 1001

Meeting host does not exist: {userId}

POST /meetings/{meetingId}/registrants
GET /meetings/{meetingId}/registrants/questions

List registration questions that will be displayed to users while registering for a meeting.

Scopes: meeting:read,meeting:read:admin

Rate Limit Label: Light

operationId: Meetings_listRegistrationQuestions

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

Responses

200

HTTP Status Code: 200

Meeting Registrant Question object returned

400

HTTP Status Code: 400

Bad Request

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

GET /meetings/{meetingId}/registrants/questions
PATCH /meetings/{meetingId}/registrants/questions

Update registration questions that will be displayed to users while registering for a meeting.

Scopes: meeting:write,meeting:write:admin

Rate Limit Label: Light

operationId: Meetings_updateRegistrationQuestions

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

Request Body

Meeting Registrant Questions

application/json
schema MeetingsUpdateRegistrationQuestionsRequest
Property Type Required
questions array optional
required boolean optional
field_name string optional
custom_questions array optional
type string optional
title string optional
answers array optional
required boolean optional

Responses

204

HTTP Status Code: 204

Meeting Registrant Questions Updated

400

HTTP Status Code: 400

Bad Request

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

PATCH /meetings/{meetingId}/registrants/questions
PUT /meetings/{meetingId}/registrants/status

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

operationId: Meetings_updateRegistrantStatus

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

occurrence_id query optional string

The meeting or webinar occurrence ID.

Request Body

application/json
schema MeetingsUpdateRegistrantStatusRequest
Property Type Required
action string required
registrants array optional
id string optional
email string optional

Responses

204

HTTP Status Code: 204

Registrant status updated.

400

HTTP Status Code: 400

Bad Request

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.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 1001

User does not exist: {userId}.

PUT /meetings/{meetingId}/registrants/status
DELETE /meetings/{meetingId}/registrants/{registrantId}

Delete a meeting registrant.

Scopes: meeting:write:admin,meeting:write

Rate Limit Label: Light

operationId: Meetings_deleteRegistrant

Parameters

Name In Required Type Description
occurrence_id query optional string

The meeting occurrence ID.

meetingId path required integer

The meeting ID.

registrantId path required string

The meeting registrant ID.

Responses

204

HTTP status code: 204

OK

400

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.

Error Code: 3001

Meeting does not exist: {0}.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

DELETE /meetings/{meetingId}/registrants/{registrantId}
GET /meetings/{meetingId}/registrants/{registrantId}

Retrieve details on a specific user who has registered for the meeting. A host or a user with administrative permissions can require registration for Zoom meetings.

Prerequisites:

  • The account must have a Meeting plan

Scopes: meeting:read:admin,meeting:read

Rate Limit Label: Light

operationId: Meetings_getRegistrantDetails

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

registrantId path required string

The registrant ID.

Responses

200

Success.

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.


Error Code: 3000

Cannot access meeting info.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 1001

Meeting host does not exist: “{userId}”

GET /meetings/{meetingId}/registrants/{registrantId}
POST /meetings/{meetingId}/sip_dialing

Get a meeting’s SIP URI. The URI consists of the meeting ID, (optional, user-supplied) passcode and participant identifier code. The API return data also includes additional fields to indicate whether the API caller has a valid Cloud Room Connector subscription, the participant identifier code from the URI, and the SIP URI validity period (in seconds).

Scopes: meeting:write:sip_dialing,meeting:write:admin:sip_dialing

Rate Limit Label: Medium

operationId: Meetings_getSipUriWithPasscode

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

Request Body

application/json
schema MeetingsGetSipUriWithPasscodeRequest
Property Type Required
passcode string optional

Responses

200

HTTP Status Code: 200

Meeting’s encoded SIP URI returned.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

Invalid meeting ID.

Error Code: 3000

The meeting’s SIP URI does not exist: {meetingId}.

404

HTTP Status Code: 404

Not Found

Error Code: 300

Meeting ID does not exist.

Error Code: 3001

Meeting does not exist: {meetingId}

POST /meetings/{meetingId}/sip_dialing
PUT /meetings/{meetingId}/status

Update the status of a meeting.

Scopes: meeting:write:admin,meeting:write

Rate Limit Label: Light

operationId: Meetings_updateMeetingStatus

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

Request Body

application/json
schema MeetingsUpdateMeetingStatusRequest
Property Type Required
action string optional

Responses

204

HTTP Status Code: 204

Meeting updated.

400

HTTP Status Code: 400

Bad Request

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

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 1001

Meeting host does not exist: {userId}.

PUT /meetings/{meetingId}/status
DELETE /meetings/{meetingId}/survey

Delete a meeting survey.

Prerequisites:

  • The host must be a Pro user type.
  • The Meeting Survey feature enabled in the host’s account.
  • The meeting must be a scheduled meeting. Instant meetings do not have survey features enabled.

Scopes: meeting:write,meeting:write:admin

Rate Limit Label: Light

operationId: Meetings_deleteMeetingSurvey

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

Responses

204

HTTP Status Code: 204

Meeting survey deleted.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

Invalid meeting ID.

Error Code: 3000

  • Cannot access Webinar information.
  • Meeting survey disabled. To enable this feature, enable the “Meeting Survey” setting in the Zoom web portal’s “Settings” interface.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 300

Meeting ID does not exist.

Error Code: 3001

Meeting does not exist: {meetingId}.

DELETE /meetings/{meetingId}/survey
GET /meetings/{meetingId}/survey

Display information about a meeting survey. Prerequisites: * The host has a Pro license. * The Meeting Survey feature is enabled on the host’s account. * The meeting must be a scheduled meeting. Instant meetings do not have survey features enabled.

Scopes: meeting:read,meeting:read:admin

Rate Limit Label: LIGHT

operationId: Meetings_getMeetingSurvey

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, store it as a long-format integer and not a simple integer. Meeting IDs can be more than 10 digits.

Responses

200

HTTP Status Code: 200

Meeting survey object returned.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

Invalid meeting ID.

Error Code: 3000

Cannot access Webinar information.

Error Code: 3000

Meeting survey disabled. To enable this feature, enable the “Meeting Survey” setting in the Zoom web portal’s “Settings” interface.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 300

Meeting ID does not exist.

Error Code: 3001

Meeting does not exist: {meetingId}.

GET /meetings/{meetingId}/survey
PATCH /meetings/{meetingId}/survey

Update a meeting survey. Prerequisites: * The host must be a Pro user type. * The Meeting Survey feature is enabled in the host’s account. * The meeting must be a scheduled meeting. Instant meetings do not have survey features enabled.

Scopes: meeting:write:admin,meeting:write

Rate Limit Label: LIGHT

operationId: Meetings_updateSurvey

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, store it as a long-format integer and not a simple integer. Meeting IDs can be over 10 digits.

Request Body

application/json
schema MeetingsUpdateSurveyRequest
Property Type Required
custom_survey object optional
title string optional
feedback string optional
anonymous boolean optional
questions array optional
name string optional
type string optional
answers array optional
prompts array optional
prompt_question string optional
answer_required boolean optional
rating_max_label string optional
rating_max_value integer optional
rating_min_label string optional
rating_min_value integer optional
show_as_dropdown boolean optional
answer_max_character integer optional
answer_min_character integer optional
numbered_questions boolean optional
show_question_type boolean optional
third_party_survey string optional
show_in_the_browser boolean optional

Responses

204

HTTP Status Code: 204

Meeting survey updated.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

Invalid meeting ID.

Error Code: 300

Invalid third party survey: {third_party_survey}.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

Error Code: 3000

Cannot access Webinar information.

Error Code: 3000

Meeting survey disabled. To enable this feature, enable the “Meeting Survey” setting in the Zoom web portal’s “Settings” interface.

Error Code: 3000

Not allowed host to use a 3rd-party survey link. To use this feature, enable the “Allow host to use a 3rd-party survey link” setting in the “Account Settings” page of the Zoom web portal.

404

HTTP Status Code: 404

Not Found

Error Code: 300

Meeting ID does not exist.

Error Code: 3001

Meeting does not exist: {meetingId}.

PATCH /meetings/{meetingId}/survey
GET /meetings/{meetingId}/token

Get a meeting’s closed caption token (caption URL). This token lets you use a third-party service to stream text to their closed captioning software to the Zoom meeting.

Prerequisites:

  • The Closed captioning setting enabled in the Zoom web portal.
  • The Allow use of caption API Token to integrate with 3rd-party Closed Captioning services setting enabled.

Scopes: meeting:read,meeting:read:admin

Rate Limit Label: Light

operationId: Meetings_getMeetingToken

Parameters

Name In Required Type Description
meetingId path required integer

The meeting’s ID.

When storing this value in your database, you must store it as a long format integer and not an integer. Meeting IDs can exceed 10 digits.

type query optional string

The meeting token type:

  • closed_caption_token — The third-party closed caption API token.

This defaults to closed_caption_token.

Responses

200

HTTP Status Code: 200

Meeting token returned.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

Invalid meeting ID.

Error Code: 3000

  • Cannot access Webinar information.
  • Meeting survey disabled. To enable this feature, enable the “Meeting Survey” setting in the Zoom web portal’s “Settings” interface.

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 300

Meeting ID does not exist.

Error Code: 3001

Meeting does not exist: {meetingId}

GET /meetings/{meetingId}/token
GET /past_meetings/{meetingId}

Get information about a past meeting.

Scopes: meeting:read:admin,meeting:read

Rate Limit Label: Light

operationId: Meetings_getDetails

Parameters

Name In Required Type Description
meetingId path required

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

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

Responses

200

HTTP Status Code: 200

Meeting information returned.

400

HTTP Status Code: 400

Bad Request

Error Code: 1010

  • User does not exist: {userId}
  • User “{userId}” does not exist or does not belong to this account.

Error Code: 300

Cannot access meeting information.

Error Code: 200

Only available for paid account: {accountId}

Error Code: 12702

Can not access a meeting a year ago.

404

HTTP Status Code: 404

Not Found

Error Code: 3001

  • This meeting is not available or the meeting ID is invalid.
  • The meeting ID is invalid or the meeting has not ended.
GET /past_meetings/{meetingId}
GET /past_meetings/{meetingId}/instances

Return a list of past meeting instances.

Scopes: meeting:read:admin,meeting:read

Rate Limit Label: Medium

operationId: Meetings_listPastMeetingInstances

Parameters

Name In Required Type Description
meetingId path required integer

The past meeting’s ID.

Responses

200

HTTP Status Code: 200

List of ended meeting instances returned.

404

HTTP Status Code: 404

Not Found

GET /past_meetings/{meetingId}/instances
GET /past_meetings/{meetingId}/participants

Retrieve information on participants from a past meeting. Note the API doesn’t return results if there’s only one participant in a meeting.

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.

Scopes: meeting:read:admin,meeting:read

Granular Scopes: meeting:read:list_past_participants,meeting:read:list_past_participants:admin

Rate Limit Label: MEDIUM

operationId: Meetings_getPastMeetingParticipants

Parameters

Name In Required Type Description
meetingId path required string

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

  • If you provide a meeting ID, the API will return a response for the latest meeting instance.
  • If you provide a meeting UUID that begins with a / character or contains the // characters, you must double-encode the meeting 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

Meeting participants’ report returned.

400

HTTP Status Code: 400

Bad Request

Error Code: 1010

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



Error Code: 300

Cannot access meeting information.



Error Code: 200

Only available for paid account: {accountId}

Error Code: 12702

Can not access a meeting a year ago.

404

HTTP Status Code: 404

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.

GET /past_meetings/{meetingId}/participants
GET /past_meetings/{meetingId}/polls

Polls allow the meeting host to survey attendees. List poll results of a meeting.

Prerequisites:

  • Host user type must be Pro.
  • Meeting must be a scheduled meeting. Instant meetings do not have polling features enabled.

Scopes: meeting:read:admin,meeting:read

Rate Limit Label: Medium

operationId: Meetings_listPastMeetingPolls

Parameters

Name In Required Type Description
meetingId path required string

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

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

Responses

200

HTTP Status Code: 200 OK

Polls returned successfully.

400

HTTP Status Code: 400

Bad Request

Error Code: 12702

Can not access a meeting a year ago.

GET /past_meetings/{meetingId}/polls
GET /past_meetings/{meetingId}/qa

The question & answer (Q&A) feature for Zoom Meetings lets attendees ask questions during a meeting and lets the other attendees answer those questions.

List Q&A of a specific meeting.

Prerequisites:

Scopes: meeting:read:admin,meeting:read

Rate Limit Label: Medium

operationId: Meetings_listPastMeetingQA

Parameters

Name In Required Type Description
meetingId path required string

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

  • If you provide a meeting ID, the API will return a response for the latest meeting instance.
  • If you provide a meeting UUID that begins with a / character or contains the // characters, you must double-encode the meeting 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

Meeting ID is invalid or not end.

This Meeting id does not belong to you:{meetingId}.

GET /past_meetings/{meetingId}/qa
GET /users/{userId}/meeting_templates

List available meeting templates for a user. For user-level apps, pass the me value instead of the userId parameter.

Scopes: meeting:read,meeting:read:admin

Rate Limit Label: Medium

operationId: Meetings_listMeetingTemplates

Parameters

Name In Required Type Description
userId path required string

The user ID retrievable from the List users API.

Responses

200

HTTP Status Code: 200 OK

400

HTTP Status Code: 400

Bad Request

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

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.

GET /users/{userId}/meeting_templates
POST /users/{userId}/meeting_templates

Create a meeting template from an existing meeting.

Scopes: meeting:write:admin,meeting:write

Rate Limit Label: Medium

operationId: Meetings_createTemplateFromMeeting

Parameters

Name In Required Type Description
userId path required string

The user ID retrievable from the List users API.

Request Body

application/json
schema MeetingsCreateTemplateFromMeetingRequest
Property Type Required
name string optional
overwrite boolean optional
meeting_id integer optional
save_recurrence boolean optional

Responses

201

HTTP Status Code: 201

Meeting template created.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

  • Meeting ID does not exist.
  • Invalid meeting ID.
  • You can only create up to 40 meeting templates.

Error Code: 3000

  • Cannot access webinar information.
  • Meeting template name already exists: {templateName}.

Error Code: 3001

Meeting does not exist: {meetingId}

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

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

List a meeting host user’s scheduled meetings. For user-level apps, pass the me value instead of the userId parameter.

Note

  • This API only supports scheduled meetings. This API does not return information about instant meetings.
  • This API only returns a user’s unexpired meetings.

Scopes: meeting:read,meeting:read:admin

Granular Scopes: meeting:read:list_meetings,meeting:read:list_meetings:admin

Rate Limit Label: MEDIUM

operationId: Meetings_listHostScheduled

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

  • scheduled - All valid previous (unexpired) meetings, live meetings, and upcoming scheduled meetings.
  • live - All the ongoing meetings.
  • upcoming - All upcoming meetings, including live meetings.
  • upcoming_meetings - All upcoming meetings, including live meetings.
  • previous_meetings - All the previous meetings.
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.

page_number query optional integer

The page number of the current page in the returned records.

from query optional string

The start date.

to query optional string

The end date.

timezone query optional string

The timezone to assign to the from and to value. For a list of supported timezones and their formats, see our timezone list.

Responses

200

HTTP Status Code: 200

List of meeting objects returned.

400

HTTP Status Code: 400

Bad Request

Error Code: 3161

Meeting hosting and scheduling capabilities are not allowed for your user account.

404

HTTP Status Code: 404

Not Found

Error Code: 1001

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

GET /users/{userId}/meetings
POST /users/{userId}/meetings

Create a meeting for a user. For user-level apps, pass the me value instead of the userId parameter.

  • A meeting’s start_url value is the URL a host or an alternative host can use to start a meeting. The expiration time for the start_url value is two hours for all regular users.
  • For custCreate meeting hosts (users created with the custCreate parameter via the Create users API), the expiration time of the start_url parameter is 90 days from the generation of the start_url.

Note:

For security reasons, the recommended way to programmatically get the updated start_url value after expiry is to call the Get a meeting API. Refer to the start_url value in the response.

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

Scopes: meeting:write,meeting:write:admin

Granular Scopes: meeting:write:meeting,meeting:write:meeting:admin

Rate Limit Label: MEDIUM

operationId: Meetings_createMeeting

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.

Request Body

Meeting object.

application/json
schema MeetingsCreateMeetingRequest
Property Type Required
type integer optional
topic string optional
agenda string optional
duration integer optional
password string optional
settings object optional
audio string optional
use_pmi boolean optional
jbh_time integer optional
resources array optional
resource_id string optional
resource_type string optional
permission_level string optional
watermark boolean optional
cn_meeting boolean optional
focus_mode boolean optional
host_video boolean optional
in_meeting boolean optional
contact_name string optional
waiting_room boolean optional
approval_type integer optional
breakout_room object optional
rooms array optional
name string optional
participants array optional
enable boolean optional
calendar_type integer optional
contact_email string optional
auto_recording string optional
encryption_type string optional
mute_upon_entry boolean optional
private_meeting boolean optional
internal_meeting boolean optional
…29 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
template_id string optional
pre_schedule boolean optional
schedule_for string optional
tracking_fields array optional
field string required
value string optional
default_password boolean optional

Responses

201

HTTP Status Code: 201

Meeting created.

400

HTTP Status Code: 400

Bad Request

Error Code: 3161

Your user account is not allowed meeting hosting and scheduling capabilities.

Error Code: 3000

Instant meetings do not support the schedule_for parameter, and you can’t schedule an instant meeting for another user.

Error Code: 3000

Users in ‘{userId}’ have been blocked from joining meetings and webinars. To unblock them, go to the Settings page in the Zoom web portal and update Block users in specific domains from joining meetings and webinars.

Error Code: 3000

You cannot schedule a meeting for {userId}

Error Code: 300

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

Error Code: 300

Invalid enforce_login_domains. Separate multiple domains with semicolons.

404

HTTP Status Code: 404

Not Found

Error Code: 1001

User does not exist: {userId}.

429

HTTP Status Code: 429

Too Many Requests

POST /users/{userId}/meetings
GET /users/{userId}/upcoming_meetings

List a Zoom user’s upcoming meetings. For user-level apps, pass the me value instead of the userId parameter.

Note

  • This API includes the meetings that Zoom users schedule and the meetings they are invited to join.
  • This API only includes upcoming meetings within the next 24 hours.

Scopes: meeting:read,meeting:read:admin

Granular Scopes: meeting:read:list_upcoming_meetings,meeting:read:list_upcoming_meetings:admin

Rate Limit Label: MEDIUM

operationId: Meetings_listUpcomingMeetings

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.

Responses

200

HTTP Status Code: 200 List of upcoming meeting objects returned.

GET /users/{userId}/upcoming_meetings

Pac 1 endpoints

GET /users/{userId}/pac

Retrieve a list of a user’s personal audio conference (PAC) accounts. For user-level apps, pass the me value instead of the userId parameter.

PAC allows Pro or higher account holders to host meetings through PSTN (phone dial-in) only.

Prerequisites

Scopes: pac:read:admin,pac:read

Rate Limit Label: Light

operationId: Pac_listAccounts

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.

Responses

200

HTTP Status Code: 200

PAC account list returned.

400

HTTP Status Code: 400

Bad Request

Error Code: 2024

User does not have PAC enabled.

404

HTTP Status Code: 404

Not Found

Error Code: 1001

User does not exist: $userId

GET /users/{userId}/pac

Reports 18 endpoints

GET /report/activities

Retrieve a list of sign in / sign out activity logs report of users under a Zoom account.

Prerequisites

  • Pro or higher plan.

Scopes: report:read:admin

Granular Scopes: report:read:user_activities:admin

Rate Limit Label: Heavy

operationId: Reports_listSignInSignOutActivities

Parameters

Name In Required Type Description
from query optional string

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.

to query optional string

End date up to which you would like to view the activity logs report.

page_size query optional integer

The number of records to be returned within a single API call

next_page_token query optional string

Next page token is used to paginate through large result sets

Responses

200

HTTP Status Code: 200

Success

400

HTTP Status Code: 400

Bad Request

Error Code: 200

No permission.

GET /report/activities
GET /report/billing

Get department billing reports of a Zoom account.

Prerequisites:

  • Pro or a higher account with Department Billing option enabled. Contact Zoom Support team for details.

Scopes: report:read:admin

Granular Scopes: report:read:billing:admin

Rate Limit Label: Heavy

operationId: Reports_getBillingDepartmentReports

Responses

200

HTTP Status Code: 200 OK

Billing report returned.

400

HTTP Status Code: 400

Bad Request

Error Code: 200

No permission.

GET /report/billing
GET /report/billing/invoices

Get department billing invoices reports for a specific billing period. Provide the billing_id of the billing period for which you would like to retrieve the invoices for. This ID can be retrieved from Get Billing Reports API.

Prerequisites:

  • Pro or a higher account with Department Billing option enabled. Contact the Zoom Support team to enable this feature.

Scopes: report:read:admin

Granular Scopes: report:read:billing_invoice:admin

Rate Limit Label: Heavy

operationId: Reports_getBillingInvoices

Parameters

Name In Required Type Description
billing_id query required string

Unique Identifier of the Billing Report. Retrieve this ID from the response of Get Billing Reports API request.

Responses

200

HTTP Status Code: 200 OK

Billing Invoice reports returned.

404

HTTP Status Code: 404

Not Found

Error Code: 5010

Report does not exist.

GET /report/billing/invoices
GET /report/cloud_recording

Retrieve cloud recording usage report for a specified period. You can only get cloud recording reports that is one day earlier 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: Heavy

operationId: Reports_getCloudRecordingUsageReport

Parameters

Name In Required Type Description
from query required string

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.

to query required string

End date.

group_id query optional string

The group ID. To get a group ID, use the List groups API.

Note: The API response will only contain users who are members of the queried group ID.

Responses

200

HTTP Status Code: 200

Cloud Recording Report Returned

400

HTTP Status Code: 400

Bad Request

Error Code: 200

No permission.

GET /report/cloud_recording
GET /report/daily

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

operationId: Reports_getDailyUsageReport

Parameters

Name In Required Type Description
year query optional integer

Year for this report

month query optional integer

Month for this report

group_id query optional string

The group ID. To get a group ID, use the List groups API.

Note: The API response will only contain users who are members of the queried group ID.

Responses

200

HTTP Status Code: 200

Daily report retrieved.

This is only available for paid accounts:{accountId}.

400

HTTP Status Code: 400

Bad Request

Error Code: 300

Daily report can only be provided for a month that falls within the recent 6 months.

Error Code: 200

No permission.

GET /report/daily
GET /report/meetings/{meetingId}

Get a detailed report for a past meeting.

Prerequisites:

  • Pro or a higher plan.

Scopes: report:read:admin

Granular Scopes: report:read:meeting:admin

Rate Limit Label: Heavy

operationId: Reports_getMeetingDetailReports

Parameters

Name In Required Type Description
meetingId path required

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

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

Responses

200

HTTP Status Code: 200

Meeting details returned.

This is only available for paid account.

400

HTTP Status Code: 400

Bad Request

Error Code: 12702

Can not access meeting a year ago.

Error Code: 200

No permission.

404

HTTP Status Code: 404

Not Found

Error Code: 3001

Meeting {meetingId} not found or has expired.

GET /report/meetings/{meetingId}
GET /report/meetings/{meetingId}/participants

Return a report of a past meeting with two or more participants, including the host. To return a report for past meeting with only one participant, use the List meeting participants API.

Note:

This API may return empty values for participants’ user_name, ip_address, location, and email responses when the account calling this API:

Prerequisites:

  • A Pro or a higher plan.

Scopes: report:read:admin

Granular Scopes: report:read:list_meeting_participants:admin

Rate Limit Label: Heavy

operationId: Reports_getMeetingParticipantReports

Parameters

Name In Required Type Description
meetingId path required string

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

  • If you provide a meeting ID, the API will return a response for the latest meeting instance.
  • If you provide a meeting UUID that begins with a / character or contains the // characters, you must double-encode the meeting 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.

include_fields query optional string

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.

Responses

200

HTTP Status Code: 200

Meeting participants report returned.

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 meeting a year ago.


Error Code: 200

No permission.

404

HTTP Status Code: 404

Not Found

Error Code: 3001

Meeting {MeetingId} not found or has expired.

GET /report/meetings/{meetingId}/participants
GET /report/meetings/{meetingId}/polls

Use this API to get a report of poll results for a past meeting.

Prerequisites:

  • A Pro or a higher plan.

Scopes: report:read:admin

Granular Scopes: report:read:list_meeting_polls:admin

Rate Limit Label: Heavy

operationId: Reports_getMeetingPollReports

Parameters

Name In Required Type Description
meetingId path required

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

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

Responses

200

HTTP Status Code: 200

  • Meeting polls report returned.
  • This is only available for paid account: {accountId}
400

HTTP Status Code: 400

Bad Request

Error Code: 12702

Can not access meeting a year ago.

Error Code: 200

No permission.

404

HTTP Status Code: 404

Not Found

Error Code: 3001

Meeting “{meetingId}” not found or has expired.

GET /report/meetings/{meetingId}/polls
GET /report/meetings/{meetingId}/qa

Retrieve a report on questions asked and answered by participants from past meetings.

Prerequisites:

  • Pro plan or higher.

Scopes: report:read:admin

Granular Scopes: report:read:meeting_qna:admin

Rate Limit Label: HEAVY

operationId: Reports_getMeetingQaReport

Parameters

Name In Required Type Description
meetingId path required string

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

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

Responses

200

HTTP Status Code: 200

Meeting Q&A report returned.

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

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

Meeting {meetingId} not found or has expired.

GET /report/meetings/{meetingId}/qa
GET /report/meetings/{meetingId}/survey

Retrieve a report on past meeting survey.

Prerequisites:

  • Pro or a higher plan.

Scopes: report:read:admin

Granular Scopes: report:read:meeting_survey:admin

Rate Limit Label: HEAVY

operationId: Reports_getMeetingSurveyReport

Parameters

Name In Required Type Description
meetingId path required string

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

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

Responses

200

HTTP Status Code: 200

Meeting survey report returned.

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/meetings/{meetingId}/survey
GET /report/operationlogs

The Operations 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.

Prerequisites:

  • Pro or higher plan.

Scopes: report:read:admin

Granular Scopes: report:read:operation_logs:admin

Rate Limit Label: Heavy

operationId: Reports_getOperationLogsReport

Parameters

Name In Required Type Description
from query required string

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.

to query required string

End date.

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.

category_type query optional string

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

Responses

200

HTTP Status Code: 200

Operation Logs Report Returned

400

HTTP Status Code: 400

Bad Request

Error Code: 200

No permission.

GET /report/operationlogs
GET /report/telephone

The telephone report 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.

Prerequisites:

  • Pro or higher plan.

Scopes: report:read:admin

Granular Scopes: report:read:telephone:admin

Rate Limit Label: Heavy

operationId: Reports_getTelephoneReports

Parameters

Name In Required Type Description
type query optional string

Audio types:
1 - Toll-free Call-in & Call-out.
2 - Toll

3 - SIP Connected Audio

query_date_type query optional string

The type of date to query.

  • start_time — Query by call start time.
  • end_time — Query by call end time.
  • meeting_start_time — Query by meeting start time.
  • meeting_end_time — Query by meeting end time.

This value defaults to start_time.

from query required string

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.

to query required string

End date.

page_size query optional integer

The number of records returned within a single API call.

page_number query optional integer

The page number of the current page in the returned records. This field is not available if the query_date_type parameter is the meeting_start_time or meeting_end_time value.

This field is deprecated. Use the next_page_token query parameter for pagination.

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

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.

GET /report/telephone
GET /report/upcoming_events

Use this API to list upcoming meeting and/or webinar events within a specified period of time. The report’s time range is limited to one month.

Prerequisites:

  • A Pro or higher plan

Scopes: report:read:admin

Granular Scopes: report:read:upcoming_meetings_webinars:admin

Rate Limit Label: Heavy

operationId: Reports_listUpcomingEventsReport

Parameters

Name In Required Type Description
from query required string

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.

to query required string

End date.

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.

type query optional string

The type of event to query.

  • meeting — A meeting event.
  • webinar — A webinar event.
  • all — Both meeting and webinar events.

This value defaults to all.

group_id query optional string

The group ID. To get a group ID, use the List groups API.

Note: The API response will only contain meetings where the host is a member of the queried group ID.

Responses

200

HTTP Status Code: 200

Upcoming events report returned.

400

HTTP Status Code: 400

Bad Request

Error Code: 200

This is only available for the paid account: {accountId}

Error Code: 300

The next page token is invalid or expired.

Error Code: 200

No permission.

GET /report/upcoming_events
GET /report/users

Retrieve a host report for a specified period of time within the last six months.
The report time range is limited to a month.

You can specify the type of report and date range using the query parameters.

  • The Active Hosts report displays a list of meetings, participants, and meeting minutes.
    An active host is defined as any user who has hosted at least one meeting during the during the month specified in the from and to range.

  • The Inactive Hosts report pulls a list of users who were not active during a specific period of time.
    An inactive host is defined as any user who has not hosted any meetings during the specified period of time for the report. to be inactive.

Prerequisites:

  • Pro or higher plan.

Scopes: report:read:admin

Granular Scopes: report:read:list_users:admin

Rate Limit Label: HEAVY

operationId: Reports_getActiveInactiveHostReports

Parameters

Name In Required Type Description
type query optional string

Active or inactive hosts.
active - Active hosts.
inactive - Inactive hosts.

from query required string

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.

to query required string

End date.

page_size query optional integer

The number of records returned within a single API call.

page_number query optional integer

The page number of the current page in the returned records.

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.

group_id query optional string

The group ID. To get a group ID, use the List groups API.

Note: The API response will only contain users who are members of the queried group ID.

Responses

200

HTTP Status Code: 200

Active or inactive hosts report returned.

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

400

HTTP Status Code: 400

Bad Request

Error Code: 200

No permission.


GET /report/users
GET /report/users/{userId}/meetings

Retrieve report on past meetings and webinars for a specified time period. The time range for the report is limited to a month and the month must fall within the past six months.

Meetings and webinars are returned only if they have two or more unique participants.

Prerequisites:

  • Pro or higher plan.

Scopes: report:read:admin

Granular Scopes: report:read:user:admin

Rate Limit Label: Heavy

operationId: Reports_getMeetingReports

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.

from query required string

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.

to query required string

End date.

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.

type query optional string

The meeting type to query for:

  • past — All past meetings.
  • pastOne — A single past user meeting.
  • pastJoined — All past meetings the account’s users hosted or joined.

Responses

200

HTTP Status Code: 200

Active or inactive hosts report returned.

400

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.

Error Code: 200

No permission.

404

HTTP Status Code: 404

Not Found

Error Code: 1001

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

GET /report/users/{userId}/meetings
GET /report/webinars/{webinarId}

Retrieve a report containing past webinar details.

Prerequisites:

  • Pro or higher plan with Webinar add-on.

Scopes: report:read:admin

Granular Scopes: report:read:webinar:admin

Rate Limit Label: Heavy

operationId: Reports_getWebinarDetailsReport

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 details returned.

This is only available for paid 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

Meeting {meetingId} not found or has expired.

GET /report/webinars/{webinarId}
GET /report/webinars/{webinarId}/participants

Get a detailed report on each webinar attendee. You can get webinar participant reports for the last 6 months.

Prerequisites:

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

Scopes: report:read:admin

Granular Scopes: report:read:list_webinar_participants:admin

Rate Limit Label: Heavy

operationId: Reports_webinarParticipantsList

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

include_fields query optional string

The additional query parameters to include.

  • registrant_id - Include the registrant’s ID in the API response. The registrant ID is the webinar participant’s unique ID.

Responses

200

HTTP Status Code: 200

  • Meeting participants report returned.

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}/participants
GET /report/webinars/{webinarId}/polls

Retrieve a report on past webinar polls.

Prerequisites:

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

Scopes: report:read:admin

Granular Scopes: report:read:list_webinar_polls:admin

Rate Limit Label: Heavy

operationId: Reports_getWebinarPollReports

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 polls 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}/polls
Load more endpoints